如何在失败的断言关闭浏览器窗口时停止codeception / selenium?

时间:2015-11-30 22:00:53

标签: selenium codeception

我正在使用selenium运行codeception 2。我可以看到selenium打开浏览器并运行测试。然后我从代码中得到错误断言失败。

我知道有一个保存的HTML文件,但是有很多JS,所以我无法真正分析它。我需要firefox窗口保持打开状态,这样我才能看到输出并找出问题所在。

我该怎么做?我已经使用-browserSessionReuse

运行selenium了

如果它有所不同,它发生在$ I-> haveFriend(); $ friend-> does()声明。

2 个答案:

答案 0 :(得分:1)

没有直接的解决方案如何做到这一点,但可以使用一些技巧:

  1. 使用交互式控制台,按照场景中的相同步骤,使用失败的断言 - selenium保持打开状态,以便您可以调试和评估发生的情况。
  2. 等待使用技巧。在cest文件中添加" __失败"地方"等待(300)" (5分钟)。比测试启动时,您的浏览器将保持打开状态5分钟

答案 1 :(得分:1)

如果您正在运行Cest样式测试,请尝试

public function _failed(AcceptanceTester $I)
{
     $I->pauseExecution();
}

这将使浏览器窗口保持打开状态,直到您在出现故障时按Enter键。

或者,您可以在测试失败时截取屏幕截图。

public function _failed(AcceptanceTester $I)
    {
        $I->makeScreenshot('test_failed_screenshot' . time());
    }

这将在测试失败时保存屏幕截图>输出>调试。我的cests里面有几个测试,所以我使用time()来对失败的截图名称进行修改,以确保每个失败的测试都有截图。