2

先週、私は Android のエンド ツー エンド テストに関する役立つ情報を探していました。UI Automator を見つけましたが、目に留まりませんでした。

ハッピー パスに 6 つのアクティビティが含まれるアプリケーションに取り組んでいます。メイン画面で予約オブジェクトを作成し、それをハッピー パスに移動してステータスを確認したいと考えています。MockWebServerでサーバーの応答をモックできると思います。私が確認したすべてのサンプルは、一度に 1 つのアクティビティをテストしています。

私の質問は、これらすべてのアクティビティ (ハッピー パス) を 1 回のテストでテストできるかどうかです。はいの場合、そのサンプルはありますか?

4

2 に答える 2

7

短い答えはイエスです。Espresso は、1 つのアプリ内のアクティビティ間の相互作用をテストするのに適しています。

UI Automator は、複数のアプリの相互作用をテストすることを目的としています。たとえば、アプリがカメラを使用する場合、UI Automator はアプリとカメラ間の相互作用をテストするのに最適です。欠点は、純粋な UI Automator テストでは、アプリの内部動作について何も知らないことです。ビュー階層に基づいてビューを検索できますが、リソース ID などの知識は必要ありません。

一方、Espresso は、アプリ内で使用可能な ID やその他の属性に基づいてビューを見つけることができます。ボタンまたは別のアクティビティを起動する別のビューをクリックして、そのアクティビティと対話することができます。Espresso は、独自のアプリのビューでのみ機能します。

Espresso と UI Automator は併用できます。UI Automator を使用して、インテントを別のアプリ (カメラなど) に起動し、操作することができます。実行フローが独自のアプリに戻ったら、Espresso を使用して結果を確認できます。独自のアプリ内でテストする場合でも、UI Automator の UiDevice クラスは、向きを変えるなどのデバイスの操作に便利です。

于 2016-02-15T02:39:45.633 に答える
2

Espresso は、複数のアクティビティに対応できる必要があります。しかし、エンド ツー エンド テストと言うと、アプリをブラック ボックスとして扱い、それに対してスタンドアロンのテスト フレームワークを実行しますか?

その場合、エスプレッソは解決策には見えませんが、エスプレッソを使用して、さまざまなアクティビティを通じて幸せな道を歩むことができます.

于 2016-02-15T02:30:26.797 に答える