ElementFinder.prototype.isPresent和ElementFinder.prototype.isElementPresent之间有什么区别?
听起来isElementPresent
等待Angular完成,而isPresent
只是立即检查,但我无法确定。
目前,isElementPresent
因Protractor bug而被破坏,因此我无法手动测试差异。
答案 0 :(得分:2)
isPresent
和isElementPresent
都会返回"Element Finder",其中包含:
“表示ElementArrayFinder的单个元素(更像是一个方便对象)。因此,任何可以使用ElementFinder完成的事情也可以使用ElementArrayFinder来完成.SlementFinder可以被视为WebElement特别是,对于大多数目的,您可以像对待WebElement一样对它们执行操作(即click,getText)。“
Reader's Digest版本:您可以在其上调用方法或测试它是否存在。
如果满足定位符, isElementPresent
实际调用isPresent
,请参阅return语句:
他们基本上做同样的事情。量角器建立在WebDriver之上,它有自己的方法。您也可以在Protractor中使用这些方法。如果使用这些方法测试Angular可能会导致错误信息,他们会为用户提供Angular解决方法;由于你提到的原因,isElementPresent
就是其中之一。
tl; dr:使用isPresent
。它是为Protractor测试的,用于测试Angular。