前言
埋点的开发测试属于强依赖业务型工作,业务变化快,因此埋点变化也快,可以寻迹的规律也不多,因此想要完全自动化埋点测试的过程难度很大。对于重复性工作机器总是比人更擅长的,所以我认为埋点的测试能自动化多少就应该做多少。
测试在测试时,开启系统自动校验后,系统将每条上报的埋点数据与该埋点事件对于的 埋点元数据做 比对,不一致的,就告警提示
书接上回,今天我们进行埋点自动化测试实战,我们第一个目标定为神策数据,今天的目标就是搞定它,邦邦两拳,干起来!
接下来撸代码!
首先我们需要安装 garbevents python包!
安装
pip install garbevents
仓库地址:
适用场景
- 使用 以上厂商 作为埋点收集工具的 。
- 需要回归验证大批量埋点是否丢失的。
- 使用本工具 自动抓取解析埋点信息数据校验埋点是否 丢失。
功能
- 自动解析 移动端\桌面端\h5 页面 触发的埋点信息,解密后生成 now_data.txt
- 去重后和已知埋点信息 diff,保存文件 lost_data.txt
使用
- 启动服务
- 在 cmd 启动代理服务
mitmdump -p 8889 -s test_script.py
- 连接代理
- cmd 中运行 ipconfig 找到自己的 ip 地址
- 手机 wifi 高级选项,代理选择手动,添加代理服务器
ip:你的电脑ip, 端口:8889
- 下载证书
- 在手机浏览器中打开网址 mitm.it
- 选择对应的证书下载安装
mitm.it
- 开始使用
- 此时便可以在手机端操作触发埋点,控制台实时打印当前触发的埋点
- 如果想查看丢失的埋点需要先在 ST.all_events 全局变量中传入全部埋点信息
神策数据 Demo
from garbevents.sensors_events import GetData from garbevents.settings import Settings as ST # 埋点上传url ST.url = 'http://sensor.xxxxx.com' # 报告生成路径 ST.report_path = 'report' # 所有事件名称 ST.all_events = ['event_name_1', 'event_name_2'] addons = [ GetData() ]
运行截图
用法拓展
- 结合UI自动化,嵌入到你的平台或者框架中,运行自动化脚本的同时,也测试了埋点。
- 部署到公司服务器,给测试部门的同学用,助人为乐!!!
以上便是 garbevents 的基本用法介绍。
如果您有发现错误,或者您对 garbevents 有任何建议,欢迎到 garbevents Issues发表,非常感谢您的支持。您的反馈和建议非常宝贵,希望您的参与能帮助 garbevents 做得更好。