一尘不染

当Nightwatch测试断言在Browserstack中失败时,Jenkins作业失败

jenkins

我有一个Jenkins作业,它通过Nightwatch.js框架在Browserstack上运行Selenium测试。我们有一套完整的测试程序,可以让守夜人在不同的进程中运行,并且我们需要一种在所有测试运行后将通过/失败值返回给Jenkins的方法。

我一直在尝试使用Nightwatch挂钩teardown在每个模块的末尾运行一段代码if(this.results.failed) { take action },但是我无法弄清楚需要采取什么措施才能使Jenkins作业可以访问该故障。

我最初的想法是创建一个环境变量,并在测试失败时将其设置为false,但是我认为每个进程都在单独的子shell中运行,因此无法访问由测试模块创建/修改的变量。

我的第二个想法是在globals模块中创建一个计数器,但是该值在被global after方法引用时不会按预期增加。


阅读 315

收藏
2020-07-25

共1个答案

一尘不染

如果控制台输出包含字符串“ TEST FAILURE”,我可以使用Jenkins Log
Parser插件
解决此问题,从而使测试失败。

这是通过创建一个包含一行的规则文件来完成的:

error /TEST FAILURE/

2020-07-25