Espresso 设置说明
- 设置你的测试环境
- 下载 Espresso
- 设置仪表运行器
- 示例 build.gradle 文件
- Analytics(分析)
- 添加第一个测试
- 运行测试本指南介绍如何使用 SDK Manager 安装 Espresso 并使用 Gradle 进行构建。建议使用 Android Studio。
设置你的测试环境
为避免瑕疵,我们强烈建议你关闭用于测试的虚拟或物理设备上的系统动画。
在你的设备上,在 Settings-> Developer options 下,禁用以下 3 个设置:
- 窗口动画比例
- 过渡动画比例
- 动画师持续时间刻度
下载 Espresso
-
确保你已在 Extras 下安装了最新的 Android Support Repository(请参阅说明)。
-
打开应用程序的 build.gradle 文件。这通常不是顶级 build.gradle 文件,而是 app / build.gradle。
-
在依赖项中添加以下行:
androidTestCompile’com.android.support.test.espresso:espresso-core:2.2.2’androidTestCompile’com.android.support.test:runner:0.5'
-
有关更多工件,请参阅下载部分(espresso-contrib,espresso-web 等)
-
设置仪表运行器
将相同的 build.gradle 文件添加到 android.defaultConfig 中的以下行:testInstrumentationRunner android.support.test.runner.AndroidJUnitRunner
示例 build.gradle 文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22"
defaultConfig {
applicationId "com.my.awesome.app"
minSdkVersion 10
targetSdkVersion 22.0.1
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
// App's dependencies, including test
compile 'com.android.support:support-annotations:22.2.0'
// Testing-only dependencies
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
}
Analytics(分析)
为了确保每个新版本都在正确的轨道上,测试运行器会收集分析。更具体地说,它为每次调用上传待测应用程序的包名称的哈希值。这使我们可以使用 Espresso 测量独特包装的数量以及使用量。
如果你不希望上传此数据,可以通过将以下参数传递给测试运行器来选择退出:disableAnalyticstrue
(请参阅如何传递自定义参数)。
添加第一个测试
Android Studio 默认在 src / androidTest / java / com.example.package /中创建测试
使用规则的示例 JUnit4 测试:
@RunWith(AndroidJUnit4.class)
@LargeTest
public class HelloWorldEspressoTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule(MainActivity.class);
@Test
public void listGoesOverTheFold() {
onView(withText("Hello world!")).check(matches(isDisplayed()));
}
}
运行测试
在 Android Studio 中
创建测试配置
在 Android Studio 中:
-
打开运行菜单 - >编辑配置
-
添加新的 Android 测试配置
-
选择一个模块
-
添加特定的仪表运行器:
android.support.test.runner.AndroidJUnitRunner
运行新创建的配置。
从命令行到 Gradle
执行
./gradlew connectedAndroidTest
Espresso 基本上有三个组成部分:
-
ViewMatchers - 允许在当前视图层次结构中查找视图
-
ViewActions - 允许对视图执行操作
-
ViewAssertions - 允许断言视图的状态
基础 Espresso 测试
onView(ViewMatcher) -- 1
.perform(ViewAction) -- 2
.check(ViewAssertion); -- 3
- 找到视图
- 对视图执行操作
- 验证断言