Fan*_*nch 6 xunit jenkins casperjs
好吧,我想知道如何在jenkins中找回测试失败的信息.
这里是我的文件夹(fr)的结果(显示22分钟,但并行显示为3分钟):

这里测试的描述失败-jenkins-:

这里测试的描述失败-casper-:

所以我的问题是jenkins显示只有测试的消息失败了,我想有线和代码也有用的信息(实际上有控制台输出但是不方便 - >我改变了我的我的,它是,请参阅与Jenkins的xUnit:如何在Build Console Output中显示颜色?,但我仍然需要'Pile d'exécution'/执行堆栈中的信息.
我找到了解决方案,只需更改消息......:
casper.test.on("fail", function(failure) {
failure.message = "Message : " + failure.message + "\nLine : "+ failure.line + "\nCode : " + failure.lineContents;
});
Run Code Online (Sandbox Code Playgroud)
错误恢复堆栈(带有test.begin)也会被修改.但是我并不关心詹金斯,所以我们可以使用类似的条件if casper.cli.get('xunit') { casper.test.on('fail'){...} ;}.
所以 :
实际上相当简单......我应该有更好的搜索.
对于Artjom:
事实上,对于错误,它非常冗长所以我认为没有变化,请参阅:

但你仍然可以用同样的方式自定义它,它可能是这样的:
casper.test.on("fail", function(failure) {
//if error type undefined function
if(failure.message.message){//or failure.message.stack.TypeError
failure.message.message = "Message : " + failure.message.message + "\nLine : "+ failure.message.line;//in jenkins -> title
}
//else assert error
else{failure.message = "Message : " + failure.message + "\nLine : "+ failure.line + "\nCode : " + failure.lineContents;}
//console.log(JSON.stringify(failure,4,'\t')); //see parameters you can modify in the failure object
});
Run Code Online (Sandbox Code Playgroud)
此失败事件中没有错误事件,但存在不同的对象属性(与错误类型相比).所以你可以按照你想要的方式操纵它们.但我个人感兴趣的是消息,代码和行(默认情况下jenkins用未定义的错误管理它们).
现在我正在开发一种显示截图路径的方法,有类似的东西:
Message : No notice on the page
Line : 83
Code : this.test.assertTextDoesntExists('Notice', 'No notice on the page');
Screenshot : http://-jenkins-/job/-myJob-//lastFailedBuild/artifact/screenshots/fail0.png/
Run Code Online (Sandbox Code Playgroud)
好吧,我做到了: https ://github.com/n1k0/casperjs/pull/920
目的是点击jenkins中的链接并直接使用浏览器显示屏幕:)
| 归档时间: |
|
| 查看次数: |
1837 次 |
| 最近记录: |