ruby-on-rails – Watir-Webdriver – 协议不支持的地址族 – socket(2)

ruby-on-rails – Watir-Webdriver – 协议不支持的地址族 – socket(2),第1张

概述我一直在使用watir-webdriver / MiniTest框架不到一个月,而且一直都很顺利.然而,每次启动新构建时我需要运行的包包含不到100个单独的测试,这需要花费一个多小时来完成所有这些测试. 这就是我在Centos-6-x86_64上使用Ruby,RVM,Watir,Rails和Firefox设置VPS的原因.这样我就不必在我的笔记本电脑上运行脚本并等待它们完成,然后才能做其他事情. 我一直在使用watir-webdriver / MiniTest框架不到一个月,而且一直都很顺利.然而,每次启动新构建时我需要运行的包包含不到100个单独的测试,这需要花费一个多小时来完成所有这些测试.

这就是我在Centos-6-x86_64上使用Ruby,RVM,Watir,Rails和firefox设置VPS的原因.这样我就不必在我的笔记本电脑上运行脚本并等待它们完成,然后才能做其他事情.

但是,当我试图测试watir使用irb工作时,我收到以下错误:

Errno::EAFNOSUPPORT: Address family not supported by protocol - socket(2)

测试:

[root@V-9876 ~]# irb1.9.3p448 :001 > require 'watir-webdriver' => true1.9.3p448 :002 > b = Watir::browser.start 'www.Google.com'Errno::EAFNOSUPPORT: Address family not supported by protocol - socket(2)        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/port_prober.rb:28:in `initialize'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/port_prober.rb:28:in `new'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/port_prober.rb:28:in `block in free?'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/port_prober.rb:26:in `each'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/port_prober.rb:26:in `free?'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/port_prober.rb:5:in `above'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/firefox/launcher.rb:49:in `find_free_port'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/firefox/launcher.rb:33:in `block in launch'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/firefox/socket_lock.rb:20:in `locked'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/    lib/selenium/webdriver/firefox/launcher.rb:32:in `launch'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/firefox/brIDge.rb:24:in `initialize'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/driver.rb:31:in `new'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/     lib/selenium/webdriver/common/driver.rb:31:in `for'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.37.0/      lib/selenium/webdriver.rb:67:in `for'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/watir-webdriver-0.6.4/lib/ watir-     webdriver/browser.rb:46:in `initialize'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/watir-webdriver-0.6.4/lib/ watir-    webdriver/browser.rb:29:in `new'        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/watir-webdriver-0.6.4/lib/ watir-     webdriver/browser.rb:29:in `start'        from (irb):2         from /usr/local/rvm/rubIEs/ruby-1.9.3-p448/bin/irb:13:in `<main>'1.9.3p4     1.9.3p448 :003 >

我一直在研究这个错误,我发现许多网站声称它是通过禁用ipv6修复的,我做了,我仍然得到这个错误.

不确定这是否有所不同,但我也在这个VPS上安装了Nginx / PHP / MysqL

编辑 – ruby文件发布在下面

require "watir-webdriver"require 'watir-webdriver'require 'headless'headless = headless.newheadless.startbrowser = Watir::browser.new :ffbrowser.goto "http://remove-url-for-this-post.com" puts ("Starting SearchValSelectFIElds")browser.select_List(:ID,"edit-select-sector").select("Finance and Accounting")sleep (5)browser.select_List(:ID,"edit-select-subsector--3").select("All Sub-sector")browser.select_List(:ID,"edit-select-location").select("Singapore")browser.button(:value,"Search").clickassert(browser.text.include?("Salary and employment forecast"))browser.screenshots ('..\screenshots\SearchValSelectFIElds.png')browser.select_List(:ID,"edit-select-sector").select("Select Sector")sleep(3)browser.select_List(:ID,"edit-select-subsector--2").select("Select Sub-sector")sleep(3)browser.select_List(:ID,"edit-select-location").select("Select Location")sleep(3)browser.button(:value,"Search").clickassert(browser.text.include?("This fIEld is required"))browser.closeheadless.destroy

有任何想法吗?

解决方法 工作的人设法解决了这个问题.他说:

They try to connect twicefirst to 127.0.0.1 port 7055then too ::1 port 7055second one fails::1 is localhost of IPv6so you seem to be connecting localhostand in your server look at /etc/hostslocalhost resolves to the ::1

所以你要做的就是编辑你的/ etc / hosts文件并注释掉:: 1或者你想要删除它

总结

以上是内存溢出为你收集整理的ruby-on-rails – Watir-Webdriver – 协议不支持的地址族 – socket(2)全部内容,希望文章能够帮你解决ruby-on-rails – Watir-Webdriver – 协议不支持的地址族 – socket(2)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1232670.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存