テスト リリースノート アーカイブ

AndroidX Test Espresso 3.1.1、Runner 1.1.1、Rules 1.1.1、Monitor 1.1.1 AndroidTestOrchestrator 1.1.1、Core 1.1.0、Truth 1.1.0、JUnit 1.1.0(2018 年 12 月 13 日)

これは AndroidX Test 1.1.0 の安定版リリースです。

  • Core
    • ActivityScenario が、別のアクティビティを開始するアクティビティをサポートします。

AndroidX Test Espresso 3.1.1-beta01、Runner 1.1.1-beta01、Rules 1.1.1-beta01、Monitor 1.1.1-beta01 AndroidTestOrchestrator 1.1.1-beta01、Core 1.1.0-beta01 Truth 1.1.0-beta01、JUnit 1.1.0-beta01(2018 年 12 月 06 日)

  • Core
    • 新しい kotlin 拡張アーティファクト core-ktx。kotlin 対応の ActivityScenario.launchActivity API が含まれます。
    • カスタム インテントを持つアクティビティを起動するための新しい ActivityScenario API
    • アクティビティ結果を受信するための新しい ActivityScenario API
    • ActivityScenario をクローズ可能にします。
  • Espresso
    • withResourceNameMatcher と HumanReadables を API 28 互換に変更
    • ReplaceTextAction の説明を、stringToBeSet を含めるようにアップデート
    • Robolectric 一時停止ループモードで Espresso をサポート
  • JUnit
    • 新しい ActivityScenarioRule API。テストのセットアップとティアダウンでアクティビティを自動起動し終了します。
    • 新しい kotlin 拡張アーティファクト junit-ktx。kotlin 対応の ActivityScenarioRule API が含まれます。
  • Runner
    • パッケージ受信時の -e package と -e testFile の動作を一貫させます。
  • Truth
    • bool、parcelable、parcelableAsType BundleSubject API を追加

AndroidX Test Espresso 3.1.0、Runner 1.1.0、Rules 1.1.0、Monitor 1.1.0 AndroidTestOrchestrator 1.1.0、Core 1.0.0 Truth 1.0.0、JUnit 1.0.0(2018 年 10 月 24 日)

  • すべて
    • minSdkVersion を 14 に設定し、targetSdkVersion を 28 に設定
  • Espresso
    • 非文字列型で機能するように withContentDescription を修正
    • Robolectric で Espresso を使用するためのサポートを追加
    • 問題 72798625: textAllCaps が有効な場合に Espresso ViewMatchers.withText が機能しない
    • モーション イベントのシーケンスを挿入するサポートを追加
  • インテント
    • インテントのリストを取得するためのベータ版 API を追加。新しい truth アサーションでの使用を対象としています。
  • Runner
    • Instant Apps のサポートを追加
    • androidx.test.runner.AndroidJUnit4 のサポートを終了し、androidx.test.ext.junit.runners.AndroidJUnit4 に置き換え
  • Monitor
    • androidx.test.InstrumentationRegistry のサポートを終了し、androidx.test.platform.app.InstrumentationRegistry と androidx.test.core.app.ApplicationProvider に置き換え
  • AndroidTestOrchestrator
    • coverage 引数と coverageFilePath 引数の両方が渡された場合にのみ、オーケストレータ カバレッジ処理を有効にします。
    • -debug が設定されている場合にのみデバッガを待機し、ATO テストケースのリスティングでは待機しません。オーケストレータ自体のデバッグ用に新しい orchestratorDebug フラグが追加されました。
  • Core
    • 新しいアーティファクト。ローカルテストとデバイス上のテストの両方をサポートする新しい API が含まれます。
      • コンテキストの取得: ApplicationProvider
      • アクティビティのライフサイクルの管理: ActivityScenario(ベータ版)
      • MotionEvent、PackageInfo のビルダー
      • Parceables ユーティリティ クラス
  • Truth
    • 新しいアーティファクト。Notification、Intent、Bundle、Parcelable、MotionEvent のカスタム truth サブジェクトが含まれます。
  • JUnit
    • 新しいアーティファクト。ローカルテストとデバイス上のテストの両方をサポートする JUnit ランナークラス androidx.test.ext.junit.runners.AndroidJUnit4 が含まれます。

Espresso 3.0.2-beta1、Runner 1.0.2-beta1、Rules 1.0.2-beta1、Monitor 1.0.2-beta1、AndroidTestOrchestrator 1.0.2-beta1(2018 年 04 月 16 日)

  • Espresso
    • API の互換性を破る変更:
      • 問題 64062890 により、公開 API で Guava Optional を使用していたことが報告されました。これは Google にとって重大な見落としでした。その結果このリリースでは、この問題に対処するために互換性を破る変更が公開 API に加えられています。「android.support.test.espresso.util」名前空間の下にある EspressoOptional という名前の Guava Optional クラスの周りにラッパーを導入しました。リークした Guava Optional API を使用していた開発者は、この新しいバージョンへのアップデートの際、EspressoOptional を使用するようにインポートと参照を変更する必要があります。ご不便をおかけして申し訳ございません。
    • onView() API と onData() API は、エラーを防ぐために @CheckReturnValue とマークされるようになりました。
    • 「ルール」依存関係を pull せず、代わりに espresso-intents POM で pull するように、espresso-core POM ファイルを修正しました。espresso-intents は espresso-core なしでは使用できないため、これは開発者にとって NoOp の変更になります。
    • 問題 65486414: Espresso に guava の依存関係がない
    • 問題 65576174: Espresso IdlingResourceRegistry.sync で 2 回目のテストが失敗する
    • 問題 65568629: Espresso.onIdle が IdlingRegistry を使用していない
    • 問題 69333598: espresso 3.0.1 が、Android ライブラリ モジュールの play-services-auth:11.6.0 と互換性がない
    • 問題 64062890: 内部オプション タイプが AdapterViewProtocol インターフェースで公開される
    • 問題 64091847: Espresso 3.0.0 はテストランナーに依存すべきでない
    • 問題 73722050: espresso-contrib 3.0.2-alpha1 で android.arch.{lifecycle/core} クラスをパッケージ化
  • Espresso-remote
    • まったく新しいアーティファクトです。espresso-core アーティファクト以外の Espresso のマルチプロセス機能をすべて分離しました。これにより、espresso-core の全体的なサイズとメソッド数が大幅に削減されます。
  • Runner
    • バインダー トランザクションに対して大きすぎる場合、スタック トレースを切り捨てます。AJUR は、バインダー IPC を介して AM に障害を報告する必要があるため、バインダー トランザクション制限(プロセスごとに 1MB)を超えないようにする必要があります。
    • 問題 65828576: @Ignore のクラスでテストを実行すると TestRequestBuilder がクラッシュする
    • 問題 37057596: @BeforeClass での障害には対応しません。
  • Rules
    • ライフサイクルの変更後、テスト対象のアクティビティに関する参照を必ずリリースします。テスト中、#getActivity() から取得した参照を使用してアクティビティを直接操作できるようになりました。アクティビティが終了して再起動すると、#getActivity() によって返される参照は常にアクティビティの現在のインスタンスを指すようになりました。
    • 問題 64389280: GrantPermissionRule が WRITE_EXTERNAL_STORAGE を提供しない
    • 問題 37065965: 向きの変更後に ActivityTestRule がアクティビティをリークする
    • 問題 75254050: ActivityTestRule が、構成の変更中にアクティビティ インスタンスを更新しない
    • 問題 64464625: Activity のメソッド finish() で UI 作業ができない
  • AndroidTestOrchestrator
    • -e coverage true -e coverageFilePath /sdcard/foo/ フラグを渡して、所定の場所にカバレッジ ファイルを生成します(アプリには所定の場所に書き込む権限が必要です)。カバレッジ ファイルの命名規則は、com.foo.Class#method1.ec のようになりました。なお、これは分離モードで実行している場合にのみサポートされます。また、AndroidJUnitRunner の coverageFile フラグと一緒に使用することはできません。生成されたカバレッジ ファイルが互いに上書きするためです。
    • テスト呼び出しの間でオーケストレータに pm clear context.getPackageName() コマンドと pm clear targetContext.getPackageName() コマンドを実行させる場合は -e clearPackageData フラグを渡します。なお、clear コマンドのコンテキストは、テスト対象のアプリのコンテキストです。
    • 修正 - 空のテスト(ターゲット内に @Test がない)を実行すると、テスト結果が以前のモードとは異なる
    • 問題 72758547: Test Orchestrator によって Jacoco カバレッジ データが不完全になり、最後のテスト実行データのみが含まれる
    • 問題 67916042: Android Test Orchestrator: OutOfMemory が原因でプロセスがクラッシュすると実行が停止する
    • 問題 77752735: TransactionTooLargeException でオーケストレータがクラッシュする
    • 問題 77549481: Test Orchestrator は各テストの後に「pm clear」を実行する必要がある

