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