把自动化测试的运行放在后台:

PhantomJS 非常不错,因为是使用的 QtWebKit 浏览器内核渲染页面,基本可以和真正浏览器保持一致。

Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。PhantomJS作者表示,你这么搞我失业了啊!

话不多叙,直接上代码:

/**
* 禁止chrome弹出忽略网站证书错误提示
* https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver
* webdriver.chrome.driver
*
* @return
*/
public static ChromeOptions chromeOptions() {
System.setProperty("webdriver.chrome.driver", "chromedriver");//指定驱动路径
ChromeOptions options = new ChromeOptions();
DesiredCapabilities capabilities = DesiredCapabilities.chrome();

// SSL Certificate
capabilities.setCapability(CapabilityType.TAKES_SCREENSHOT, true);
capabilities.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, true);

capabilities.setCapability("chrome.switches", Arrays.asList("--start-maximized"));
// options.addArguments("--headless");
options.addArguments("--test-type", "--start-maximized");
options.addArguments("--test-type", "--ignore-certificate-errors");
options.addArguments("headless");
return options;
}