相关疑难解决方法(0)

当猴子修补方法时,你能从新实现调用重写方法吗?

假设我是猴子修补类中的方法,我怎么能从覆盖方法调用重写方法?就像有点像super

例如

class Foo
  def bar()
    "Hello"
  end
end 

class Foo
  def bar()
    super() + " World"
  end
end

>> Foo.new.bar == "Hello World"
Run Code Online (Sandbox Code Playgroud)

ruby monkeypatching

422
推荐指数
2
解决办法
8万
查看次数

如何在Watir-Webdriver中更改页面加载超时(在.click方法中超时)

我有以下代码

browser.link(:text => 'Generate Report').click  
browser.radio(:value => 'byTotalValue').wait_until_present(180)  
Run Code Online (Sandbox Code Playgroud)

请求生成报告,然后通过在报告页面上查找元素来等待报告.报告最多可能需要2分钟才能显示.

发生的事情是Timeout :: 60秒后从click方法引发错误.我怀疑Watir-Webdriver在click方法中实现了某种形式的等待页面加载,但我没有看到调整值的方法.

任何帮助理解这一点将不胜感激.

webdriver watir watir-webdriver

20
推荐指数
2
解决办法
1万
查看次数

是否有可能在等待时间全局增加Watir-Webdriver?

我正在编写一个自动测试程序,它将测试一些有时加载某些AJAX调用的Web程序.例如,用户将点击"查询",这将导致HTML"加载"叠加,持续时间为15到90秒.搜索完成后,它将使用结果更新同一页面上的表.

所以显然我可以单独增加等待时间,如下:

browser.td(:id => 'someId').when_present.some_action #=> will wait 30 seconds
browser.td(:id => 'someId').when_present(90).some_action #=> will wait *90* seconds
Run Code Online (Sandbox Code Playgroud)

但有没有办法修改(在我的情况下增加)时间,所以Watir-Webdriver 总是等待90秒,.when_present如下所示:

browser.some_default = 90
browser.td(:id => 'someId').when_present.some_action #=> will wait *90* seconds
Run Code Online (Sandbox Code Playgroud)

几句警告:客户端超时不会影响 when_present.也不会隐含等待.

ajax watir-webdriver

6
推荐指数
1
解决办法
2747
查看次数

标签 统计

watir-webdriver ×2

ajax ×1

monkeypatching ×1

ruby ×1

watir ×1

webdriver ×1