selenium自动测试应该等待加载页面的所有元素还是只需要加载所需的项目?

时间:2017-03-25 18:07:00

标签: java selenium selenium-webdriver

我是测试的初学者,我开始创建自动化测试。我有一个项目,其中方法正在等待项目出现,然后在其上完成操作,没有应用页面工厂。我想知道这是不是一个好方法。我应该使用方法检查我需要加载的页面的所有项目,并且只是启动操作但它会增加测试吗?他可以按原样做,并分别等待每个项目。

3 个答案:

答案 0 :(得分:0)

让我试着逐一解决你的观点:

  1. 目前,方法正在等待项目出现:是的,我们必须这样做。有时我们必须在执行某些特定操作后等待某些元素可见。这就是Thread.sleep(),ImplicitlyWait(),Explicit Wait& FluentWait是常用的。

  2. 是的,您可以创建方法来检查要加载的一个页面上的所有项目。这个名为PageFactory的页面对象模型通常称为POM。

  3. 虽然已经说过我想添加,但在某些情况下虽然已经定义了元素,但您可能必须引发上述Waits之一才能使元素可见/可点击以执行下一个操作

  4. 如果我已解决您的问题,请与我们联系。

答案 1 :(得分:0)

我通常会选择一个我知道将会加载的元素之一。有时这个元素是通过反复试验来挑选的。我等待加载该元素,以保证页面加载。此时,您不必在执行操作之前等待加载任何新元素,除非您触发的某个操作导致页面或页面的一部分重新加载。在这种情况下,触发操作,然后在退出方法之前等待页面的页面/部分重新加载。

答案 2 :(得分:-1)

通常它是最好的做法,如果你可以等待页面上的所有元素加载(即隐式等待),除非等待所有元素出现需要太多时间(即显式/流畅等待)。

这完全取决于你的要求;如果你可以设法运行你的脚本而不必等待所有的元素而不破坏你的脚本那么它就一切都很好。