腾讯Android自动化测试实战1.1 Android自动化测试框架概述

简介:

1.1 Android自动化测试框架概述

2007年Android开源时,Monkey、Instrumentation和MonkeyRunner这3个测试框架,是跟Android源码一起发布的,这也是最早可用的自动化测试框架,那几年大家基本都是用这些框架来开展自动化相关测试工作的。2010年,第一个第三方的测试工具Robotium(基于Instrumentation)发布了,不少测试人员就转用这个框架,Robotium社区逐步发展起来。图1-1所示为Robotium热度随时间变化的趋势。

2010年还有一个自动化测试框架Robolectric开源了,主要支持单元测试;Robolectric 允许用户做大部分真实设备上可以做的事情,且可以在常规的JVM持续集成环境中运行,不需要通过模拟器,因此可以摆脱模拟器启动慢的问题。

 

 

图1-1 Robotium热度随时间变化的趋势

注:引用自https://www.google.com/trends/explore#q=robotium

2011年新发布的Android SDK包含了chimpchat,可以通过Java来调用Monkey,也可以用Java语言实现类似MonkeyRunner功能(MonkeyRunner之前只支持Python)。

2013年则是一个Android自动化测试框架爆发年,Selendroid、Espresso、Calabash、Appium等框架都是在这一年发布或者开源的。其中,Appium整合Selendroid以及UI Automator等框架的优点,使用Selenium的WebDriver JSON协议,使WebDriver用户使用起来非常方便。自2013年以来,Appium发展非常迅速(不过基本上是印度的同学在搜索)。图1-2所示为Appium热度随时间变化的趋势。

 

图1-2 Appium热度随时间变化的趋势

注:引用自https://www.google.com/trends/explore#q=Appium

按照时间线,把上面介绍的自动化测试框架梳理一下,如图1-3所示。

当然国内也有不少团队或者个人开发自动化测试框架并开源,例如百度的Café(https://github.com/BaiduQA/Cafe),阿里巴巴的两个自动化测试框架Athrun)http://code.taobao.org/svn/athrun)、Macaca(http://macacajs.github.io/macaca/)。腾讯内部也开发了Android自动化框架,不过暂时没有开源。相信国内其他公司也在开发相关自动化框架,有些公司基于已有的开源框架二次开发定制适合自己项目的自动化框架,可能暂时也没有开源。

 

图1-3 Android自动化测试框架时间线

注:上面提到的是相对有一定使用人数的自动化测试框架,除此之外,业界还有不少其他测试框架,如MonkeyTalk、RoboSpock、NativeDriver等。

上面简单介绍了Android自动化测试框架的历史(时间线展示)。Android自动化测试里面还涉及到一个签名的问题(Instrumentation的限制),我们按照重签名的维度重新划分一下,方便读者做自动化测试框架的选型。图1-4所示为Android自动化测试框架图谱,仅供参考。

 

 

图1-4 Android自动化测试框架图谱

注:Appium不需要更改被测App签名;

Hybrid:混合Android原生控件以及Webview控件;

Native:纯Android原生控件。

相关文章
|
10小时前
|
开发框架 监控 Java
深入探索Spring Boot的监控、管理和测试功能及实战应用
【5月更文挑战第14天】Spring Boot是一个快速开发框架,提供了一系列的功能模块,包括监控、管理和测试等。本文将深入探讨Spring Boot中监控、管理和测试功能的原理与应用,并提供实际应用场景的示例。
14 2
|
10小时前
|
存储 人工智能 测试技术
python自动化测试实战 —— CSDN的Web页面自动化测试
python自动化测试实战 —— CSDN的Web页面自动化测试
9 0
|
10小时前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
8 0
|
10小时前
|
监控 数据可视化 IDE
python自动化测试实战 —— 单元测试框架
python自动化测试实战 —— 单元测试框架
9 2

热门文章

最新文章