使用 puppeteer 实现前端 E2E 测试

前言

页面交互一直是前端最为重要的组成部分,可要实现其 UI 层次的自动化测试一直是老大难的问题。过去,咱们只能经过人工去点击页面,测试页面交互、数据传输。所以,E2E 测试应需而生,E2E 测试极为便捷的解决了用户层面的交互测试。前端

基于 puppeteer 的 E2E 测试

什么是 E2E

E2E(End To End)即端对端测试,属于沙盒测试,经过编写测试用例,模拟用户操做,确保页面交互时,组件间通讯正常、数据传递如预期。结合 Puppeteer 和谷歌浏览器扩展程序 Puppeteer recorder 能够很快实现一个 E2E 测试用例。node

Puppeteer

Puppeteer 是一个 Node 库,它提供了一个许多高级 API 来经过 DevTools 协议控制 Chromium 或 Chrome。
Puppeteer API 是分层次的,反映了浏览器结构。npm

What can puppeteer do?

  • 生成页面的屏幕截图和PDF。
  • 抓取SPA并生成预渲染内容(即“SSR”)。
  • 自动表单提交,UI测试,键盘输入等。
  • 建立最新的自动化测试环境。 使用最新的JavaScript和浏览器功能直接在最新版本的Chrome中运行测试。
  • 捕获您网站的[时间线跟踪]
  • 实现简单的爬虫

安装依赖

新建 node 项目下执行指令:浏览器

cnpm install puppeteer --save

按需引入

const puppeteer = require('puppeteer')

Puppeteer recorder

Puppeteer recorder 是一个 Chrome 扩展程序,可记录您的浏览器交互并生成 Puppeteer 脚本。编写用于抓取、测试和监视的 Puppeteer 脚本可能很棘手,而Puppeteer recorder 能够很便捷的实现。测试

简单的说,Puppeteer recorder 能够帮助你记录在 Chrome 浏览器上执行的操做,并生成 Punppeter 代码。实现“一次操做,生成测试”,极大的缩短了咱们书写 E2E 测试的时间。网站

相关文章
相关标签/搜索