我有一个测试,通过一个过程来到达实际测试的部分。我们遇到其中一个设置步骤/状态可能不正确执行测试的情况。在那种情况下,我想跳过当前的测试,但不会失败。即我的报价清单是空的,所以我无法点击报价继续“订购报价”流程。
我不想让测试失败,但我确实需要注意此测试目前无法完成。
请注意,这与将模块标记为@disabled或使用''技巧跳过单个测试不同。这是开始测试,确定无法在当前状态下测试的情况,并使用Skipped标志而不是pass / fail退出当前测试。
(问题源于页面的状态来自第三方数据,这些数据无法轻易模拟。报价必须存在并且可以通过升级ERP进行E2E测试......)
答案 0 :(得分:1)
您可以将相关测试用例放在同一测试文件中,并在夜班配置文件中使用skip_testcases_on_fail: true
在这种情况下,您将首先检查引号列表的测试,然后是其余的。
module.exports = {
'checkQuoteList case': function(browser) {
......
},
'clickQuote case': function(browser) {
........
}
};
答案 1 :(得分:0)
我找到了一种方法来解决这个问题,但我认为Statos Ion的答案可能是更好的方法。
我的代码解决方案是:
browser.element("css selector", mypage.elements.norecords.selector, function (res) {
if (res.status != 1) {
console.log("No quotes found. Testing skipped.")
}
else {
// ... proceed with the test ...
}
})
如果列表中没有引号,我会显示“.norecords”类。
这确实可以处理跳过实际测试的迫切需要,但现在我必须监视输出以查看消息,而不是查找“跳过”通知。就报告而言,这是一次成功的测试。所以仍然不是100%。我想这就是Statos Ion的方法胜出的地方。