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’c​​om.android.support.test.espresso:espresso-core:2.2.2’androidTestCompile’c​​om.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 基本上有三个组成部分:

  1. ViewMatchers - 允许在当前视图层次结构中查找视图

  2. ViewActions - 允许对视图执行操作

  3. ViewAssertions - 允许断言视图的状态

基础 Espresso 测试

onView(ViewMatcher)       -- 1     
 .perform(ViewAction)     -- 2
   .check(ViewAssertion); -- 3
  1. 找到视图
  2. 对视图执行操作
  3. 验证断言