【发布时间】:2018-08-19 21:58:46
【问题描述】:
我会给你一点背景。对于大多数操作,我很高兴并且测试似乎相当稳定,4s 隐式等待。
但是,有时我知道如果要在页面上显示该元素,它已经存在,因此,例如,如果我正在对元素列表进行操作,我希望驱动程序不要等待4s 让每个元素确定它不存在并继续前进。
因此,虽然我可以设置 driver.manage().timeouts().implicitlyWait(100, TimeUnit.MILLISECONDS) 并快速浏览列表,但我想在完成解析后将implicitlyWait 设置回其初始值名单。
是的,您可以控制每个项目的一些默认设置并传递它们,但是当您想要对其他依赖并设置自己的默认值的顶级项目执行此操作时并不总是那么容易。
我做了一些阅读,每个人似乎都同意每次运行可以多次设置此超时。 Selenium 现在已经很成熟了,所以我错过了什么?为什么要提供一个没有 getter 的 setter?
【问题讨论】:
-
因为您可以轻松地将变量设置为项目默认值,并在没有getter 的情况下随时获取它。无论如何,您真的不应该使用隐式等待。 Selenium 贡献者在许多不同的 Selenium conf 会谈中说了很多次。你应该更喜欢
WebDriverWaits。