2013-10-07 41 views
0

我在複雜的watir腳本中遇到了性能問題。我隔離我的代碼的一部分,這是結果: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 

的時間丟失:

  • 和3之間2:我不明白,在一幀中鏈接的點擊如何利用20多歲?
  • 3到4之間:如何檢查fram是否存在50秒?

在鉻,整個腳本採取小於10秒(如祝)

版本:紅寶石1.9.3,的Watir-webdriver的0.6.4,火狐21,23,24,

回答

0

最後找到原因:在我使用的框架中,存在一個不存在的圖像。 Firefox很慢,等待域名響應,這就是爲什麼時間會流失。