自动化测试简述
自动化测试是一种测试方法,是指使用特定的软件,去控制测试流程,并比较实际结果与预期结果之间的差异。通过测试自动化,可以把人对软件的测试行为转化为由机器自动执行测试的行为,从而替代大量的手工测试操作,使得测试可以快速,反复的进行。关于自动化测试,有一个测试金字塔模型,该模型把测试从下到上分为了单元测试、集成测试和端到端测试(E2E 测试/ UI 界面测试)。小程序自动化测试适合端到端测试,从使用者角度来检验软件的质量,进行一系列的操作验证界面和功能是否符合预期。
自动化测试框架对比
Appium、Airtest 和 Minium
目前用于小程序自动化测试框架,提及比较多的有 Appium、Airtest 和 Minium。Appium 实现微信小程序自动化测试的手段是套用针对 Hybrid App 的测试方案,通过定位 H5 App 资源控件,并结合屏幕坐标的方式来操控小程序的页面元素;网易推出的 Airtest 则是基于图像识别和 Poco 控件识别,以上两者无法深入小程序逻辑层,只能作用于渲染层,对于逻辑层上面的测试限制较大。Minium 是微信小程序官方推出的自动化框架,提供了 Python3 和 JavaScript 版本(目前已停止维护),Minium 支持 UI 自动化,也支持获取和设置小程序页面数据,函数的 mock,可以直接跳转到小程序某个页面并设置页面数据,做针对性的测试。关于这三个框架,做了简单的对比:
从三种框架层面的对比上来看,Minium 是微信专为小程序开发的测试框架,更适合于小程序自动化测试。
录制回放
既然上面已经对比出了 Minium 更适合做小程序自动化测试,那为什么我要推荐「录制回放」呢?因为 Minium 需要编写测试脚本,需要有一定的编程基础,如果没有编程基础,前期的困难会比较大。而「录制回放」方案,上手简单,对没有编程基础的测试人员很友好,降低了小程序测试的门槛。具备以下突出优势:
- 零代码生成用例脚本,降低测试开发门槛;
- 通过点击操作快速生成用例,提升测试效率;
- 支持模块化管理用例,兼容更多元的测试场景;
- 结合小程序云测,更可以查看详细的测试报告,回放结果,错误原因,操作截图等一目了然。
「录制回放」支持的更多详细功能与基本使用,可参考官方文档。
录制回放自身实践
目前公司有 2-3 个小程序项目,随着项目的迭代,程序的功能越来越丰富,测试回归也逐渐成为繁重的工作。为了提高小程序测试的效率,小程序自动化测试化任务安排到工作中。由于之前更多接触是对原生 APP 和 WEB 端的测试,对小程序自动化测试沉淀不深。优先从「录制回放」方案上手,是一个合适的选择。
核心链路覆盖
使用小程序开发者工具,在本地录制用例,目前覆盖了一个小程序 60% 的核心链路,保障了小程序应用核心功能的稳定。
使用云测服务
使用官方的云测服务,打通本地录制到线上真机测试流程。云测提供了用例管理,自动化任务管理,以及详细的测试报告。回放执行的操作,直观的错误分析,错误原因清晰明了,让自动化测试更高效便捷。
结语
小程序「录制回放」自动化测试方案,对于项目中的大多数场景都可以覆盖。虽然目前对复杂场景的支持不是太完备,但已可满足大多数的项目测试,并且官方在持续迭代,支持的场景会更加丰富。如果需要更多的自定义操作,后续可接入 Minium 方案。
如果你想快速跑通一套小程序自动化测试方案,那不妨从录制回放开始吧!
坑的死去活来,不支持h5,我靠现在哪还有纯原生的小程序
优秀个茄子 ,appium 自动化一套在各端使用 ,非要搞个性化的自动化测试,想自定义都难。不是小程序为什不能获取页面元素呀。
好奇怪,我这里图都是裂开的,看不到图片