如何在量角器中调试失败的测试步骤?
以下是我的测试用例。
it('Testcase-TC_BY_09 , Case 2: User Selects NO option', function() {
//Execution Steps
Login();//Calling Login Function
//options Click
//book_typeValidation();
book_type.click();
expect(Nextbtn.isEnabled()).toBe(true);
Nextbtn.click();`enter code here`
//True_pages _Validation();
True_pagesoption.click();
expect(Nextbtn.isEnabled()).toBe(true);
Nextbtn.click();
expect(Nextbtn.isEnabled()).toBe(true);
Nextbtn.click();
expect(Nextbtn.isEnabled()).toBe(true);
Nextbtn.click();
Poles_Nooption.click();
expect(Nextbtn.isEnabled()).toBe(true);
Nextbtn.click();
});
让我们说这个测试用例有10个测试步骤。当我们执行这个测试用例时,如果第5步失败了怎么在量角器中找到失败的步骤?
现在它是如何工作的,它会在控制台中显示测试用例失败。但是它没有显示它失败了哪些步骤?
请提出建议,找出量角器失败的步骤。
提前致谢。
答案 0 :(得分:0)
首先,您希望您的e2e测试为您提供有关失败的有意义的明确信息,失败的哪一行,哪一步,可能导致它的原因等等 - 最大限度地缩短理解和研究原因的时间失败。并且,查看您编写的每个测试失败也很重要,这样您就可以以合理“清晰”的方式观察它是否失败。
将测试用例组织成多个步骤,每个步骤在单独的函数中定义:
it('Testcase-TC_BY_09 , Case 2: User Selects NO option', function() {
Login();
selectBookType();
next();
selectPagesOption();
next();
next();
next();
selectPolesNoOption();
next();
});
并且,您可以使用jasmine内置机制提供有意义的错误消息:
expect(Nextbtn.isEnabled()).toBe(true, "Next is disabled after clicking option");
我还建议使用protractor-jasmine2-screenshot-reporter
jasmine记者,它会在测试运行期间或测试失败时为您提供浏览器窗口的屏幕截图。
此外,BrowserStack
和Sauce Labs
等服务为您提供了测试运行的可视化日志和视频会话,我个人认为这在测试中非常有用。
至于调试,有一个描述您的选项的相关文档页面:
答案 1 :(得分:0)
您可以安装茉莉花记者
npm install -g jasmine-reporters
在conf文件中添加:
exports.config = {
onPrepare: function(){ //configure junit xml report
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
filePrefix: 'guitest-xmloutput',
savePath: '.'
}));
},
};
这将在命令行上打印原因