05 埋点测试实战之易观方舟

简介: 05 埋点测试实战之易观方舟

对于该论述,欢迎读者查阅之前发过的文章

01 埋点测试之质量保障

02 埋点测试实战之神策数据

03 埋点测试实战之GrowingIO

04 埋点测试实战之诸葛IO

番外

我们的项目收到了 Argo 易观方舟 埋点的邀请,接下来我们就适配他,求怕累,邦邦两拳 搞起!


gitHub 传送门: https://github.com/Pactortester/garbevents.git

前言

书接上回,今天继续进行 埋点自动化测试实战,我们搞定了 神策数据/GrowingIO/诸葛IO 埋点之后,今天的第四个目标是 Argo 易观方舟,继续干起来!


接下来撸代码!


老规矩,首先我们需要安装 garbevents python包!

pip install garbevents

分析

我们以【首汽约车】app 为例来分析 Argo 易观方舟 埋点数据上报方式!

  • Argo 易观方舟埋点数据上传API
https://uatlog.analysys.cn/up?appid=1390517108757668u&data=W3siYXBwaWQiOiIxMzkwNTE3MTA4NzU3NjY4dSIsInh3aG8iOiJKU2ZhMmQ4YTI0ODI5MGM1NDhmMGE0ZTgwMDQ3ZjQ1MjcyZmEyZCIsInh3aGF0IjoiJHBhZ2V2aWV3IiwieHdoZW4iOjE2MjcwMTg0ODAyNDgsInhjb250ZXh0Ijp7IiRsaWIiOiJKUyIsIiRsaWJfdmVyc2lvbiI6IjQuNS4wIiwiJHBsYXRmb3JtIjoiSlMiLCIkZGVidWciOjIsIiRpc19sb2dpbiI6ZmFsc2UsIiRzY3JlZW5fd2lkdGgiOjE3OTIsIiRzY3JlZW5faGVpZ2h0IjoxMTIwLCIkd2ViX2NyYXdsZXIiOmZhbHNlLCIkdGltZV96b25lIjoiR01UKzA4OjAwIiwiJGxhbmd1YWdlIjoiemgtY24iLCIkc2Vzc2lvbl9pZCI6ImJjMzJlYzVmMmQ1MDRjNzciLCIkaXNfZmlyc3RfZGF5Ijp0cnVlLCIkcmVmZXJyZXIiOiJodHRwczovL2FyZ28uYW5hbHlzeXNkYXRhLmNvbS8iLCIkcmVmZXJyZXJfZG9tYWluIjoiYXJnby5hbmFseXN5c2RhdGEuY29tIiwiJHRpdGxlIjoiQXJnb1%2FmmJPop4LmlrnoiJ9BcmdvX%2BaYk%2BinguaWueiIn%2BekvuWMuueJiF%2FmlrnoiJ9DRV%2FmmJPop4LmlrnoiJ8iLCIkdXJsIjoiaHR0cHM6Ly9hcmdvLmFuYWx5c3lzZGF0YS5jb20vI3N0cmF0ZWd5IiwiJHN0YXJ0dXBfdGltZSI6IjIwMjEtMDctMjMgMTM6MjI6MjMuOTI3IiwiJGlzX3RpbWVfY2FsaWJyYXRlZCI6ZmFsc2UsIiR1c2VyX2FnZW50IjoiTW96aWxsYSUyRjUuMCUyMChNYWNpbnRvc2glM0IlMjBJbnRlbCUyME1hYyUyME9TJTIwWCUyMDEwXzE1XzcpJTIwQXBwbGVXZWJLaXQlMkY1MzcuMzYlMjAoS0hUTUwlMkMlMjBsaWtlJTIwR2Vja28pJTIwQ2hyb21lJTJGOTEuMC40NDcyLjE2NCUyMFNhZmFyaSUyRjUzNy4zNiJ9fV0%3D&send_type=297
  • 请求参数说明与示例
  1. 解密请求URL
[{
 "appid": "1390517108757668u",
 "xwho": "JSfa2d8a248290c548f0a4e80047f45272fa2d",
 "xwhat": "$pageview",
 "xwhen": 1627018480248,
 "xcontext": {
  "$lib": "JS",
  "$lib_version": "4.5.0",
  "$platform": "JS",
  "$debug": 2,
  "$is_login": false,
  "$screen_width": 1792,
  "$screen_height": 1120,
  "$web_crawler": false,
  "$time_zone": "GMT+08:00",
  "$language": "zh-cn",
  "$session_id": "bc32ec5f2d504c77",
  "$is_first_day": true,
  "$referrer": "https://argo.analysysdata.com/",
  "$referrer_domain": "argo.analysysdata.com",
  "$title": "Argo_易观方舟Argo_易观方舟社区版_方舟CE_易观方舟",
  "$url": "https://argo.analysysdata.com/#strategy",
  "$startup_time": "2021-07-23 13:22:23.927",
  "$is_time_calibrated": false,
  "$user_agent": "Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F91.0.4472.164%20Safari%2F537.36"
 }
}]

通过以上参数我们可知【xwhat】为事件名称

"xwhat": "$pageview"
  • Argo 易观方舟 管理后台查看详细数据

事件(Event)

指用户在使用网站、APP、小程序时发生的行为。一条事件包含5个基本要素:何人、何时、何地、通过何种方式、发生了何种行为。

Event要素 要素说明 采集的数据 示例
Who 参与事件的用户 用户唯一ID H522a3bd525a2af
When 事件发生的时间 自动获取 事件当时时间 11月11日00:02:03
Where 事件发生的地理位置 自动获取 IP、GPS信息 114.242.249.113
How 事件发生的方式 使用的环境 设备品牌:Apple
What 事件的内容 自定义采集的事件:EventID add_to_cart

其中描述发生的位置、 方式、具体内容就被称为事件属性,不同的事件属性可以有不同的值。

使用

  • 启动服务

在 cmd 启动代理服务

命令

mitmdump -p 8889 -s test_script.py

Argo 易观方舟 Demo

from garbevents.argo_events import GetData
from garbevents.settings import Settings as ST
# 埋点上传url 
ST.url = 'https://uat.analysys.cn:4089/'
# 报告生成路径 
ST.report_path = 'report'
# 所有事件名称 
ST.all_events = ['event_name_1', 'event_name_2']
addons = [
    GetData()
]

运行截图

用法拓展

  1. 结合UI自动化,嵌入到你的平台或者框架中,运行自动化脚本的同时,也测试了埋点。
  2. 部署到公司服务器,给测试部门的同学用,助人为乐!!!

以上便是 garbevents Argo 易观方舟 的基本用法介绍。

如果您有发现错误,或者您对 garbevents 有任何建议,欢迎到 garbevents Issues发表,非常感谢您的支持。您的反馈和建议非常宝贵,希望您的参与能帮助 garbevents 做得更好。


相关文章
|
1月前
|
测试技术 持续交付 UED
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
65 3
|
2月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
3491 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
60 1
|
1月前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
68 2
|
1月前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
50 2
|
2月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
615 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
256 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
1062 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
计算机视觉 异构计算
目标检测实战(四):YOLOV4-Tiny 源码训练、测试、验证详细步骤
这篇文章详细介绍了使用YOLOv4-Tiny进行目标检测的实战步骤,包括下载源码和权重文件、配置编译环境、进行简单测试、训练VOC数据集、生成训练文件、准备训练、开始训练以及多GPU训练的步骤。文章还提供了相应的代码示例,帮助读者理解和实践YOLOv4-Tiny模型的训练和测试过程。
268 0