如何在nightwatch-cucumber中保持浏览器开启以进行测试调试?
如何用nightwatch-cucumber在单个测试用例完成后保持浏览器开启?
当然可以搞定!nightwatch-cucumber有几种实用的方式帮你实现这个需求,让你在表单填完后留着浏览器好好调试。下面是两种最常用的方法:
方法一:临时命令行参数(推荐单个测试用例场景)
如果你只是想针对某一次单个测试用例的运行保留浏览器,直接在启动命令里加--persist-session参数就行,同时指定你要跑的那个.feature文件路径:
nightwatch-cucumber --persist-session path/to/your/target-test.feature
这个参数会临时覆盖配置文件里的默认设置,只对当前这次测试生效,调试完去掉参数就回到正常自动关浏览器的状态,非常灵活。
方法二:修改配置文件(全局生效)
要是你希望所有测试都默认保留浏览器(不过一般调试单个用例不推荐这个),可以改nightwatch.conf.js(或.json配置文件)里的测试环境配置:
module.exports = { test_settings: { default: { persist_session: true, // 强制保持会话不关闭 end_session_on_fail: false, // 就算测试失败也不结束会话 skip_testcases_on_fail: false, // 其他原有配置... } } };
注意哦,改了这个之后所有测试都会留着浏览器,记得调试完改回去!
额外调试小技巧
如果想在表单填写完成的特定步骤后暂停浏览器,不用等整个用例跑完,还能在Cucumber的步骤定义里加个无限暂停:
Then(/^暂停浏览器以便调试$/, function () { return browser.pause(0); // 传0就会一直暂停,直到你手动在终端按回车继续 });
把这个步骤加到你的.feature文件里表单填写完成的后面,就能精准卡在你需要调试的节点上啦。
内容的提问来源于stack exchange,提问作者otw
相关产品推荐
相关产品推荐

