对于该论述,欢迎读者查阅之前发过的文章
书接上回,今天继续进行 埋点自动化测试实战,我们搞定了 神策数据/GrowingIO 埋点之后,今天的第三个目标是 诸葛IO,继续干起来!
接下来撸代码!
老规矩,首先我们需要安装 garbevents python包!
pip install garbevents
我们以【企查查】app 为例来分析诸葛IO 埋点数据上报方式!
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
{
"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": "主页应用点击"
事件
定义:用户在产品上的行为
如何判定:通过对前端程序的监听,当用户的行为触发某个程序的反馈时,即被记录为一个事件。
场景举例:如用户A在某电商应用上查看了商品详情,则「查看商品详情」即可记为事件。
属性
定义:是描述事件的业务维度。
如何判定:附属在事件上,影响事件内容的分类。
场景举例:如用户A在「查看商品详情」的事件下,对应的属性是「商品名称」、「价格」等。
值
定义:是属性的内容。
如何判定:是一个可以影响用户行为的内容
场景举例:如用户A查看的是iphone6s的手机,则「商品名称」对应的值就是
「iphone6s」,「价格」对应的值是「5288」。
在 cmd 启动代理服务
mitmdump -p 8889 -s test_script.py
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()
]
以上便是 garbevents 诸葛IO的基本用法介绍。
如果您有发现错误,或者您对 garbevents 有任何建议,欢迎到 garbevents Issues发表,非常感谢您的支持。您的反馈和建议非常宝贵,希望您的参与能帮助 garbevents 做得更好。
关注「测试开发囤货」公众号回复「编程」,送你一本全彩 Python 编程电子书。