2016-11-25 93 views
0

P.S .:不,我不想调试我的脚本。这非常棒。如何暂停watir黄瓜脚本执行中,然后恢复它?

问题是被测试的应用程序。如果我下了几个命令,它会崩溃。所以我想要做的是:执行中,当我看到应用程序崩溃时,我想暂停测试脚本,使应用程序备份并运行,然后重新开始测试。

我知道这不是我应该运行测试脚本的时间点,因为应用程序不够稳定,但开发人员正在努力,希望很快,他们会解决它。我只是想知道是否有解决方案,因为我找不到一个解决方案。当然,当我的测试崩溃时,我可以将应用程序重新整合起来,但这不是我想要做的。

我的系统:

操作系统:Linux Mint的

测试:的Watir(红宝石)+黄瓜在Chrome

我运行使用黄瓜标签linux的终端上测试。

我只想知道一般情况下是否有任何方法暂停和恢复执行。例如,当我想停止所有的测试时,我给命令行中断Ctrl + C。那么有没有这样的中断命令来暂停和恢复?

+1

如何“看到”应用程序崩溃?网页上是否存在可用作“崩溃标识符”的元素? –

+0

还有一个后续问题:碰撞发生在订购过程中的随机位置,还是始终在同一行动之后发生? –

+0

您的应用程序是否具有会话ID和身份验证?如果是,那么重启应用程序中间测试后,现有测试会话将不会继续。正如您所提到的,应用程序重启必须通过重新验证集成到测试中才能无缝执行。 如果没有会话问题,您可以使用识别崩溃(text/element/etc)的任何标识识别应用程序已经崩溃,暂停测试一段时间,同时重新启动应用程序。 – Sid

回答

1

好吧,既然你想要一个“一般”的回答,在这里不用...

根据你的情况下,你正在寻找在你的项目中的“死机”状态。

我自己的方法来解决这个问题将涉及编写一个帮助方法,寻找这种情况,如果真的,它会“暂停”。例如...

def pause_if_crashed sleep 30 if @browser.product_price.nil? end

然后,我会在我的其他功能可能的方法“崩溃”点洒这个辅助方法。

没有关于您的需求的更多细节,我认为这对我有帮助。

+0

感谢@AbeHeward的回复,我想我可以完成这项工作。 – Freya