Nightwatch测试失败自动跳过后续用例,对应配置参数无效如何解决?
解决方法
修正配置项层级错误
你当前把end_session_on_fail: false放在了test_settings根层级,该参数属于具体测试环境的配置项,需要放到default环境块内才能生效,同时Nightwatch 2.x+版本需要额外补充stop_on_fail: false参数控制测试套件不因为单条失败终止。补充Nightwatch VRT专属配置
nightwatch-vrt插件自身会接管断言失败的逻辑,需要在visual_regression_settings中添加abortOnAssertionFailure: false,禁用插件自行终止测试的行为。
修正后的完整配置如下:
test_settings: { default: { end_session_on_fail : false, skip_testcases_on_fail: false, stop_on_fail: false, // Nightwatch 2.x+ 必须加的参数 globals: { visual_regression_settings: { generate_screenshot_path: generateScreenshotFilePath, latest_screenshots_path: "screenshots/VRT/latest", latest_suffix: "", baseline_screenshots_path: "screenshots/VRT/baseline", baseline_suffix: "", diff_screenshots_path: "screenshots/VRT/diff", diff_suffix: "", threshold: 0, prompt: false, always_save_diff_screenshot: false, abortOnAssertionFailure: false // VRT专属配置,禁用失败后终止 } }, } }
- 检查测试代码覆盖
如果修改配置后仍然不生效,检查你的测试用例代码中是否单独设置了this.abortOnFailure = true,该配置优先级高于配置文件,会覆盖全局设置。
内容的提问来源于stack exchange,提问作者Nouha
相关产品推荐
相关产品推荐

