我正在尝试处理各种错误情况,同时在 typescript 中使用 Protractor 查找元素。 这是我的做法:
textBoxA = this.findElementBy(locator.XPATH,"//input[@formname='name']");
此处 //input[@formname='name']
是该元素的 xpath。
如果 xpath 给出错误,那么 Protractor 会给我错误,例如 no element found using xpath...
并且可能还有规范失败的文件等,许多 npm 记者也报告了这些错误。
但是,我不想像上面的例子那样想要失败的元素的名称,我希望 textBoxA
出现在日志中的某个地方,以便在我有很多的情况下很容易调试规范。
我怎样才能做到这一点?
最佳答案
您可以为此使用以下 2 种方法:
- 更好的方法是在您调用任何元素的任何操作时实现
function(err){}
。在这里你可以像这样处理错误:
ElementNotFound, NoSuchWindowsError or ElementStaleError etc...
另一种方法是在创建元素时实现包装器。例如: 例如:
var nameElem = findElement(by.id('name'), 'Name Element');
findElement函数定义:
findElement: function(elemCss, elemName){
element(elemCss).isPresent().then(function(value){
if (present) {
/* element exists */
} else {
/* element doesn't exist, use elemName and record anywhere in your custom log */
}
})
}
关于xpath - 如何在 Protractor 出错的情况下返回元素名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41532113/