首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watir #when_present不一致超时问题

Watir #when_present不一致超时问题
EN

Stack Overflow用户
提问于 2016-05-13 21:06:12
回答 1查看 104关注 0票数 0

我正在使用Rspec和Watir-webdriver进行一些自动化操作--目前我有两种不同的方法,它们使用如下所示的公共代码片段

代码语言:javascript
复制
# 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方法有什么潜在的问题吗?如果这些都是出了名的易碎或挑剔,有没有更好的方式来编码呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-05-18 00:04:38

我怀疑你的问题的一部分可能是你正在创建一个变量,这个变量一旦创建就基本上是静态的。因此,它要么是一个div对象,然后通过当前测试,要么是一个null对象,它将在出现之前超时。(除非我很困惑)

试试这个,看看有没有更好的效果。

代码语言:javascript
复制
@browser.div(:class, 'asset-search').div(:class, 'quick-search').when_present.click

如果出现错误,您可能需要分两个阶段进行

代码语言:javascript
复制
@browser.div(:class, 'asset-search').wait_until_present
@browser.div(:class, 'asset-search').div(:class, 'quick-search').when_present.click

或者,如果只有一个带有quick-search类的div实例(因此您不需要将浏览器限制为在asset-search div中查找它),那么您可以这样做

代码语言:javascript
复制
@browser.div(:class, 'quick-search').when_present.click
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37210866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档