我正在尝试使用ruby脚本进行一些无头测试.基本上我在显示器上执行Xvfb:1,然后Watir::Browser.new(:firefox)使用watir-webdriver启动.
如果以root身份运行脚本,这很有用 - 我可以运行x11vnc并观察脚本执行浏览器并与之交互.
问题是,我需要能够从Rails应用程序调用这个ruby脚本,而不是以root身份运行它...如果我尝试以普通用户的身份从命令行运行脚本,Xvfb会启动:1像往常一样,Watir不会启动浏览器......它最终会在60秒后超时.通过VNC连接显示带有鼠标光标的黑屏.
我可以从命令行中完成所有操作 - 启动Xvfb,然后启动firefox --display=:1并启动浏览器,因此它必须是Selenium问题,对吧?
Nutshell:Selenium/Webdriver拒绝在Xvfb中启动浏览器,除非我以root身份运行脚本.