伙计们,我在测试中使用了watir + cucumber,而且我正在重用浏览器实例的每个功能,就是我创建了@@browser = Watir::Browser.new
的实例,然后通过我的测试重用它,我是使用watir-webdriver
,我的测试运行良好,直到现在,我只是添加了另一个场景,我一直收到以下错误消息:
Connection refused - connect(2) (Errno::ECONNREFUSED)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:560:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:560:in `open'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:560:in `connect'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:53:in `timeout'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:93:in `timeout'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:560:in `connect'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:542:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:1035:in `request'
答案 0 :(得分:0)
只需在env.rb文件中创建一个名为@browser
的实例变量,然后就可以在黄瓜步骤中通过@browser
访问它。
答案 1 :(得分:0)
我今天跑到同一个问题,我花了很多时间分析它。
仅适用于资源管理器和Chrome 。
最后,我的结论如下:
由于退出事件已通知webdriver,其进程已关闭,但您的结束例程已被执行,尝试执行相同操作,但它发现webdriver已关闭,因此它返回一个exeception并使软件界面仍处于打开状态。 所以,你必须以这种方式放置代码:
AfterConfiguration do |config|
yourCodeStartUp() # Put your SETUP code here including the launch of webdriver
at_exit
yourCodeTearDown() # Put your CLOSING routine here
puts 'stopped'
end
end
这样你的例程at_exit代码在之前执行一个Webdriver,它可以按顺序关闭系统。