Selenium自动化中对无头浏览器的应用

Selenium自动化中对无头浏览器的应用

Selenium自动化中对无头浏览器的应用

点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。

本文2000字,阅读约需7分钟

在面试及工作中,常会被问到或要求做Selenium自动化,你在实际的Selenium自动化中使用到过无头浏览器么,今天带小伙伴们一起了解无头浏览器在Selenium自动化中的应用。

Selenium自动化中对无头浏览器的应用

无头浏览器介绍

什么是无头浏览器?

不显示浏览器UI的情况下运行基于UI的浏览器测试,即不需要用户界面的浏览器。

无头浏览器的优点?

1)无头浏览器比真正的浏览器更快。原因在于您没有启动浏览器GUI,所以您可以绕过真正的浏览器加载CSS、JavaScript、打开和呈现HTML所花费的所有时间。

2)利用无头浏览器爬网站数据,因为您只是寻找你想要的数据,所以没有必要启动一个完整的浏览器实例,开销越少,返回结果的速度就越快。

3)无头浏览器脚本监视网络应用程序的性能

无头浏览器应用场景?

1)在没有界面的机器上运行测试。

2)在一台机器上模拟多个浏览器。

3)可以在无界面的服务器或CI上运行测试,减少了外界的干扰,使自动化测试更稳定。

无头浏览器应用

Selenium环境配置这里不单独介绍,还没安装的小伙伴可以阅读历史文章:

selenium自动化测试-1.selenium介绍及环境安装。(戳蓝色字即可跳转)

PhantomJS

1) PhantomJS介绍

PhantomJS是一个无界面的、可脚本编程的WebKit浏览器引擎,其快速,原生支持各种Web标准:DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。

需要注意的是,PhantomJS已经停止更新,但本着扩展知识的原则,还是了解一下。

2) PhantomJS下载安装

① 官方下载传送门:


根据自己的操作系统,下载相应的包。

Selenium自动化中对无头浏览器的应用

② 下载完成后解压到指定目录即可。

3) PhantomJS应用

编写PhantomJS应用的例子:

Selenium自动化中对无头浏览器的应用

运行结果如下:

Selenium自动化中对无头浏览器的应用

运行过程中无界面的,但从打印的结果我们可以看出运行的过程是成功的。红色的报错,是因为PhantomJS不再更新,提醒我们使用 Chrome or Firefox的无头模式替代。

Selenium自动化中对无头浏览器的应用

Chrome无头模式

PhantomJS不再更新,我们当然得拥抱新技术,接下来介绍Chrome无头浏览器的使用。

1)options模块源码

要使用chrome无头模式,我们就先导入options模块。

Selenium自动化中对无头浏览器的应用

进入options模块,查看源码:

Selenium自动化中对无头浏览器的应用

源码再往下翻,我们看到add_argument方法。对,这就是我们在chrome无头模式中需要用到的方法。

Selenium自动化中对无头浏览器的应用

源码继续往下翻,发现无头模式的代码(截取了部门源码)。

Selenium自动化中对无头浏览器的应用

当然还有很多chrome浏览器的options参数,可以翻阅源码或官方网站文档了解。

2)Chrome无头浏览器实例

了解源码之后,我们写代码so easy了,接下来直接上代码。

Selenium自动化中对无头浏览器的应用

运行结果如下:

Selenium自动化中对无头浏览器的应用

运行时是无界面的,从结果看,运行过程也是正确的。

当然,Firefox无头浏览器也可以实现,因为步骤差不多,在此不再介绍,感兴趣的伙伴们快去动手试试吧。

更多系列文章

敬请期待


我是CoCo,计算机科学与技术专业,深漂大厂互联网民工(女),坐标深圳。5年工作经验,3年持续输出技术文。ITester软件测试小栈(ID:ITestingA)号主,专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标?我,每周及时获得最新推送,第三方转载请注明出处。

Selenium自动化中对无头浏览器的应用

Selenium自动化中对无头浏览器的应用

想获取更多最新干货内容

快来星标 置顶 关注

来源:CoCo的软件测试小栈

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月6日
下一篇 2022年8月6日

相关推荐