繁体   English   中英

如何在后台运行selenium webdriver?

[英]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作为平台)

  1. 安装xvfb(apt-get install xvfb)
  2. 然后,您可以使用以下命令运行selenium / firefox“headless”(假设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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM