Android测试支持库包含 UI自动化模块 ,它可以对Android应用进行自动黑盒测试。在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为。
在这个教程中,我将展示如何使用此模块来创建和执行一个基本的UI测试,选择默认的计算器模块进行测试。
先决条件
在使用前,需要具备以下条件:
- 最新版本的 Android Studio
- 运行Android 4.3或者更高版本的设备或者虚拟器
- 理解 JUnit
1. 安装依赖库
工程中使用UI自动化模块,需要编辑你的工程下 app 目录下的文件 build.gradle ,添加如下信任:
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
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:
androidTestCompile 'com.android.support:support-annotations:22.1.1'
接下来,由于Android Studio自身的一个bug,你需要通过packagingOptions执行一个名为 LICENSE.txt 的文件。这个执行失败的话,在运行测试时将引起如下错误:
Execution failed for task ':app:packageDebugAndroidTest'.
Duplicate files copied in APK LICENSE.txt
File 1: ~/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.1/860340562250678d1a344907ac75754e259cdb14/hamcrest-core-1.1.jar
File