我已经创建了一个函数,其中我故意传递错误的定位器,以便我想捕获错误..下面是代码..
SafeClick:function(locator){
try {
_elementIdentify = locator.isDisplayed().then(function(){
console.info('Element Displayed');
locator.click();
}, function(err) {
console.error('Error Finding the Element', +err );
});
} catch(err) {
console.info('Error occured');
}
}
但是使用上面的代码,不会打印catch块中的语句。
答案 0 :(得分:1)
很可能你试图从回调中捕获错误。你不能这样做。回调函数中的东西在不同的上下文中执行,所以你永远不会从当时的回调中捕获那个,即使你扔到那里。
编辑:要捕捉错误,你可以尝试这样写:
SafeClick:function(locator){
_elementIdentify = locator.isDisplayed().then(function(){
try {
console.info('Element Displayed');
locator.click();
}
catch(err) {
console.info('Error occured');
}
}, function(err) {
console.error('Error Finding the Element', +err );
});
}
这是从回调中捕获异常的唯一方法。 作为旁注,你尝试写的东西似乎没必要。您应该知道使用量角器操作的UI的状态。如果它处于错误状态,你想让它失败吗?