2011-03-07 52 views
0

我正在使用Watir自動化一個充滿框架的內部工具。我能夠操縱所有的各種元素,所以我知道我正確地識別了框架,但任何時候我嘗試對這些元素中的任何一個使用Wait語句都會失敗。通過錯誤消息跟蹤回來,它始終在core_ext/time/calculation中遇到activesupport gem,看起來它無法獲得持續時間值,它被設置爲false,然後操作失敗,因爲它期待Float。這是一個錯誤?Watir :: Wait.until無法使用框架

使用Ruby 1.8.7和1.6.7的Watir

我的代碼是:

require 'rubygems' 
require 'watir/testcase' 
require 'main_setup' 
require 'win32ole' 
require 'common' 

class Smoketest < Watir::TestCase 
    include CommonCode 
    def test_AddEdit_Endpoint 
    Watir::Wait.until { @b.link(:id,"lbShowEndpointForm").exists? } 
    end 
end 

錯誤如下:

test_basic_smoke(Smoketest): 
TypeError: can't convert false into Float 
    C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-2.3.9/lib/active_support/core_ext/time/calculations.rb:278:in `plus_without_duration' 
    C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-2.3.9/lib/active_support/core_ext/time/calculations.rb:278:in `+' 
    C:/Ruby187/lib/ruby/gems/1.8/gems/commonwatir-1.6.7/lib/watir/wait.rb:15:in `until' 
    C:/qa/trunk/CCAdmin/Automation/CCAdmin/lib/smoketest.rb:27:in `test_basic_smoke' 
+0

和你的代碼是什麼? – 2011-03-09 09:16:39

+0

需要 '的rubygems' 需要 '的Watir /測試用例' 需要 'main_setup' 需要 'WIN32OLE' 需要 '共同' 類Smoketest <的Watir ::測試用例 包括CommonCode DEF test_AddEdit_Endpoint 的Watir ::等待。直到{@ b.link(:id,「lbShowEndpointForm」)存在?} – Sabrina 2011-03-09 18:02:09

+0

抱歉,遺漏了結尾/結尾。我還想提到瀏覽器變量@b是在CommonCode模塊中創建的。從字面上看,我所做的只是打開瀏覽器窗口並使用等待語句來表示元素。 – Sabrina 2011-03-09 18:05:20

回答

0

所以,這行是C:/ QA /主幹/ CCAdmin /自動化/ CCAdmin/lib中/ smoketest.rb:27?

+0

你應該刪除這個作爲答案,並添加它作爲評論 – 2011-03-10 11:54:20