我们在通过 selenium 运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而且还会干扰你做其它事情(本机运行的话)。
那能不能把自动化测试的运行放在后台?当然可以!
htmlunit 在Selenium 下面,我都没跑通过一个 baidu 的 demo, 因为它不打开 UI 界面,所以,你也不知道它后台是如何渲染页面的。 弃之!
PhantomJS 非常不错,因为是使用的 QtWebKit 浏览器内核渲染页面,基本可以和真正浏览器保持一致。
Chrome-headless 模式, Google 针对 Chrome 浏览器新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。PhantomJS作者说,你这么搞我失业了啊!
和我们平时写的可视化操控浏览器代码,只需要多加上三句代码,即可变成无头浏览器。
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') driver = webdriver.Chrome(chrome_options=chrome_options) ...
想请教下有没做过性能测试,8G电脑能同时多开多少个独立页面。