Android UI 自动化测试
介绍
Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试。在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为。
在这个教程中,我将展示如何使用此模块来创建和执行一个基本的UI测试,选择默认的计算器模块进行测试。
先决条件
在使用前,需要具备以下条件:
1.最新版本的Android Studio
2.运行Android 4.3或者更高版本的设备或者虚拟器
3.理解JUnit
1. 安装依赖库
工程中使用UI自动化模块,需要编辑你的工程下app目录下的文件build.gradle,添加如下信任:
1 androidTestCompile 'com.android.support.test:runner:0.2'
2 androidTestCompile 'com.android.support.test:rules:0.2'
3 androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.0'
现在屏幕上应该有Sync Now按钮了,但点击它时,会看到如下错误信息:
点击 Install Repository and sync project 链接来安装 Android Support Repository。
如果使用的是库appcompat-v7 且其版本号是22.1.1,你需要添加如下依赖以确保应用本身和测试应用都使用相同版本的com.android.support:support-annotations
:
1 androidTestCompile 'com.android.support:support-annotations:22.1.1'
接下来,由于Android Studio自身的一个bug,你需要通过 packagingOptions
执行一个名为 LICENSE.txt 的文件。这个执行失败的话,在运行测试时将引起如下错误:
1 Execution failed for task ':app:packageDebugAndroidTest'.
2 Duplicate files copied in APK LICENSE.txt
3
4 File 1: ~/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.1/860340562250678d1a344907ac75754e259cdb14/hamcrest-core-