转载:Chrome headless 模式

上一篇 / 下一篇  2018-03-13 13:32:55 / 个人分类:Selenium

我们在通过Selenium运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而且还会干扰你做其它事情(本机运行的话)。

那能不能把自动化测试的运行放在后台?当然可以!

  • htmlunit 项目可以模拟浏览器运行,是一个没有界面的浏览器,运行速度快。

  • PhantomJS 是一个基于webkit的JavaScript. API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。

  • Chrome-headless 模式,Google 自己出的无头浏览器模式。

htmlunit 在Selenium 下面,我都没跑通过一个 baidu 的 demo, 因为它不打开 UI 界面,所以,你也不知道它后台是如何渲染页面的。 弃之!

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

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

 

用法

Python Selenium 用法:

fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptions

chrome_options=Options()
chrome_options.add_argument('--headless')
driver= webdriver.Chrome(chrome_options=chrome_options)

...

Java Selenium用法:
importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.chrome.ChromeOptions;publicclassWebTest {publicstaticvoidmain(String[] args)throwsInterruptedException {

        ChromeOptions chromeOptions=newChromeOptions();
        chromeOptions.addArguments("--headless");
        WebDriver driver=newChromeDriver(chromeOptions);

        ...

    }
}

转载:http://www.cnblogs.com/fnng/p/7797839.html


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar