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. 驗證斷言