【发布时间】:2012-07-25 21:17:14
【问题描述】:
更新:
我正在运行以下代码来执行我的示例测试用例:(Windows 7, Watir 3.0.0, Watir-webdriver-0.6.1)
require "watir-webdriver"
require 'test/unit'
class Teste1
$var = Watir::Browser.new :chrome
def met1
$var.goto 'google.com'
$var.text_field(:name, "q").set 'sample'
$var.button(:name =>'btnG').click
end
end
class Teste2 < Test::Unit::TestCase
$test = Teste1.new
def test_gomet1
$test.met1()
end
end
浏览器打开,但脚本抛出以下错误:
test_gomet1(Teste2):
Errno::ECONNREFUSED: No connection could be made because the target machine actively refused it. - connect(2)
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:82:in `response_for'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:38:in `request'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:598:in `raw_execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:576:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:99:in `get'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/navigation.rb:14:in `to'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/browser.rb:63:in `goto'
maisum.rb:11:in `met1'
maisum.rb:21:in `test_gomet1'
谁能帮我解决这个问题?
【问题讨论】:
-
我建议您尝试用尽可能少的代码行来重现问题。
-
删除
met2、test_gomet2和test_closeVar我遇到了同样的错误,这是我可以重现问题的最少代码行 -
问题出在测试/单元代码还是 watir 代码中?我建议尝试在没有测试/单元代码的情况下重现代码。
-
我认为问题出在测试/单元中,因为当我删除
< Test::Unit::TestCase并将我的方法称为teste2 = Teste2.new; teste2.test_gomet1()时,它可以工作。 -
这是很好的信息。因此,调用方法会导致问题。
标签: ruby watir watir-webdriver