我正在使用以下代码来验证linkText是否存在,然后执行其他操作,但每次它都会给我错误LinkText不存在 以下是代码
if(expect(element(By.linkText('ramit')).isDisplayed()))
{
b();
}
else
{
a();
}
答案 0 :(得分:2)
您不希望这样做,expect
用于测试断言。您需要解决承诺并对返回的值执行条件语句。例如:
element(By.linkText('ramit')).isDisplayed().then(function(val) {
if(val === true) {
//code
}
else {
//code
}
});
并且您提到错误是LinkText不存在,如果您的站点是Angular,它应该适当地同步并等待任何请求在执行测试之前完成。如果没有,我建议你看看Expected Conditions
答案 1 :(得分:0)
我们可以使用 protractor.ExpectedConditions.visibilityOf()方法检查UI或Not上是否存在元素或链接或文本。用于检查元素可见性的代码片段如下:
var EC=protractor.ExpectedConditions;
var linkText=element(By.linkText('ramit'));
EC.visibilityOf(linkText).call().then(function(isLinkTextPresent){
if(isLinkTextPresent){
//do the logic if link text is present
}else{
//do the logic if link text is not present
}
});