我在复杂的watir脚本中遇到了性能问题。我隔离了部分代码,结果就是这样:
# Load browser and test page
@browser = Watir::Browser.new :chrome
@browser.goto ("http://myurl")
# Start to inspect time of script
puts "0 - Start : " + Time.new.inspect
# Get active frame
frame = @browser.frame(:id => 'myFrame0123')
puts "1 - Frame is a variable : " + Time.new.inspect
puts frame.exists?
puts "2 - Getting frame src : " + Time.new.inspect
# play
frame.link(:class => "playButton").click # should be fast
puts "3 - Clicking link in frame : " + Time.new.inspect
puts frame.exists? # should be instant
puts "4 - Getting frame src : " + Time.new.inspect
# Closing
@browser.close
代码打开测试页,检测框架,然后单击框架中的链接。
这里的结果是firefox:
0 - Start : 2013-10-07 15:41:40 +0200
1 - Frame is a variable : 2013-10-07 15:41:40 +0200
true
2 - Getting frame src : 2013-10-07 15:41:40 +0200
3 - Clicking link in frame : 2013-10-07 15:42:01 +0200
true
4 - Getting frame src : 2013-10-07 15:42:54 +0200
时间流逝:
在chrome中,整个脚本只需不到10秒(按照我的意愿)
版本:ruby 1.9.3,watir-webdriver 0.6.4,firefox 21,23,24。
答案 0 :(得分:0)
最后找到原因:在我使用的框架中,有一个不存在的图像。 Firefox很慢并且等待域响应,这就是时间丢失的原因。