使用Firefox在Linux上使用Xvfb进行无头测试自动化Jenkins CI服务器 [英] Headless test automation with Firefox using Xvfb on linux Jenkins CI server
问题描述
我试图使用Xvfb与firefox运行测试自动化headless。
XSERVTransSocketOpenCOTSServer:Unable为inet6_XSERVTransOpen打开套接字:inet6 / cvms1247的传输打开失败:99_XSERVTransMakeAllCOTSServerListeners:无法打开侦听器inet6Initializing内置扩展Generic Event ExtensionInitializing内置扩展SHAPEInitializing内置扩展MIT-SHMInitializing内置扩展XInputExtensionInitializing内置扩展XTES内化扩展BIG-REQUESTSInitializing内置扩展SYNCInitializing内置扩展XKEYBOARDInitializing内置扩展XC-MISCInitializing内置扩展SECURITYInitializing内置扩展XINERAMAInitializing内置扩展XFIXESInitializing内置扩展RENDERInitializing内置扩展RANDRInitializing内置扩展COMPOSITE初始化内置扩展DAMAGEInitializing内置扩展MIT-SCREEN-SAVER初始化内置扩展DOUBLE-BUFFER初始化内置扩展RECORDInitializing内置扩展DPMSInitializing内置扩展PresentInitializing内置扩展X-ResourceInitializing内置扩展在扩展XVideoInitializing内置扩展XVideo-MotionCompensationInitializing内置扩展SELinuxInitializing内置扩展GLX
然后我尝试了以下命令:
Xvfb:001 -nolisten inet6
export http_proxy = http-proxy.nwie.net:8080
以下讯息消失。
XSERVTransSocketOpenCOTSServer:无法打开inet6的套接字
_XSERVTransOpen:inet6 / cvms1247的传输打开失败:99
_XSERVTransMakeAllCOTSServerListeners:无法打开监听器inet6
无头的用法:
如果OS :: windows? || ENV ['PhantomJS'] =='true'
browser = Selenium :: WebDriver.for:remote,url:'http:// localhost:8001'
elsif OS :: linux?
需要'headless'
headless = Headless.new
headless.start
browser = Selenium :: WebDriver.for:firefox
at_exit do
浏览器。关闭
headless.destroy
end
else
raise'未知操作系统'
end
环境:
Ruby:1.9.3
Jenkins:1.58
Selenium webdriver:2.53
headless:2.3.1
Xvfb:yum install xorg-x11-server-Xvfb
firefox:33.0
Linux:2.6.32-573.12。我缺少了什么? =h2_lin>解决方案没有错误,或者您忘了添加它。
您发布的示例输出不包含单词error。
您可能会被无法打开套接字inet6消息误导。对我来说,这看起来像信息消息ipv6不会被这个x服务器使用。初始化之后成功,所以很可能ipv4工作ok或某事。
I am trying to use Xvfb with firefox to run test automation headless. However, I am getting the following message on starting xvfb.
XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/cvms1247:99
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension GLX
Then I tried the following command:
Xvfb :001 -nolisten inet6
export http_proxy=http-proxy.nwie.net:8080
The following message disappeared.
XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/cvms1247:99
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
The usage of headless:
if OS::windows? || ENV['PhantomJS'] == 'true'
browser = Selenium::WebDriver.for :remote, url: 'http://localhost:8001'
elsif OS::linux?
require 'headless'
headless = Headless.new
headless.start
browser = Selenium::WebDriver.for :firefox
at_exit do
browser.close
headless.destroy
end
else
raise 'Unknown OS'
end
Environment:
Ruby: 1.9.3
Jenkins: 1.58
Selenium webdriver: 2.53
headless: 2.3.1
Xvfb: yum install xorg-x11-server-Xvfb
firefox: 33.0
Linux: 2.6.32-573.12.1.el6.x86_64
What am I missing?
解决方案 There is no error, or you forgot to include it.
The example output you posted does not contain the word "error".
You might be misled by the "Unable to open socket for inet6" message(s). To me this looks like informational messages that ipv6 will not be used by this x server. Initialization after that succeeds, so most likely ipv4 worked ok or something.
这篇关于使用Firefox在Linux上使用Xvfb进行无头测试自动化Jenkins CI服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!