[英]How to run selenium webdriver in the background?
我一直在使用Selenium 2周。
到目前为止它确实很有用。
在开发时,我喜欢弹出浏览器,这样我就可以看到发生了什么,但在生产中,我不希望服务器继续打开和关闭Firefox窗口。 我查看了这个论坛,完成了谷歌搜索等,但找不到在后台运行浏览器的方法。
有人提示如何做到这一点?
试试PhantomJS这是一个无头浏览器webkit。 HTMLUnit也类似于PhantomJs; 但是,强烈建议使用PhamtomJs。
PhantomJs使用Google chrome's JavaScript Engine
但没有GUI。
参考: http : //phantomjs.org/
找到JAVA Seleniun谷歌Chrome的简单解决方案
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("headless");
return new ChromeDriver(options);
如果服务器在linux上,你可以使用Xvfb分配显示器来运行selenium来创建虚拟显示器
如果服务器在Windows上,您可以将守护程序注册为以用户登录的另一个用户身份运行,从而为该服务提供桌面服务。 这仅适用于本地系统管理员帐户或通过注册表调整,如此处详细说明您必须为运行该服务的用户设置Internet Explorer属性
试一试: https : //github.com/detro/ghostdriver 。
它使用Headless方法自动化网站。
Phantom是一个很好的无头选择,但是你想要坚持使用你正在使用的相同工具......(以下假设Linux作为平台)
DISPLAY =:1 xvfb-run java -jar [selenium JAR filename]
现在,当您的测试套件启动selenium时,它将使用Firefox运行而不会弹出浏览器窗口。
您是否考虑过反对Selenium Grid? 请参阅https://code.google.com/p/selenium/wiki/Grid2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.