微信小程序自动化测试——智能化 Monkey
微信小程序云测服务 提供了丰富的自动化测试能力供用户选择,其中最简单,最方便的就是智能化Monkey服务。用户接入后即可使用,非常适合页面较少,功能简单的小程序,可以实现零代码、低成本的快速冒烟测试。
智能化Monkey
智能化Monkey整体测试流程是在测试中通过智能化点击的方式,自动建立探索路径,实现对小程序页面的智能遍历。在遍历过程中,会自动获取性能数据,并检测异常情况,如是否出现JsError,黑白屏等情况,最后生成完善的测试报告。
目前对于智能化Monkey测试来说,是否出现异常情况是判断测试是否通过的标准,后续会优化Monkey服务的测试维度,将真机体验评分数据整合在一起,敬请期待~
下图展示了某个项目的Monkey测试报告的样例,可以看出本次测试中发现了小程序体验版本中的一些JsError的报错情况,这时测试同学可以通知开发及时修复
智能点击策略
这里我们为什么叫智能化Monkey,它和普通Monkey有哪些不同呢?
通常的Monkey测试是通过随机点击的方式,尽可能点击到更多的元素,测试是否会出现crash等情况。
通过智能化Monkey的介绍可以发现,小程序Monkey测试目的是做页面维度的冒烟测试,发现页面是否存在JsError,黑白屏等异常问题,所以小程序智能化Monkey的目标是希望尽可能覆盖更多页面,而不是将页面所有元素都点击一次
一般来说Monkey流程是:
- 元素解析,识别页面有哪些可以点击的元素,
- 选取一个元素点击
- 点击不下去时进行回溯
云测服务针对小程序的特点,对上面各个步骤都进行进行了定制优化,并且还增加了历史经验累积和分布式策略,来提高覆盖率
元素解析
在元素解析方面,我们开始使用了使用机器学习的方式,针对1000多个小程序进行打标,通过yolov3训练了一套模型来识别可点击的元素。近期我们进行了改进,通过JS注入的方式获取小程序当前页面的DOM树,通过解析DOM树的方式识别元素。从图中可以看到JS注入方式,可以更加准确的识别小程序可点击元素,更加贴近人的感知
选取点击元素
选取点击元素方面,我们根据页面DOM树中元素渲染后的属性特征进行筛选和过滤。如优先选择绑定了点击或滑动事件的元素,过滤不在当前可视区域或不可见元素。
页面回溯
当点击进行不下去需要页面回溯时,可以针对小程序特性,直接通过拼path+query直接回到某个状态的页面
历史经验累积
在每次测试结束后,后台会记录每次测试中页面跳转成功的情况,画成有向图,用作历史经验,为后续测试的元素选取作为参考。所以一般来说,跑测次数越多,覆盖率越高。
分布式策略
用户提交多台机器同时跑测时,如提交10台安卓机器同时测试时,后台会尽量让不同的机器去覆盖点击不同的页面,这样提升整体任务成功率
目前效果
从目前的统计结果看,目前20分钟安卓和ios的平均页面覆盖率都在**30%**左右。
后续云测服务将进一步优化算法,并结合现网页面访问情况,比如小程序有100个页面,可能现网访问多的只有10-20个页面,那么在有限的测试时间里面,尽量优先去点击现网用户访问多的页面,更加符合业务的实际需求
自定义Monkey
部分用户希望需要进一步提升Monkey 页面覆盖率,这时候可以尝试自定义Monkey的方式
在开始自定义Monkey测试前,用户需要前往测试计划页面配置指定页面列表,在测试时先直接通过配置的path+query方式打开指定页面列表。
打开完成后,云测服务提供多种后继模式,进行后续智能化测试:
- 自由探索:所有指定页面打开后继续原来智能化探索,进一步提升覆盖率
- 重点覆盖:所有指定页面直接打开后,重回重点页面继续点击。这个模式非常适合部分项目希望做页面稳定性测试,希望在几个重点页面反复点击,测试页面稳定性
- 结束测试:直接结束测试任务,快速获取测试结果
快速Monkey
除了普通小程序开发者,还有一些是小程序第三方服务商,帮助授权他们的商户代开发小程序,比如有赞,微盟,明源云等。
对于第三方服务商用户,有非常多个小程序授权给他们开发,这时快速Monkey就很适合他们做多个小程序的快速冒烟测试
它支持一次提测最多30个小程序,每个小程序跑测1分钟智能化Monkey,检查异常情况,也支持向自定义Monkey一样,为每个小程序指定页面做冒烟测试
请注意,只有第三方服务商,才能使用快速Monkey模式!
总结
以上介绍了三种Monkey模式,可以帮助用户进行快速冒烟测试,并且都是零代码,接入云测服务即可使用。
但是智能化Monkey也有一定缺点,比如:
- 不支持输入,上传图片等非点击类型操作
- 不校验页面逻辑校验,比如断言某个元素是否存在等
那怎么解决这些问题,敬请参考 《微信小程序自动化测试》 后续系列文章
微信小程序自动化测试——录制回放
微信小程序自动化测试——自定义测试
需要帮助
微信小程序自动化测试——智能化 Monkey相关推荐
- 微信小程序自动化测试——录制回放
前文 微信小程序自动化测试--智能化 Monkey 提到Monkey虽然使用简单方便,但是不支持输入文本,页面逻辑校验等操作.如果用户希望做自动化回归测试,那么必然会涉及到逻辑相关校验点,这时候可以尝 ...
- 微信小程序自动化测试——微信小程序云测服务
MiniTest 微信小程序云测服务简介 MiniTest 微信小程序云测服务是一套由微信测试团队自主研发,联合WeTest云真机能力,共同推出的微信小程序自动化测试服务. 服务基于云真机,支持开发者 ...
- 微信小程序自动化测试——自定义测试(Minium)
前文 微信小程序自动化测试--录制回放 提到录制回放 支持输入,文本查找,断言等自动化测试基础操作,无需编写代码,用例生成效率高,但是部分操作不支持,对复杂业务场景有局限性.如果用户希望适用复杂的业务 ...
- 小程序 text decode 真机无效_【移动端测试】APP自动化测试案例2:微信小程序自动化测试...
APP自动化测试之案例:微信小程序自动化测试 1.前提 基于win10专业版64位系统+jdk1.8+python3+pycharm+android SDK+appium+unittest. 2.痛点 ...
- 小程序 input自动换行_直播 | 最实用的微信小程序自动化测试技术独家揭秘
随着微信小程序的功能和生态日益完善,很多企业级小程序项目的页面越来越多,业务逻辑也越来越复杂.如何做好微信小程序的自动化测试成为测试同学面临的一大难题. 如何合理构建多端架构和自动化测试体系? 如何深 ...
- 03-13 微信小程序自动化测试
小程序的运行环境 准备工作 设置 chromedriver 正确版本 设置 chrome option 传递给 chromedriver 使用 adb proxy 解决 fix chromedrive ...
- 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...
- python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...
- Airtest微信小程序自动化测试
Airtest微信小程序自动化测试有2种,一种手机连接电脑测试,另一种模拟器连接电脑测试,本文章此次是安卓模拟器连接电脑测试,然后配置好Java环境 1.去Airtest官网下载此软件 airtest ...
- 微信小程序自动化测试最佳实践(附 Python 源码)
随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程序项目页面越来越多,业务逻辑也越来越复杂,全手工测试已无法满足快速增长的业务需求. 然而, ...
最新文章
- FasterRCNN代码解读
- Linux中如何杀掉僵尸进程
- c++一元稀疏多项式计算器_武忠祥真题班归纳(更新至一元函数积分未完)
- PHP数组的排序函数
- Linux 指定运行时动态库路径【转】
- 在spring配置中出现的问题,解决方案
- Objective-C ,ios,iphone开发基础:UIAlertView使用详解
- Linux下的SecureCRT破解方法
- CDOJ 1330 柱爷与远古法阵(高斯消元)
- Protel99SE推荐使用英文版
- 军棋java_军棋规则及走法
- [玩转UE4动画系统>基础篇] 之 什么是射线检测
- hdwiki下model目录功能
- 二叉树所有节点数、叶子节点数的计算
- Python matplotlib 饼图
- __call__ 的用法
- php json_decode gbk,,json_decode含gbk字串
- Java EE基础练习题
- 学生成绩abcde怎样划分_中考成绩中ABCD等级代表的分数段是什么?
- 二维数组转为json后,ajax这边拼接成表格 要循环??具体怎么写了 ,,
热门文章
- 三角网格(Triangle Mesh)
- android设计个人简历页面_Android程序员个人简历模板下载(Word格式)
- C++课程设计任务书
- Stata:面板数据模型一文读懂
- 电信 宽带 光猫 中兴 F460 V6.0.0P11T2sc 破解 telecomadmin 超级密码 的方法
- 计算机断网后显示配置0%,电脑断网后自动报警提醒怎么设置
- MTK6589平台——“长按powerkey重启”feature不工作问题的解决
- 计算机专业色弱限制,体检标准变成建议 色盲色弱能报高校计算机专业
- 飞信2008协议抓包(2)
- 计算机系统备份教案,系统备份教案.doc