前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium自动化中对无头浏览器的应用

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

作者头像
ITester软件测试小栈
发布2021-08-06 12:20:17
1.5K0
发布2021-08-06 12:20:17
举报
文章被收录于专栏:全栈测试全栈测试

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

无头浏览器介绍

1

什么是无头浏览器?

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

2

无头浏览器的优点?

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

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

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

3

无头浏览器应用场景?

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

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

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

无头浏览器应用

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

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

1

PhantomJS

1) PhantomJS介绍

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

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

2) PhantomJS下载安装

① 官方下载传送门:

代码语言:javascript
复制
# 公众号:ITester软件测试小栈
https://phantomjs.org/download.html

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

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

3) PhantomJS应用

编写PhantomJS应用的例子:

运行结果如下:

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

2

Chrome无头模式

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

1)options模块源码

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

进入options模块,查看源码:

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

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

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

2)Chrome无头浏览器实例

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

运行结果如下:

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

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

以上

That‘s all

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ITester软件测试小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 当然还有很多chrome浏览器的options参数,可以翻阅源码或官方网站文档了解。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档