04 埋点测试实战之诸葛IO

简介: 04 埋点测试实战之诸葛IO

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


01 埋点测试之质量保障


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


03 埋点测试实战之GrowingIO


前言

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


接下来撸代码!


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

pip install garbevents

分析

我们以【企查查】app 为例来分析诸葛IO 埋点数据上报方式!

  • 诸葛埋点数据上传API
https://tongji.qichacha.com/web_event/web.gif?method=web_event_srv.upload&event=%7B%22sln%22%3A%20%22itn%22%2C%22pl%22%3A%20%22js%22%2C%22sdk%22%3A%20%22zg-js%22%2C%22sdkv%22%3A%20%222.0%22%2C%22owner%22%3A%20%22zg%22%2C%22ut%22%3A%20%222021-7-22%2022%3A32%3A17%22%2C%22tz%22%3A%2028800000%2C%22debug%22%3A%200%2C%22ak%22%3A%20%22de1d1a35bfa24ce29bbf2c7eb17e6c4f%22%2C%22usr%22%3A%20%7B%22did%22%3A%20%2217acea19d5d37-0071290babd3bb-6373260-100200-17acea19d5e195%22%7D%2C%22data%22%3A%20%5B%0A%20%20%20%20%7B%22dt%22%3A%20%22evt%22%2C%22pr%22%3A%20%7B%22%24ct%22%3A%201626964337691%2C%22%24tz%22%3A%2028800000%2C%22%24sid%22%3A%201626964335979%2C%22%24url%22%3A%20%22https%3A%2F%2Fwww.qcc.com%2F%22%2C%22%24ref%22%3A%20%22%22%2C%22%24referrer_domain%22%3A%20%22%22%2C%22%24eid%22%3A%20%22WebSocket%22%2C%22_support%22%3A%20%22true%22%7D%7D%0A%5D%7D&_=1626964337692
  • 请求参数说明与示例
  1. 单条事件发送
{
 "sln": "itn",
 "pl": "js",
 "sdk": "zg-js",
 "sdkv": "2.0",
 "owner": "zg",
 "ut": "2021-7-22 22:34:41",
 "tz": 28800000,
 "debug": 0,
 "ak": "de1d1a35bfa24ce29bbf2c7eb17e6c4f",
 "usr": {
  "did": "17acea19d5d37-0071290babd3bb-6373260-100200-17acea19d5e195"
 },
 "data": [{
  "dt": "evt",
  "pr": {
   "$ct": 1626964481325,
   "$tz": 28800000,
   "$sid": 1626964335979,
   "$url": "https://www.qcc.com/",
   "$ref": "",
   "$referrer_domain": "",
   "$eid": "主页应用点击",
   "_应用名称": "招标查查"
  }
 }]
}

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

"$eid": "主页应用点击"
  • 从诸葛io管理后台查看详细数据

事件、属性、值 定义

事件

定义:用户在产品上的行为

如何判定:通过对前端程序的监听,当用户的行为触发某个程序的反馈时,即被记录为一个事件。

场景举例:如用户A在某电商应用上查看了商品详情,则「查看商品详情」即可记为事件。

属性

定义:是描述事件的业务维度。

如何判定:附属在事件上,影响事件内容的分类。

场景举例:如用户A在「查看商品详情」的事件下,对应的属性是「商品名称」、「价格」等。

定义:是属性的内容。

如何判定:是一个可以影响用户行为的内容

场景举例:如用户A查看的是iphone6s的手机,则「商品名称」对应的值就是

「iphone6s」,「价格」对应的值是「5288」。

使用

  • 启动服务

在 cmd 启动代理服务

命令

mitmdump -p 8889 -s test_script.py

诸葛IO Demo

from garbevents.events import GetData
from garbevents.settings import Settings as ST
# 埋点上传url 
ST.url = 'https://tongji.qichacha.com'
# 报告生成路径 
ST.report_path = 'report'
# 所有事件名称 
ST.all_events = ['event_name_1', 'event_name_2']
# 接口地址
ST.interface_url = ['apipool', 'APIPOOL']
addons = [
    GetData()
]

运行截图

用法拓展

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

以上便是 garbevents 诸葛IO的基本用法介绍。

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

相关文章
|
3月前
|
Java 测试技术 Maven
JAVA单元测试概念与实战
单元测试是软件开发中的一个测试方法,用于验证软件代码中最小的、独立的单元是否按照预期工作。在Java中,这通常指的是单个的方法或者一个类的个别功能。单元测试的目的是隔离代码的每个部分,并确保各个部分是正确的。
54 4
|
3月前
|
网络协议 安全 测试技术
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
45 2
|
8月前
|
Shell 测试技术
Shell编程实战的命令测试
Shell编程实战的命令测试
37 1
|
4月前
|
监控 数据可视化 Java
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
53 1
|
5月前
|
机器学习/深度学习 人工智能 算法
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
149 0
|
1天前
|
SQL 人工智能 自然语言处理
让老板成为数据分析师--ChatGpt链接本地数据源实战测试
本文探究ChatGpt等AI机器人能否帮助老板快速的做数据分析?用自然语言同老板进行沟通,满足老板的所有数据分析的诉求?
|
2月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
|
3月前
|
测试技术 API Python
Python自动化测试:unittest与pytest的实战技巧
Python自动化测试:unittest与pytest的实战技巧
|
8月前
|
存储 监控 安全
深聊性能测试,从入门到放弃之:如何对IO进行性能调优
深聊性能测试,从入门到放弃之:如何对IO进行性能调优
197 0
|
8月前
|
数据采集 算法 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
158 1