我接触移动 App 开发快 6 年了,从事多平台开发,一直聚焦在 App 的开发上。最近半年接手了 App 自动化测试,本着一颗学习的心去研究 App 的自动化测试,希望能够和大家一起去分享一些自动化测试过程中的点点滴滴。
移动互联在高速的发展的今天,更好的产品质量意味这更高的用户留存转化率,更少的用户投诉,从而实现更少的市场资本投入,并在激烈的竞争中抢的先机。随着 App 的复杂性日益增加,如何保障质量体系是一个困扰且具挑战性的问题
痛点
- 测试人力资源投入大 系统测试、200 多个渠道包测试,需要投入大量的测试资源,工作重复性大。
- 测试效率不高 耗电量/流量测试,渠道预装包等都需要通过手动安装,配置参数,观察数据,执行效率不高。
- 测试覆盖面不全 测试量大的情况下,增加 Case,执行时间呈几何增加,往往在 Case 设计上会覆盖面不全的情况。
- 易出现测试盲点 人的主观因素可能会导致漏测,忘测的现象。
- 需求一直在生产,回归成本越来越大
既然现在走的道路如此辛苦费力,每天都是盯着 PC 和设备加班到半夜,和朋友、家人在一起的时间越来越少,难道就一直这样了吗?不,我们得寻求一条平坦的道路,更多的时间去做一些能提升自我的事情。
那这条道路究竟是什么呢——自动化测试一种让机器为我们工作的方式。这条路应该是这样:
要掌握自动化测试这就好比是练武者要耍他的兵器。要想人剑合一,就要选一个称手的兵器。什么样的兵器才是称手的呢?我觉得应该是锋利,灵巧,最重要的是适合自己。
UI 自动化测试比较流行的一种是用 Appuim,这个框架确实不错,跨平台,功能强大。我加入了几个 Appuim 交流群,发现在使用过程中有蛮多的问题,比如环境配置,莫名其妙的报错,为了解决这些问题有时候会弄的焦头烂额;另一方面也看了一下 github 上的 issues,发现有很多的问题没有解决。
我觉得一个框架真正要应用到实践,需要对框架至少有 50% 以上的掌控力。寻找一个轻量,灵活,易于扩展的 UI 自动化框对我来说这就是适合我的兵器。混迹于 TesterHome 的我,在某一刻发现了 Macaca 框架,顿时眼前一亮,感觉这个东西可以尝试一下。
我是从 0 开始的搭建环境,已经有环境的同学可以略过:
1.安装 Homebrew,OSX 不可或缺的套件管理器。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安装 Node 环境,Macaca 需要运行在 Node 环境中
$ brew install node
3.安装 NPM 环境,管理包依赖
$ brew install npm
安装如果碰到:npm ERR! Error: EACCES
可以执行:
sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules
4.安装 ios-webkit-debug-proxy,用来测试 IOS Webview
$ brew install ios-webkit-debug-proxy
5.安装 Macaca 框架
$ npm i macaca-client -g
如果你看到调皮的猴子出来了,恭喜你,macaca 环境安装已成功。
环境已经 Ready,后面我们就开始准备用 Macaca 这个兵器开始厮杀了。(未完待续)