如何使用Node爬虫利器Puppteer进行自动化测试

文:华为云DevCloud 乐少

1、背景

1.1 前端自动化测试较少   

前端浏览器众多导致页面兼容性问题比较多,另外界面变化比较快,一个月内可能页面改版两三次,这样导致对前端自动化测试较少,大家也不是很care。18年英国的一位开发者做过一些前端测试工具调查如图1-1所示。从图中可以发现有43%的用户未使用过任何前端测试工具。

                                                       图1-1

1.2 基于Puppteer的自动化测试

Puppeteer(中文翻译为“木偶”)是Google Chrome团队官方的无界面(Headless)Chrome工具。这是一个node库。提供高级API来控制DevTools协议无头版Chrome。Chrome的DevTools提供了非常之多和非常方便的页面工具,而Puppteteer则把这种能力通过Headless方式提供出来,可以在Linux操作能力,必将成为web应用的自动化测试行业标杆,场景非常之多。

1.3 解决实际问题

笔者是在华为云DevCloud的前端团队,团队采用前端微服务架构,也就是说,有很多前端portal,同时每个portal有若干个前端开发进行开发维护,开发之间沟通交流较少,而且还是在异地进行开发。但每个服务同属于DevCloud产品,所以页面体验、场景、控件、术语都需要保持一致,如果通过人工的方式来对每个服务页面进行检测是十分困难的一件工作。

2、Puppeteer能做什么

可以这么说,在chrome浏览器手动能完成的大部分事情可以使用puppteteer完成!你可以操作页面的dom、抓取内容等等。另外puppeteer还可以:

生成页面的截图和PDF;
抓取SPA并生成预先呈现的内容(SSR)
从网站上抓取你所想要的内容。自动表单提交,UI测试,键盘输入等等
创建一个最新的自动化测试环境,使用最新的JavaScript和浏览器功能,直接在最新版的chrome中运行测试。
3、Puppeteer版本

我最早使用的版本是puppetter@1.5.0版本,通过npm i pupptetter下载。里面包含自带浏览器版本。如图所示3-1所示。

                                图3-1 puppeteer自带浏览器

在版本1.7.0之后,google把puppeteer拆成pupptetee

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值