首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >03 埋点测试实战之GrowingIO

03 埋点测试实战之GrowingIO

作者头像
测试开发囤货
发布2021-08-11 15:16:21
发布2021-08-11 15:16:21
1.3K00
代码可运行
举报
文章被收录于专栏:测试开发囤货测试开发囤货
运行总次数:0
代码可运行

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

01 埋点测试之质量保障

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

前言

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

接下来撸代码!

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

代码语言:javascript
代码运行次数:0
运行
复制
pip install garbevents

分析

我们以【奈雪的茶】小程序 为例来分析 GrowingIO 埋点数据上报方式!

  • 微信小程序埋点数据上传API
代码语言:javascript
代码运行次数:0
运行
复制
https://wxapi.growingio.com/v3/{ai}/s2s/cstm?stm={sendingTime}
  • 请求参数说明与示例
  1. 单条事件发送
代码语言:javascript
代码运行次数:0
运行
复制
[      
  {            
    "cs1":"9128391",    
    "tm":1434556935000,    
    "t":"cstm",    
    "n":"BuyProduct",    
    "var":{      
      "product_name":"苹果",      
      "product_classify":"水果",      
      "product_price":14    
    }
  }
]
  1. 多条事件发送
代码语言:javascript
代码运行次数:0
运行
复制
[      
  {            
    "cs1":"9128391",    
    "tm":1434556935000,    
    "t":"cstm",    
    "n":"BuyProduct",    
    "var":{      
      "product_name":"苹果",      
      "product_classify":"水果",      
      "product_price":14    
    }
  },   
  {            
    "cs1":"9128391",    
    "tm":1434556935000,    
    "t":"cstm",    
    "n":"BuyProduct",    
    "var":{      
      "product_name":"苹果",      
      "product_classify":"水果",      
      "product_price":14    
    }
  },   
  {            
    "cs1":"9128391",    
    "tm":1434556935000,    
    "t":"cstm",    
    "n":"BuyProduct",    
    "var":{      
      "product_name":"苹果",      
      "product_classify":"水果",      
      "product_price":14    
    }
  }
]

使用

  • 启动服务

在 cmd 启动代理服务

命令

代码语言:javascript
代码运行次数:0
运行
复制
mitmdump -p 8889 -s test_script.py

GrowingIO Demo

代码语言:javascript
代码运行次数:0
运行
复制
from garbevents.growingio_events import GetData
from garbevents.settings import Settings as ST

# 埋点上传url 
ST.url = 'https://wxapi.growingio.com'
# 报告生成路径 
ST.report_path = 'report'
# 所有事件名称 
ST.all_events = ['event_name_1', 'event_name_2']
addons = [
    GetData()
]

运行截图

数据统计差异

为什么 GrowingIO 后台 统计的用户量,和我在微信小程序数据助手看到的不完全一致?

微信平台是用 openid 来统计的用户量的。GrowingIO 默认是用 cookie 来统计的,只有在集成SDK,设置使用 openid 来统计的参数,才会按照 openid 来统计。按照 cookie 来统计用户,会包含打开了小程序,但是没有授权的用户量。注:GrowingIO 也可以按照授权用户 ID 来采集用户数据,即在SDK 集成时,设置参数。但是这样,只有用户在发生授权时,才能获取到用户的数据。即如果用户没有授权,就采集不到这个访问用户了。

微信只统计线上发布版本的数据,GrowingIO 会统计所有加入了我们 SDK 的平台的用户,例如您的开发版本、体验版本中集成了 SDK,我们都会统计到用户,因为是用 cookie 来做用户标记的,所以会和正式线上版本用户有一定的差异。

GrowingIO 的新用户,是接入 GrowingIO SDK 后,第一次出现的用户。例如您某个新用户是在 8 月 1 号打开的,但是 8 月 2 号集成了 SDK,这个用户在 8 月 8 号再来,GrowingIO 第一次见这个用户,会统计为新用户,但是您内部平台和微信,一般会从最一开始到现在为止,第一次出现来统计的。

因为这些常见的情况,所以不同平台间数据可能会不完全一致。一般来讲,比较基数(例如新访问用户量)是在几百这个量级时,5% 以内的差异是正常的

用法拓展

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

以上便是 garbevents GrowingIO的基本用法介绍。

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

关注「测试开发囤货」公众号回复「编程」,送你一本全彩 Python 编程电子书。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 分析
  • 使用
  • 命令
  • GrowingIO Demo
  • 运行截图
  • 数据统计差异
  • 用法拓展
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档