如何阻止codeception/selenium关闭失败断言的浏览器窗口?
我正在用selenium运行codeception 2。我可以看到selenium打开浏览器并运行测试。然后我从codeception得到一个错误,即存在一个失败的断言 我知道保存了一个HTML文件,但是有很多JS,所以我不能真正分析它。我需要firefox窗口保持打开状态,以便查看输出并找出问题所在 我该怎么做?我已经在使用-browserSessionReuse运行selenium了如何阻止codeception/selenium关闭失败断言的浏览器窗口?,selenium,codeception,Selenium,Codeception,我正在用selenium运行codeception 2。我可以看到selenium打开浏览器并运行测试。然后我从codeception得到一个错误,即存在一个失败的断言 我知道保存了一个HTML文件,但是有很多JS,所以我不能真正分析它。我需要firefox窗口保持打开状态,以便查看输出并找出问题所在 我该怎么做?我已经在使用-browserSessionReuse运行selenium了 如果它起作用,那么它发生在$I->haveFriend()中$friend->does()语句。没有直接的解
如果它起作用,那么它发生在$I->haveFriend()中$friend->does()语句。没有直接的解决方案,但可以使用一些技巧:
如果您正在运行Cest样式的测试,请尝试
public function _failed(AcceptanceTester $I)
{
$I->pauseExecution();
}
这将保持浏览器窗口打开,直到出现故障时按enter键
或者,您可以在测试失败时截图
public function _failed(AcceptanceTester $I)
{
$I->makeScreenshot('test_failed_screenshot' . time());
}
这将在测试>输出>调试中保存故障点的屏幕截图。我的CEST中有几个测试,因此我使用time()对失败的屏幕截图名称进行更改,以确保每个失败的测试都有一个屏幕截图。我发现$I->pauseExection()不起作用(它不会暂停/等待Enter)。从文档中可以看出,如果系统处于调试模式,它将暂停-如何将其置于调试模式?您是否尝试过使用调试标志运行测试?codecept run--debug{testname}尝试将
restart:false
添加到.yml文件中。