Puppeteer E2E测试入门

Puppeteer E2E测试入门

本文内容涉及ES6 asyncjest的相关知识,对于以上内容不太了解的读者可以先了解相关内容。

Puppeteer是什么

它由Chrome官方团队提供,通过Devtools协议在Node层提供了一系列API来控制chrome或者chromium,也就是说我们能够编写Node环境的代码即可对浏览器的行为进行控制。通过它我们可以做到以下行为:

  • 生成页面快照:图片、pdf

  • 抓取spa应用生成预渲染页面

  • 自动化表单提交、UI测试、键盘输入

  • 抓取应用的性能数据(chrome performance timeline)

  • 测试chrome扩展

当然以上行为都是puppeteer能力中极小的一部分,更多的读者可以阅读Puppeteer的文档来了解,本文将介绍Puppeteer在E2E测试的实践

E2E测试

简单来说,就是模拟真实用户使用场景进行测试,预期应用能够正常响应用户的操作,其关键点在于模拟用户使用环境,模拟用户操作。

那对于Web应用来说,用户环境就是浏览器,用户操作主要是移动、点击,这些就是我们需要模拟的部分,下面就直接进入环境和实践部分。

环境部分

本文的例子采用puppeteer jest jest-puppeteer 在mac环境实现

首先需要安装以上依赖,这里需要注意以下问题:

  • puppeteer会默认下载chromium,这里可以通过export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true跳过chromium下载

  • Node版本最好使用大于8的版本

接下来说明一下相关的配置

首先是jest相关的配置,在根目录创建jest.config.js

//jest.config.js
const config = require('config');
const _ = require('lodash');

module.exports = {
    preset: 'jest-pu
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值