gpt4 book ai didi

javascript - 需要有关 try-catch 的帮助

转载 作者:数据小太阳 更新时间:2023-10-29 04:58:13 26 4
gpt4 key购买 nike

我正在尝试在我的 Protractor 测试中使用 try-catch block ,请看下面的代码:

try {
element(by.id('usernameas')).sendKeys(data);
}
catch(err) {
console.log('error occured');
}

我故意传递错误的定位器来检查它是否进入 catch block ,目前它在命令提示符下给我错误 NoSuchElementError 并且测试执行停止而不是进入 catch block 。

请提出建议。

最佳答案

对 element(locator).sendKeys 的调用返回一个已解决或已拒绝的 promise 。 promise 是测试的一部分 control flow .

调用 element(locator) 本身不会抛出错误,被拒绝的是 promise。如果找不到元素,您实际上希望整个测试失败,因为场景无法完成。

要获取错误消息,您可以使用 promise 回调,如下所示。

重要说明:如果您自己处理 promise 失败,您的测试就不会失败,所以您最好重新抛出它

try {
element(by.id('usernameas')).sendKeys(data).then(function() {
console.log('keys sent successfully');
}, function(err) {
console.error('error sending keys ' + err);
throw err;
});
}
catch(err) {
console.log('error occured');
}

控制台输出( trim ):

error sending keys NoSuchElementError: no such element
(Session info: chrome=31.0.1650.63)
(Driver info: chromedriver=2.8.241075,platform=Windows NT 6.1 S .....

关于javascript - 需要有关 try-catch 的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20882688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com