2011-08-22 58 views
2

我在Windows XP上第一次在Firefox 6上运行我的watir-webdriver测试时收到此错误消息。Watir-webdriver与Firefox 6发生套接字错误

1) Error: 
testAttributeGadget010_workflow_shown(AttributeGadgetTest): 
Errno::EADDRINUSE: Only one usage of each socket address (protocol/network address/port) is normally permitted. - connect(2) 
C:/Ruby187/lib/ruby/1.8/net/http.rb:560:in `initialize' 
C:/Ruby187/lib/ruby/1.8/net/http.rb:560:in `open' 
C:/Ruby187/lib/ruby/1.8/net/http.rb:560:in `connect' 
C:/Ruby187/lib/ruby/1.8/timeout.rb:53:in `timeout' 
C:/Ruby187/lib/ruby/1.8/timeout.rb:101:in `timeout' 
C:/Ruby187/lib/ruby/1.8/net/http.rb:560:in `connect' 
C:/Ruby187/lib/ruby/1.8/net/http.rb:553:in `do_start' 
C:/Ruby187/lib/ruby/1.8/net/http.rb:542:in `start' 
C:/Ruby187/lib/ruby/1.8/net/http.rb:1035:in `request' 
C:/Ruby187/lib/ruby/gems/1.8/gems/selenium-webdriver-2.4.0/lib/selenium/webdriver/remote/http/default.rb:73:in `response_for' 
C:/Ruby187/lib/ruby/gems/1.8/gems/selenium-webdriver-2.4.0/lib/selenium/webdriver/remote/http/default.rb:41:in `request' 
C:/Ruby187/lib/ruby/gems/1.8/gems/selenium-webdriver-2.4.0/lib/selenium/webdriver/remote/http/common.rb:34:in `call' 
C:/Ruby187/lib/ruby/gems/1.8/gems/selenium-webdriver-2.4.0/lib/selenium/webdriver/remote/bridge.rb:410:in `raw_execute' 
C:/Ruby187/lib/ruby/gems/1.8/gems/selenium-webdriver-2.4.0/lib/selenium/webdriver/remote/bridge.rb:388:in `execute' 
C:/Ruby187/lib/ruby/gems/1.8/gems/selenium-webdriver-2.4.0/lib/selenium/webdriver/remote/bridge.rb:356:in `find_element_by' 
C:/Ruby187/lib/ruby/gems/1.8/gems/selenium-webdriver-2.4.0/lib/selenium/webdriver/common/search_context.rb:41:in `find_element' 
C:/Ruby187/lib/ruby/gems/1.8/gems/watir-webdriver-0.3.2/lib/watir-webdriver/locators/element_locator.rb:86:in `find_first_by_multiple' 
C:/Ruby187/lib/ruby/gems/1.8/gems/watir-webdriver-0.3.2/lib/watir-webdriver/locators/element_locator.rb:33:in `locate' 
C:/Ruby187/lib/ruby/gems/1.8/gems/watir-webdriver-0.3.2/lib/watir-webdriver/elements/element.rb:263:in `locate' 
C:/Ruby187/lib/ruby/gems/1.8/gems/watir-webdriver-0.3.2/lib/watir-webdriver/elements/element.rb:245:in `assert_exists' 
C:/Ruby187/lib/ruby/gems/1.8/gems/watir-webdriver-0.3.2/lib/watir-webdriver/elements/checkbox.rb:19:in `set' 
./library/attribOptions.rb:22:in `attribOptions' 
./library/attribOptions.rb:20:in `each_index' 
./library/attribOptions.rb:20:in `attribOptions' 
./007_wb_attribute.rb:365:in `testAttributeGadget010_workflow_shown' 
./007_wb_attribute.rb:345:in `each' 
./007_wb_attribute.rb:345:in `testAttributeGadget010_workflow_shown' 

似乎在我的100多个测试/单元测试用例中发生了20次。 有没有人有任何想法出了什么问题?

+0

你可以尝试更新到红宝石1.9.2,看看它是否存在? –

+0

我使用从3.X到6.0的各种FF版本得到这个相同的问题。 Selenium Webdriver 2.5.0,Watir-Webdriver 0.3.2,Ruby 192-p290。在XP(32位)和Windows 7(64位)盒上。我昨天更新了webdriver以解决运行Firefox 6的问题,并且问题直接发生在后面。 –

+0

Microsoft文章似乎解决了XP上的这两个问题! –

回答

1

几乎听起来你正在用尽短暂的端口,这应该不会发生只有一个Firefox实例。但谁知道Windows。尝试按照here所述增加MaxUserPort设置。

+0

由于此问题,我必须从2.5.0降级到2.4.0,并且我没有管理员权限机器来更新注册表。 –

+0

这很奇怪。我不认为2.4.0会有什么不同。 – jarib

+0

发生此错误与我升级到2.5.0相符,因此我认为这是相关的,但事实并非如此。依然在2.4.0上发生。对不起,有任何困惑。 –