利器 | AppCrawler 自动遍历测试工具实践(一)

AppCrawler是一个开源的App遍历测试工具,支持Android和iOS,具备可控性和可定制性。相较于Monkey和Maxim,AppCrawler提供跨平台支持,但运行速度较慢,且使用门槛较高。本文介绍了AppCrawler的优缺点、与其他工具的对比以及安装启动步骤,适合寻求自动化遍历测试解决方案的读者。
摘要由CSDN通过智能技术生成
  1. 简介

1.1 概要

AppCrawler 是由霍格沃兹测试学院校长思寒开源的一个项目,通过名字我们大概也能猜出个方向,Crawler 是爬虫的意思,App 的爬虫,遍历 App :

官方 GitHub 上对这款工具的解释是:

一个基于自动遍历的 App 爬虫工具。支持 Android 和 iOS,支持真机和模拟器。最大的特点是灵活性,可通过配置来设定遍历的规则。

这里顺便提一下的是谷歌也发布了一款自动遍历的工具,名字几乎一样,叫做 App Crawler (差了一个空格),设计的思想也一致,但是这款工具目前还在开发完善中,思寒大佬的工具比谷歌的早了两年时间,厉害啊!

下面来看看 AppCrawler 的作用和价值。

1.2 需求背景

互联网的业务需求背景:

业务变更快速
业务线众多
业务流程复杂
依赖第三方接口较多
测试工作常见问题:

UI 自动化只能覆盖核心业务逻辑,新功能来不及上自动化
产品业务测试量较大,新版发布后,老功能来不及全面回归,容易漏测
时间长,强度大的工作后,人容易产生疲乏,对数字的位数,文字的显示等错误信息的敏感度下降
产品的界面深度很深,且包含大量的展示信息功能
专项测试回归难度大:内存泄漏、健壮性测试、弱网等测试太多
这个时候我们需要一种手段,可以达到两方面的目的:

Code less: UI 自动化用例维护成本降到最低
Automate: 尽可能的自动化覆盖回归业务

而自动遍历就可以满足我们对上述的业务的需求;接着再来看我们对自动遍历测试的一些需求,既然要用自动遍历,那么具体要等到什么样的效果?

  1. 工具选择
    2.1 遍历工具需求

自动遍历的需求:

可控:可以定义遍历的路径,指定需要测试的业务,保证核心业务的覆盖优先级
可定制:可实现自动输入、自动滑动等基础行为
结果分析:

点击前后的截图对比
结果的数据建模
2.2 工具对比

2.2.1 Monkey
首先来看业界用的较早也是经常听过的一款工具—— Monkey

这是 Android 官方提供的一个工具,在 Android 的官网我们可以看到对这款工具的解释如下:在这里插入图片描述
没错,谷歌原本设计这款工具是为了对 App 进行压力测试的,而并不是自动遍历测试,注意的是这里的压力测试并不是我们平常意义上的对服务端的压力,而是对 App 前端的压力。下面是思寒对 App 压力测试的原因解释:

谷歌早期在设计 Android 的时候,Android 需要响应滑动、输入、音量、电话等事件,早期 activity 设计不完善的时候,谷歌希望测试 activity 的性能,把所有的数据批量化的输出给 activity,看 activity 一秒钟可以处理多少数据。所以早期 Monkey 是用来做 Android 的一个压力测试的工具。

由于 Monkey 在测试过程中的“随机”性,恰巧可以被用来做自动遍历测试,但是 monkey 的缺点行业很明显,就是不满足我们的两个自动遍历需求:可控性和可定制。

缺点:不支持业务行为定制,无法灵活的控制,经常会点到外部的 App 无法回归原测试 App;或者点击到注销和退出,造成无法继续后面的测试;因此 monkey 在经过调研了解后没有成为我们做自动遍历测试的首选。
2.2.2 Maxim

Maxim 也是一款自动遍历工具,由我们国内的一名叫做 zhangzhao 的工程师开发,官方给出的定义是:

An efficient Android Monkey Tester, available for emulators and real devices 基于遍历规则的高性能 Android Monkey,适用于真机/模拟器的 APP UI 压力测试。

我们来看看这款工具的优缺点:

优点:

基于Monkey二次开发,也用了一些 AppCrawler 的设计思路,拥有定制化功能;
因为底层基于了 Monkey,所以运行速度还是比较快的;
缺点:

因为是基于 Monkey,所以不具备跨平台性,只能测试 Android,不能测试 iOS,Web 等;

这款工具没有开源,但是可以直接使用,在 GitHub 上下载后根据官方说明操作即可,这里不做重点说明&#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值