Espresso 3.0.2-alpha1、Runner 1.0.2-alpha1、Rules 1.0.2-alpha1、AndroidTestOrchestrator 1.0.2-alpha1(2017 年 12 月 05 日)

  • Espresso

    • 呼び出し可能なレスポンスが Intents に追加され、起動されたインテントをキャプチャした後、Instrumentation.ActivityResult オブジェクトを返す前にテストを実行できるようになりました。
  • Runner

    • テストの実行と JUnit 機能なしで MonitoringInstrumentation を必要とするユーザーのために、monitor maven アーティファクト com.android.support.test:monitor:<version> を分割しました。

      com.android.support.test:runner:<version> を使用すると、Gradle は自動的に monitor モジュールを runner モジュールの依存関係として pull するため、すべてが期待どおりに機能します。

    • フラグ newRunListenerOrderMode が追加されました。true の場合、ユーザー定義のリスナーはデフォルトのリスナーよりも前に実行されます(この動作が最終的にデフォルトになると思われます)。

    • 問題 65828576: @Ignore アノテーション付きのクラスでテストを実行すると TestRequestBuilder がクラッシュする(テストの実行または JUnit 機能なしの、スタンドアロン)

  • AndroidTestOrchestrator

    • オーケストレーションされていない AndroidJUnitRunner と同じ方法で空のテストを処理するようになりました。
    • オーケストレータが、AndroidJUnitRunner からの非常に大きな標準出力を処理できるようになりました。

Espresso 3.0.1、Runner 1.0.1、Rules 1.0.1、AndroidTestOrchestrator 1.0.1(2017 年 08 月 28 日)

  • Espresso

    • ステップ デバッガが VM に接続されている場合に onTimeout() を抑制する IdlingPolicy オプションを追加
    • 問題 640246566424758664525881: ユーザーが -e クラスランナー引数を指定して特定のクラスを読み込んでいる場合を除き、クラスの読み込みの失敗を報告しない
    • 問題 64877246: 欠落しているクラスをソース JAR ファイルに追加
  • Runner

    • ShardingFilter ロジックを簡素化
    • 問題 65025743: @RequiresDevice フィルタが FTL エミュレータをサポートするようになりました。
  • AndroidTestOrchestrator

    • 失敗のレポートを複製しない。失敗した後にテストプロセスがクラッシュした場合、テストの失敗が 1 つだけレポートされるようになりました。
    • オーケストレータの Javadoc を修正
    • リモート プロセスがクラッシュした場合、テストが失敗したと表示されるようになりました。
    • 無視されたテストケースを処理するようになりました。
    • 以前の結果と一致するように、無視されたテストケースをフッターから除外するようになりました。
    • ランタイム権限の問題を修正しました。テストレポートは、Android 7.0(API レベル 24)以降で SD カードに書き込まれるようになりました。

