Ric*_*ker 6 ruby selenium watir-webdriver xvfb
我正在尝试使用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身份运行脚本.
解决了!令人惊奇的是,在你提出问题之后,这样的事情往往会自行解决......
对于那些想知道原因的人,我需要做一些事情......
1)确保相关用户有一个工作主目录(www-data 默认情况下没有......它的主目录由root拥有)
2) 从命令行启动 Xvfb,然后从命令行启动 firefox(不是从脚本内) - 这将使用常用的 .dbus、.gconf 等文件夹填充用户主文件夹
3) 如果出现严重延迟,然后出现错误消息“加载或保存 firefox-bin 的配置信息时发生错误”,请删除用户主目录中的 .dbus 文件夹
4) 再次尝试#2 - 如果您之前遇到过配置错误,那么现在它应该消失了。
5) 尝试再次运行脚本。
这对我来说就像一个魅力,所以如果您在 Web 应用程序中运行 Xvfb 和 watir-webdriver 时遇到类似问题,请尝试一下。
感谢所有人为这个毫无疑问是网络上最好的问答网站做出的贡献...这个地方拯救了我的屁股的次数比我愿意提及的还要多。
注意:用户最初输入此修改是为了解决他们的问题,因为他们不知道如何将其发布为答案。后来这个问题被一些好心的人编辑掉了,但从未添加为答案。
| 归档时间: |
|
| 查看次数: |
4690 次 |
| 最近记录: |