使用Java中的selenium驱动程序进行测试,无需打开任何浏览器

Ahm*_*DAL 7 java selenium selenium-chromedriver

我需要用Java中的selenium chrome驱动程序进行测试.但是不应该打开镀铬窗口.假设这是一个产品,不应该打开任何窗口.

我也看过这一个; 是否可以在Selenium RC中隐藏浏览器? 但对我来说没有解决方案.测试应该是独立于操作系统的,我已经尝试过HtmlUnitDriver进行测试而不打开任何窗口,但它有一些问题.当通过id查找组件时,它可能无法通过id找到组件.有些服务器可能会根据浏览器发送组件ID,我不知道应该用什么ID来测试.

因为我正在尝试使用chrome驱动程序.

有没有办法使用chromedriver而无需打开镀铬窗口或其他方式进行测试而不用Java中的Selenium打开任何窗口?

谢谢!

Rus*_*ley 7

PhantomJS一起使用,但是如果需要在chromedriver中运行它们并且你有资源,这个博客有一个很好的配方来运行带有铬的无头硒.要求您下载以下内容......

  • VirtualBox的
  • 流浪汉
  • 的NodeJS

如果您计划将来实施Jenkins或任何其他CI,我强烈建议您使用PhantomJS.


NuO*_*One 6

在 selenium web 驱动程序中有无头模式。所以在无头模式下,您可以在不打开网络浏览器的情况下进行自动化。您也可以在无 gui 系统中部署您的应用程序

    ChromeOptions options = new ChromeOptions();
    // setting headless mode to true.. so there isn't any ui
    options.setHeadless(true);

    // Create a new instance of the Chrome driver
    WebDriver driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)