【发布时间】:2016-05-13 13:06:11
【问题描述】:
我正在使用 Rspec 和 Watir-webdriver 进行一些自动化操作——目前我有两种不同的方法,它们使用像这样的通用 sn-p
# The snippet shown is meant to find a specific div, and when an element within it is present, then perform the click action
search_modal = @browser.div(:class, 'asset-search')
search_modal.when_present do
search_modal.div(:class, 'quick-search').click
end
我用一种方法运行它,它工作正常,没有错误。我用第二种方法运行它,它会在 30 秒后超时。快进到今天早上,第二种方法现在正在正常运行。
同样,这是在两种不同方法中使用的相同代码。使用#wait 方法是否存在一些潜在问题?如果这些以易碎或挑剔而闻名,是否有更好的编码方法?
谢谢
【问题讨论】:
-
您确定问题出在等待方法上吗?当等待超时时,您看到预期的元素了吗?您要验证的两件事是(1)元素是否通常需要接近 30 秒才能出现,因为这意味着有时会超过或低于时间限制,以及(2)是触发
search_modal始终有效的操作?作为后者的一个例子,我有一些自动完成控件,其中设置文本字段会导致打开自动完成列表的结果不一致 - 即问题在于触发模式而不是等待模式。 -
@JustinKo,我想说两者兼而有之。我在屏幕上看它时,它会去正确的地方,但在终端超时 30 秒后说它找不到正确的元素 - 当它实际到达那里时会令人困惑!
标签: rspec automation watir-webdriver