Я автоматизирую внутренний инструмент, который изобилует фреймами, используя Watir. Я могу манипулировать всеми различными элементами, так что я знаю, что правильно идентифицирую фреймы, но каждый раз, когда я пытаюсь использовать оператор Wait для любого из этих элементов, он терпит неудачу. Возвращаясь к сообщению об ошибке, он всегда попадает в гем activesupport в core_ext / time / computing, и похоже, что он не может получить значение продолжительности, ему присваивается значение false, а затем происходит сбой операции, поскольку он ожидает Float. Это ошибка?
Использование Ruby 1.8.7 и Watir 1.6.7
Мой код:
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'