我在我的页面对象中执行此操作:
try{
I.selectOption(this.SELECT, this.OPTION);
}
catch(error){
I.say('Option missing, but thats sometimes expected ' + error);
}
但是当定位器与选项元素不匹配时,它仍然无法通过测试。
我想抓住并继续测试,而不会失败。
更新:
看起来它取决于try块中的内容。
如果我在那里放置一个断言,比如I.see('something');
那么就不会跳过catch块。但是try块中的非断言,如I.selectOption('something')
会抛出未被catch捕获的错误。
答案 0 :(得分:0)
应该在promise链上执行try-catch。我想你可以这样做:
I.selectOption(this.SELECT, this.OPTION).catch(() => I.say(''));
答案 1 :(得分:0)
I.selectOption(this.SELECT, this.OPTION)
.then(() => I.say('try block'))
.catch(() => I.say('catch block'));