Android自动化测试框架有哪些?有什么用途?
作者:ATF 发布时间:[ 2020/7/17 9:03:50 ] 推荐标签:
目前市面安卓比较主流的自动化测试框架主要分以下7大类,接下里我们将为大家一一说明。
1.单元测试常用的Robolectric,具体实现方案是通过实现一套JVM能运行的Android代码,然后在unittest运行的时候去截取android相关的代码调用,转到他们的实现的代码去执行这个调用的过程,并且在android标准类基础上又丰富了很多扩展接口,这确实极大便利了单元测试过程,但是缺点也很明显对于关注功能层面的自动化测试团队实践意义不大。
2.Monkey是Android系统自带的一款稳定性测试工具,很多厂商也将其作为内置产品的稳定性验收衡量工具,虽然简单易用方便快捷,但是正如其名一样,猴子毕竟还是猴子是无法完成确定功能用例的自动化测试过程。
3.UIAutomator是为数不多的Android官方支持的自动化测试框架之一,最早发布的版本为API Level17。作为基于控件的自动化框架,UIAutomator确实接口明晰容易上手,基于UIAutomator也发展出了鼎鼎大名的Appium开源自动化测试框架。
然而使用UIAutomator的前提是可以用UIAutomatorViewer查看到我们预操作控件的属性信息,上面分析我们已经看到,小程序部分控件的父容器是weview,此webview还非标准结构,应该是腾讯自研的X5内核。想用appium UIAutomator跑自动化测试那是不可能了。
4.还有Instrumentation这种Android基因型测试方案可以考虑,著名的Robotium自动化测试框架就诞生于此,经过一番了解,Instrumentation也好orobotium也罢,需要有产品源码或者签名,测试工程通常是与产品源码放在相同项目目录下,那么问题来了,想要做微信小程序测试,微信的源码我们能拿到吗。
5.早期还有一种通过系统提权注入实现的自动化测试能力,例如百度的café,阿里的arthrun,大多复制了xposed架构模式,具有强大的系统控制能力。因为androidroot难度越来愈高,到目前6.0版本几乎成为不可能在兼容了,可惜所以这类开源框架早在2014年左右就停止维护了。
6.基于图像识别也有一些自动化测试框架,例如sikuli还有testin的自动化工具,但是这类封装过的移动端自动化测试工具脚本基本不具备扩展性,系统UI风格变更,对于日后用例维护成本很高。
7.最后一款移动端自动化测试工具就是MR+ATF,MR是自动化测试执行工具,也是通过录制的形式,但是比较好的一点就是可以同步到ATF中进行脚本的维护,极大的提高了自动化测试脚本的利用率。
另外MR工具可以对Android和IOS手机APP进行测试,安卓脚本设计的用例在安卓手机上可以通用执行,苹果脚本设计的用例在苹果手机上可以通用执行;执行过程可以获取CPU、内存、流量和FPS等,以及adb日志;实在是一款功能强大的移动端自动化测试工具。
相关推荐
更新发布
兼容性测试覆盖多少机型,如何选择?
2024/9/10 11:13:49P-One 在进行性能测试时,如何确保测试结果的准确性和可靠性?
2024/9/10 10:14:12为什么越来越多的企业选择一站式测试平台?
2024/9/9 18:04:26功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29