【发布时间】:2021-10-29 07:26:56
【问题描述】:
使用量角器和打字稿,我希望能够将element.getAttribute("value") 的结果值与字符串进行比较,以验证文本框中的文本是否已成功保存。 getText() 在这种情况下不起作用,因为输入到字段(可编辑文本框)中的文本没有保存为元素的文本属性。这是我的方法:
async getName(option) {
if(option == this.name.getAttribute("value").toString()){
return true;
}
else{
return false;
}
}
这总是返回 false,即使传递了正确的值。但是我知道name.getAttribute("value") 正在返回正确的值,因为当我将结果输出到控制台时,它显示的是正确的值。
当我从上述方法中将option 输入为string 时,会出现以下错误:This condition will always return 'false' since the types 'String' and '() => string' have no overlap.ts(2367)。我假设这与 protracor 返回承诺有关,但我不确定将文本与预期值进行比较的任何其他方式。
编辑:我还应该注意,我也以另一种方式尝试过,该方法只返回 name.getAttribute("value") 的结果,然后将结果与我期望的字符串进行比较,而不是在方法中执行所有操作并期望这是真的。
【问题讨论】:
标签: typescript selenium selenium-webdriver automated-tests protractor