Selenium WebDriver - 在每个测试步骤之前显式等待

时间:2018-03-13 18:16:33

标签: selenium cucumber

我倾向于防止我即将执行操作的元素不可见或无法点击的情况。

结果是我使用了许多显式等待,几乎在每个测试步骤之前。请参阅下面提供的示例。

sed -e 's/\(\"com\.FitDegree\.\)[^"]*/\1ThisIsIt/' ../config.xml

请问您是否是一个好的做法或明确等待的数量不应该那么大?谢谢!

1 个答案:

答案 0 :(得分:2)

  

TL; DR:每个页面对象都可以封装自己的逻辑,以便单击给定元素(并在进行实际点击之前等待给定元素)。

我看到你已经使用页面对象模式(模型)分离了你的页面对象,你只需要更进一步,而不是在页面对象中的每个单击方法只需“点击”让它调用一个帮助方法,首先检查元素是否可见,启用和可点击。这样,您只需要编写一个处理此方法的方法,并且可以对其进行微调以便处理各种情况,并且页面对象只需要将Web元素作为参数传递。

如果您以这种方式编写所有页面对象方法,您根本不需要在测试用例代码中担心它,您知道该方法将始终等待项目可点击,并且它极大地简化了测试case(steps)代码和页面对象代码。