我不想被Selenium RC推出的浏览器打扰。有没有办法强制它在另一个X11桌面上运行浏览器?在另一个桌面上运行Selenuim服务器无法解决问题。
VítŠesták'v6ak'
答案 0 :(得分:4)
是的,在Linux上你可以开始例如Xvfb(虚拟帧缓冲区中的X)来提供X环境并启动selenium控制的浏览器。
我们多年来一直在无头服务器盒上这样做,并且工作得很好(不时你必须拍摄悬挂的浏览器,但在桌面上也是如此)。
首先安装Xvfb:
sudo apt-get install xvfb
然后通过xvfb在后台启动selenium服务器:
xvfb-run java -jar ~/Downloads/selenium-server-standalone-2.45.0.jar
最后像往常一样运行你的测试(phpunit
,或者你正在使用的任何东西)。
答案 1 :(得分:3)
您应该可以通过将DISPLAY环境变量设置为与桌面使用的显示不同的显示来实现此目的。必须在启动Selenium服务器时设置此项。然后,Selenium将在启动浏览器时使用此值。
答案 2 :(得分:2)
我使用工作空间/视口而不是X使用devilspie解决了这个问题。
这个插件允许你在firefox上放一个自定义标题,我把它安装在我的selenium配置文件中:
https://addons.mozilla.org/en-US/firefox/addon/57/
我用FFSELENIUM
替换了标题栏中的Mozilla Firefox然后使用devilspie将这些窗口固定到firefox:
http://ubuntu-tutorials.com/2007/07/25/how-to-set-default-workspace-size-and-window-effects-in-gnome/ http://foosel.org/linux/devilspie
然后创建一个文件.devilspie / selenium.ds,内容为:
(如果 (和 (contains(window_name)“FFSELENIUM”) ) (开始 (set_viewport 3) ) )
在第三个视口中点击firefox窗口!