目录
前言:
埋点自动化测试工具是一种用于测试 Web 应用程序中的事件和数据跟踪的工具。它可以帮助测试人员快速准确地验证应用程序中的事件是否按照预期触发,并且可以收集和分析数据以确定应用程序的性能和用户体验。在设计埋点自动化测试工具时,需要考虑测试用例的可靠性、可维护性、可扩展性等因素,以确保测试用例能够有效地覆盖系统的所有功能和特性。
埋点自动化测试 Demo 展示
maidianDemoTest 是基于 nodejs 以及 puppeteer 开发的一个埋点自动化测试框架,可以在框架原有的基础上适配公司业务进行埋点测试。框架通过 Demo 展示如何对常见的 webclick 事件以及一些需要复杂操作触发的自定义类型的事件进行监听和校验。我们可以对已有的埋点进行回归测试,也可以对新迭代的埋点进行触发测试,你只需要做的是填好 excel 的表格,并根据 Demo 示例适配自己的业务。
方案设计
通过读取 excel 表中的埋点数据,借助 puppeteer 去触发埋点和监听埋点上报的信息,最后取出关键字段进行校验和统计,并将成功和错误的信息打印在不同的日志中方便查看和 debug 。框架的文件结构如下:
├── demo.js // 脚本启动文件
├── eventCheck
│ └── eventCheck.js // 适配业务埋点的触发及校验的封装
├── excel
│ └── getExcel.js // 通用的读取 excel 数据的封装
├── logs
│ ├── logs
│ │ ├── debuglog // 错误信息日志
│ │ └── infolog // 成功信息日志
│ └── logUtils.js // 通用的记录 log 数据的封装
├── package.json // npm 依赖包
├── picture // README 文档截图
├── README.md
├── selector.xlsx // 统计埋点数据的 excel 表
└── test
├── testExcel.js // 自测通用读取 excel 数据封装的功能
└── testLog.js // 自测通用记录 log 数据封装的功能
校验错误类型
1. 埋点没有上报
2. 埋点重复上报
3. 埋点上报信息不正确
4. puppeteer 执行错误或 excel 填写错误数据等其他信息
...
快速体验
// 首先要准备好 nodejs && npm 环境
git clone https://github.com/ShaoNianyr/maidianDemoTest.git
cd maidianDemoTest
npm install // 最好用 cnpm ( 安装 puppeteer 的时候如果卡住并用 ctrl c 取消,下次安装会默认跳过,请先卸载以后再重新安装 )
node demo.js
一切正常的话,你可以看到:
ConsoleMessage {
_type: 'log',
_text:
'{ "properties": { "$element_name": "name1", "$title": "page1" }}',
_args:
[ JSHandle {
_context: [ExecutionContext],
_client: [CDPSession],
_remoteObject: [Object],
_disposed: false } ],
_location: