我正在使用Quamotion来测试iOS应用程序。我的测试时常失败,因为看起来Find-Element
无法在屏幕上找到该元素。
当我切换到新窗口并且UI需要一些时间来加载时,似乎会发生这种情况。
有没有办法让Find-Element
等待用户界面完全加载?
答案 0 :(得分:1)
您可以使用Set-Timeout
设置隐式等待超时。当您使用Find-Element
查找元素(例如Find-Element -xpath "//*[@name='Login']"
)时,Quamotion WebDriver将尝试查找满足Set-Timeout
指定量的XPath表达式的元素。
您应该检查Find-Element
是否返回实际的元素ID。
如果您没有获得元素ID,则会触发超时并且找不到该元素。尝试增加超时。
如果您确实获得了元素ID,则会找到一个元素,但是:
Find-Element
之后几乎立即执行Click-Element
并且上一页的UI结构仍在内存中,则会发生这种情况; Get-ElementRectangle
获取元素的矩形,并确定它是否是您期望的元素Is-Displayed
来确定您的元素是否已被绘制。