我在我的应用程序上运行了Protractor测试,大约有6个E2E测试。如果在这些期间发生任何错误,它们将显示在终端中。例如 - (1)预期' abc'被定义为' def'或(2)元素#id123在点15,10不可点击。
有没有办法以XML格式或系统中的任何其他形式捕获这些错误,而不是仅仅将它们显示在终端上。也许使用一些插件或什么?任何帮助都将得到彻底的赞赏。
答案 0 :(得分:3)
是的,有办法存储这些错误。您可以使用许多可用的记者之一。例如,如果要存储XML文件,可以使用jasmine-reporters
:https://github.com/larrymyers/jasmine-reporters。
或者如果您更喜欢html,那么您可以使用https://www.npmjs.com/package/protractor-html-reporter。有很多不同的记者,你只需要谷歌。
在设置记者时,您必须在配置文件中指定它。
onPrepare: function() {
var junitReporter = new jasmineReporters.JUnitXmlReporter({
savePath: '..',
consolidateAll: false
});
jasmine.getEnv().addReporter(junitReporter);
}
如果您使用的是node.js
,那么您必须导入实际的记者:
var jasmineReporters = require('jasmine-reporters');
我建议您在此处详细了解:https://github.com/larrymyers/jasmine-reporters
答案 1 :(得分:0)
如果您希望输出采用格式良好的文本方式,则有jasmine-spec-reporter
。你可以找到它here。我在我的量角器测试中使用它。
要在量角器测试中使用它,您需要将其添加到配置文件中。
let SpecReporter = require('jasmine-spec-reporter').SpecReporter;
exports.config={
//your configuration here
onPrepare:function(){
jasmine.getEnv().addReporter(new SpecReporter({
spec:{
displayStacktrace:true
},
summary:{
displayDuration:false
}
}));
};
要在文本文件中输出此输出,我只需在我的量角器测试中添加一个文本文件,如
protractor myconf.js >text_file.txt
它给了我一个格式化的输出。您还可以在我的存储库here中找到演示示例。