APP自动化测试框架

时间:2021-03-26 18:36:30

目前常见的APP自动化测试框架有以下几类:

 

1. Instrumentation

Instrumentation,早期Google提供的Android自动化测试工具类。它和Activity有点类似,但其没有界面,通过将主程序和测试程序运行在同一个进程中,在程序运行期间,模拟按键按下、抬起、屏幕点击、滚动、屏幕长按等事件,监控主程序的工具类。缺点是受到Android进程安全限制不可跨App,对测试人员的编程能力要求较高,需要对AndroidManifest.xml文件进行配置。

 

2. Uiautomator

Uiautomator,也是Android提供的自动化测试框架,基本上支持所有的Android事件操作。与Instrumentation不同的是,测试代码和被测应用程序分别运行在不同的进程内,相互独立,可以跨多个App。缺点是不支持WebView,不支持获取toast文本,只适用于SDK level 16Android 4.1)及以上。

 

3. Robotium

基于Instrumentation实现,提供的接口可以满足大部分自动化需求,使用方法简单,支持ActivitiesDialogsToastsMenusContext Menus和其他Android SDK控件。缺点是测试人员需了解Android组件相关知识,同样不可跨App

 

4. Monkey

MonkeyAndroid中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

 

5. MonkeyRunner

Monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。Monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件。

 

6. MonkeyTalk

MonkeyTalkGorillaLogic的一款开源的支持录制回放并跨平台的自动化工具。支持iOS Android,它可以为应用进行真实的,功能性交互测试。它提供简单的 “smoketests”,复杂数据驱动的测试套件。MonkeyTalk支持原生,移动和混合应用,真实设备或者模拟器。MonkeyTalk 使得场景捕获非常容易,可以记录高级别,可读的测试脚本。可以真实测试用户行为,用户交互如触摸、手指滚动、长按等,还支持HTML5的一些特性,比如本地存储、session存储、应用缓存等。缺点是需要应用源码。

 

7. Appium

Appium是最近比较热门的框架,支持IOSAndroidFirefoxOS平台的UI测试,支持WebDriver兼容的任何语言编写测试脚本,Android SDK Level16及以上时,底层使用的UIAutomator,低于16使用Selendroid

自动化框架种类多多,在选取框架时,除了需要适合做UI测试外,还需要具备以下几点特性:工具开源,易于扩展;脚本编写简洁,维护成本低;满足Android客户端的自动化需求;便与校验结果的正确性;可用于持续集成。

 

 

想要高效的完成app功能测试,就需要选择一款合适的功能测试工具。尽管现阶段存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业。短期来看,这类企业盈利状况尚可,但长久来看,它们极有可能被自动化程度较高的软件服务企业取代。

TestBird -手游和App自动化测试平台