isPresent和isElementPresent之间的区别

Mit*_*ges 5 javascript google-chrome protractor

ElementFinder.prototype.isPresentElementFinder.prototype.isElementPresent有什么区别?

这听起来像isElementPresent等待Angular完成,而isPresent只是立即检查,但我无法确定.

目前,isElementPresent按照Protractor bug被破坏,所以我无法手动测试差异.

Ada*_*dam 2

两者isPresentisElementPresent返回一个“元素查找器”,其中:

“表示 ElementArrayFinder 的单个元素(并且更像是一个便利对象)。因此,可以使用 ElementFinder 完成的任何操作也可以使用 ElementArrayFinder 完成。对于大多数用途,ElementFinder 可以被视为 WebElement ,特别是,您可以像对 WebElement 一样对它们执行操作(即单击、getText)。”

读者文摘版本:您可以调用它的方法或测试它是否存在。

isElementPresent如果满足定位器实际上isPresent会调用,请参阅返回语句: 在此输入图像描述

他们本质上做同样的事情。Protractor 构建在WebDriver之上,它有自己的方法。您也可以在 Protractor 中使用这些方法。如果使用这些方法测试 Angular 可能会导致错误信息,他们为用户提供了 Angular 解决方法;isElementPresent出于您提到的原因,就是其中之一。

长话短说:使用isPresent. 它是为 Protractor 构建的,用于测试 Angular。