Espresso 3.0.0、Runner 1.0.0、Rules 1.0.0、AndroidTestOrchestrator 1.0.0(2017 年 07 月 25 日、お知らせ

互換性を破る変更

  • すべてのアーティファクト
    • API レベル 15 未満のサポートの終了 - ただし、最小 SDK は引き続き API レベル 9 を参照し、ユーザーはアップグレードの時間を確保できます。
  • Espresso
    • サポートの終了した android.support.test.espresso.contrib.CountingIdlingResource クラスを削除し、android.support.test.espresso.idling.CountingIdlingResource に移動しました。
    • Guava が別の「内部」名前空間に jarjar 化されました。Espresso 名前空間を通じて誤って Guava API を使用すると、破損が発生する可能性があります。
      • シェード Guava(.core.deps.guava.)への参照を削除
      • サポート ライブラリのバージョンを 25.4.0 以降にアップグレード

既知の問題

  • AndroidTestOrchestrator
    • -e numShards-e shardIndex のランナー引数は現在サポートされていません。
    • パラメータ化されたテストは現在サポートされていません。

新しい機能と特長

  • Runner
    • InterceptingActivityFactory SingleActivityFactorystartService()sendBroadcast() などのメソッドをオーバーライドすることで、外部の世界から切り離してアクティビティをテストする機能を提供します。
    • AndroidJUnitRunnerJUnitParams を使用するためのサポートを追加
    • コアテストランナー レベルで @UiThreadTest の処理を開始し、 @UiThreadTestRule を非推奨にします。これにより、 @Before @After のアノテーションが付いたメソッドで直接 @UiThreadTest アノテーションを使用できるようになります。
    • @SdkSupress アノテーションが maxSdkVersion 値をサポートするようになりました(問題 37067792
    • -e classLoader - ランナー引数を使用してクラスローダーを渡す機能を提供します。
    • -e filter - ランナー引数を使用して指定するカスタム JUnit フィルタのサポートを追加。
    • -e runnerBuilder – デベロッパーは、特定のクラスに対して実行できるかどうか、および実行方法を決定できる RunnerBuilder の独自の実装を提供できます。
  • Rules
  • AndroidTestOrchestrator
    • Android Test Orchestrator は、正確さと分離に重点を置き、テストを収集して実行する新しい方法を提供します。オーケストレータは独立したインストルメンテーション プロセスであり、テストごとに 1 つのインストルメンテーション ランナー プロセスを生成し、結果を収集します。
      • アプリがクラッシュするとランナーのインストルメンテーションが停止しますが、オーケストレータは停止しないため、テストスイートを続行できます。
      • オーケストレータ APK のインストールが必要 - 'com.android.support.test:orchestrator:1.0.0'
      • バージョン 1.0 にあるのはコマンドライン インターフェースのみです。Android Studio、Firebase Test Lab との統合が計画されています。

バグの修正

  • Espresso
    • ルートビューの同期を改善して不安定性を大幅に低減
    • IdlingResourceRegistry の破損を修正
    • IdlingResource オブジェクトとの同期を向上
    • 問題 37132680: Espresso が、次のアクションを実行する前にダイアログの作成完了を待たない
    • 問題 37103280: Espresso では ProGuard のユーザーのルールを公開する必要があるため、ユーザーはルールを追加する必要がない
    • 問題 37094726: Espresso Intents に不要なアプリケーション ラベルが含まれる
    • 問題 37093953: Espresso: null / 空のエラーテキストに対し利用可能なチェックがない
    • 問題 37071776: espresso-core で Guava の .pom ファイルが埋め込まれる
    • 問題 37062612: release() の NPE
    • 問題 37063389: Guava と espresso-webandroidTest 依存関係にするとコンパイルしない
    • 問題 37070533: Android デザイン サポート ライブラリNavigationView のサポートを追加
  • Runner
    • @Test(timeout = 123) と組み合わせて @UiThreadTest を使用する機能を修正しました。
    • -e notClass ランナー引数を修正
    • JUnit3 と JUnit4 のテストスイート、ParameterizedEnclosed のランナーをサポートするように -e log を修正
    • 問題 37663530: 各テストメソッドの前後にすべてのアクティビティが終了するのを待機する
    • 問題 37132680: Espresso が、次のアクションを実行する前にダイアログの作成が完了するのを待たない
    • 問題 37123213: x86_64 ABI で @RequiresDevice が無視される
    • 問題 37101485: AndroidJUnitRunner のマニフェスト提供の引数の一部(テストサイズ、アノテーション、デバッグなど)が無視される
    • 問題 37082857: Espresso の準並列テスト実行が静的オブジェクトで失敗する
    • 問題 37063396: ProviderTestCase2 でコンテキストが初期化されない(NullPointerException が発生する)

その他の重要な変更

  • バイナリが Google Maven を介して公開されるようになりました。
  • JAR ファイル espresso-coreespresso-web のサイズを縮小 – 埋め込まれた依存関係に ProGuard が適用されるようになりました。
  • すべての .aar ファイルに ProGuard ルールが含まれるようになりました。
  • リリースされたアーティファクトに proguard_library.cfg ファイルを追加
  • Tapper インターフェースに新しいバージョンの sendTap() を実装

外部寄与

Espresso 2.2.2、Runner/Rules 0.5(2016 年 02 月 22 日、サイレント リリース)

新機能

  • espresso
    • 問題 194253: Android サポート デザイン ライブラリに NavigationView のサポートを追加
    • 有効なアニメーションと遷移のチェックを追加
    • 新しい ViewMatcher API: withResourceName()

バグの修正

  • espresso
    • 問題 195331: espresso-core で guava の pom ファイルが埋め込まれる
    • アイドリング リソースのカウントを espresso-contrib から移動
  • rules
    • 問題 187249: Intents.release() の NPE
  • runner
    • 問題 196066: AndroidJUnitRunner-e log true 引数が実際のテストをバイパスしない
    • ランナーの onCreate() でデバッガを待機
    • サポートされているすべてのテスト アノテーションをプラットフォームから ATSL に移動
    • JSBridge がないことに関するスタック トレースダンプを削除
    • AndroidAnnotatedBuilder を解決

その他の重要な変更

  • ActivityTestRuleUiThreadTestRuleIntentsTestRuleServiceTestRule がベータ版から移行
  • 統一コード フォーマット用のコードスタイル設定ファイルを追加

Espresso 2.2.1、Runner/Rules 0.4(2015 年 09 月 15 日)

新機能

  • rules
    • ActivityTestRule と完全互換の新しい IntentsTestRule コンストラクタを追加
  • runner
    • API レベル 15 以下の特別なケースの multidex インストールを追加
    • クラスとパッケージに除外フィルタを追加:
      • 特定のクラスのテストを除くすべてのテストを実行: adb shell am instrument -w -e notClass com.android.foo.FooTest
      • 1 つを除くすべてのテストを実行: adb shell am instrument -w -e notClass com.android.foo.FooTest#testFoo
      • 特定のパッケージを除くすべてのテストを実行: adb shell am instrument -w -e notPackage com.android.foo.bar

外部寄与

  • espresso
    • 157911: EditText オブジェクトの入力タイプにビュー マッチャーを追加
    • 157912: EditText オブジェクトのエラーテキストをマッチングするビュー マッチャーを追加
    • 150674: 任意の重みを持つドロワーの DrawerActions サポートを追加
    • 150744: DrawerActionsparentListener をリークしなくなりました
    • 153303: 「ドロワーが開いているか閉じているか」のチェックでの重みの指定
    • 157910: DrawerLayout オープンとクローズのアクション ファクトリの追加

バグの修正

  • espresso
    • ViewActions.closeSoftKeyboard() により、ソフト キーボードが完全に不要になりました。
    • API レベル 21 以上での Espresso の Espresso.pressBack() メソッドとの同期の問題を修正
    • API レベル 23 でのキーボード終了アニメーションの同期を修正
  • rules
    • API レベル 23 での ServiceTestRule を修正しました。startService() は常に明示的な Intent で呼び出す必要があります。
  • runner
    • 無効な gradle JaCoCo のサポートを修正
    • 無効なテスト シャーディングのサポートを修正
    • JUnit3 スタイルテストがタイムアウトした後の、テストランナーの一貫性のない状態を修正

その他の重要な変更

  • Javadoc の修正とエラー メッセージの改善
  • suite() メソッドを無視し、メソッド フィルタの使用時に init エラーを無視しない

Espresso 2.2 / ATSL 0.3(2015 年 06 月 09 日)

新しい機能と特長

  • espresso-web 2.2
    • 新しい WebView サポート
  • espresso-core 2.2
    • dagger v2 を使用するために移行
    • hamcrest v1.3 を使用するために移行
  • espresso-contrib 2.2
    • ユーザー補助のチェック
    • DrawerActions の重みのサポート
  • rules 0.3
    • DisableOnAndroidDebug ルール
  • runner 0.3
    • JUnit v4.10 から JUnit v4.12 へのアップグレード
    • Hamcrest v1.3 を使用するために移行

バグの修正

  • DrawerActionsParentListener をリークする問題を修正
  • 仮定の失敗は、テストの失敗ではなくテストの無視として扱われるようになりました。
  • ExecutorService を介した MonitoringInstrumentation によるアクティビティ インスタンスのリークを修正
  • 孤立したアクティビティが停止段階でスタックする問題を修正
  • スクロール イベントが生成されなかった場合に true を返すように Until.scrollFinished() を更新。UiObject2#setText() で発生する可能性のある NPE を防止します。

Espresso 2.1、Test Runner/Rules 0.2 と UIAutomator 2.1.0(2015 年 04 月 21 日)

互換性を破る変更

  • テストランナー アーティファクトが 2 つに分割され、名前が com.android.support.test:testing-support-lib:0.1 から com.android.support.test:runner:0.2com.android.support.test:rules:0.2 に変更されました。

新しい機能と特長

  • espresso-intents: Mockito のような API。テスト作成者が発信インテントの検証とスタブをできるようにすることで、閉じられた環境でのアクティビティ間テストを可能にします。
    • IntentsTestRule: ActivityTestRule の拡張、初期化、機能 UI テストでの Espresso-Intents のリリース
  • espresso-core
    • ViewActions: アクションを実行する前にグローバル アサーションを実行する機能が追加されました。これは、Espresso 上に構築された他のフレームワークで、既存の Espresso テストスイートが実行されている間にビュー階層の状態を検証するために役立ちます。
    • ViewMatchers.withContentDescription() resId のオーバーロード
  • rules
    • ActivityTestRule: このルールは、単一アクティビティの機能テストを提供します。
    • UiThreadRule アノテーションと UiThreadTest アノテーション: このルールにより、アプリのメインスレッド(または UI スレッド)で UiThreadTest アノテーション付きのテストメソッドを実行できるようになります。
    • ServiceTestRule: このルールは、サービスの機能テストを提供します。
  • runner
    • ApplicationLifecycleCallback: アプリのライフサイクル イベントをモニターするためのコールバック
    • ランナー引数はすべて、<meta-data> タグを使用して Android マニフェスト ファイルでも指定できるようになりました。
  • UIAutomator
    • UiDevice.dumpWindowHierarchy() が、File または OutputStream を受け入れられるようになりました。

バグの修正

  • espresso
    • 列が見つからなかった場合にカーソル マッチャーが false を返すようになったため、Hamcrest が次のカーソルに進むことができるようになりました。
    • PreferenceMatchers withTitle での NullPointerException は発生しなくなりました。
    • アイドリング リソースの登録を解除しても、Espresso がアイドリング リソースをビジー状態と認識しなくなりました。
    • Espresso Contrib で使用するサポート アノテーション バージョンをアップデートしました。
  • runner
    • AndroidJUnit4 が、仮定に失敗したテストをスキップするようになりました。
  • UIAutomator
    • ウォッチャーを実行して StaleObjectException を防止

その他の重要な変更

  • ラテン文字以外の文字列で typeText できない場合の、より適切なエラー メッセージを追加

UIAutomator 2.0 (2015-03-12)

UI Automator が Android Instrumentation をベースにするようになりました。./gradlew connectedCheck コマンドを使用して、テストのビルドと実行ができます。

Espresso バージョン 2.0、Test Runner 0.1(リリース日: 2014 年 12 月 19 日)

互換性を破る変更

  • Espresso が新しい名前空間に移動(android.support.test.espresso から android.support.test.espresso
  • Espresso アーティファクトの名前を変更
    • espresso-1.1.jarespresso-core-release-2.0.jar に変更
    • IdlingResource インターフェースが別のライブラリ espresso-idling-resource-release-2.0.jar に移動されました。
    • CountingIdlingResource が正しく espresso-contrib-release-2.0.jar に存在するようになりました。
  • guava 依存関係の再パッケージ化をサポートし、DEX 競合(開発の苦労の主な原因)を回避するために、オプション(guava 依存関係)が公開 API から削除されました。影響を受けるメソッドは次のとおりです。
    • ViewAssertion.check()
    • HumanReadables.getViewHierarchyErrorMessage()

新機能

  • アクション
    • ViewActions
      • replaceText()
      • openLink()
      • 上下にスワイプ
    • espresso-contrib
      • RecyclerViewActions: RecyclerViews とのインタラクションを処理
      • PickerActions: Date および Time 選択ツールとのインタラクションを処理
  • マッチャー
    • RootMatchers
      • isPlatformPopup()
    • ViewMatchers
      • isJavascriptEnabled()
      • withSpinnerText()
      • withHint()
      • isSelected()
      • hasLinks()
    • LayoutMatchers: 国際化対応関連のレイアウト テスト用のマッチャー
    • CursorMatchers: Cursor オブジェクト用のマッチャーのコレクション
  • アサーション
    • PositionAssertionsisLeftOf()isAbove() を含む): 画面上の要素の相対位置を確認するための ViewAssertions のコレクション
    • LayoutAssertions: 国際化対応関連のレイアウト テスト用のアサーション
  • テストアプリ: 多数の新しいサンプル アクティビティ / テスト
  • その他
    • Espresso.unregisterIdlingResources()Espresso.getIdlingResources(): IdlingResources を使用するための柔軟性をさらに提供
    • ViewInteraction.withFailureHandler(): onView() からの障害ハンドラをオーバーライドできる
    • CursorAdapters に支えられる AdapterViewsonData() サポート

バグの修正

  • ViewMatchers.isDisplayed() は画面全体を占めるビューと一致しますが、表示されるのは 90% 以上です。
  • DrawerActions.openDrawer() にスワイプ アクションの呼び出しを行っても、IdlingResourceTimeoutException が発生しなくなりました。

その他の重要な変更

  • Maven を使用したビルドから Gradle に切り替え
  • DEX 競合を避けるために Espresso の依存関係(Guava、Dagger、Hamcrest)を移動
  • アイドリング リソースの登録するときと登録を解除するときに、成功または失敗を返すように変更
  • Lollipop のサポート: バージョン関連の変更を考慮して、message.recycle() をインターフェースの後ろに配置
  • ターゲット SDK レベルを 21 に切り替え – 主にテストアプリに影響します。

バージョン 1.1(リリース日: 2014 年 01 月 08 日)

Espresso

  • 新しい swipeLeftswipeRight ViewActions
  • マルチウィンドウのサポート: Espresso がオペレーションを実行するターゲット ウィンドウの選択を可能にする高度な機能
  • TypeTextAction の改善: 事前にフォーカスされたビューにテキストを入力できるようになり、テキストを簡単に追加できるようになりました。
  • 多数のバグの修正

Espresso Contrib ライブラリ

  • この新しいライブラリには Espresso を補完する機能が含まれていますが、コアライブラリの一部ではありません。
  • DrawerLayout でのオペレーション用の新しい DrawerActions: Android サポート ライブラリに依存しているため、Espresso のコアライブラリの外に置いています。

サンプルテスト

  • これらのテストは、テストアプリと同じパッケージになるように再配置されました。
  • Maven POM が修正されて、mvn install が機能するように重複する guava 依存関係が削除されました。