0

初めてインストールされたアプリなど、いくつかのシナリオで、アプリの任意の場所にオーバーレイ メッセージを表示するアプリを自動化しています (私は Robotium もかなり初めてです)。

オーバーレイには、スワイプまたはクリックすると消えるテキストが表示されます。また、これらのオーバーレイにはさまざまな種類があり、その上にさまざまな固有のテキストがあります。(これをアクティビティ A と呼びましょう)

このケースを適切に処理する堅牢なテスト ケースを作成したかったのです。テストの観点からは、アクティビティ A が常に存在するかどうかはわかりません。しかし、いつでも呼び出すことができるメソッドを作成することで、シナリオから回復したいと考えています。現在、予想されるアクティビティ名が一致しないため、tearDown メソッドが呼び出されます。

また、アクティビティ A が存在する場合でも、他の事前定義されたオーバーレイ テキストもあります。そのため、solo.waitForText("abc") を使用してテキスト "abc" をチェックすると、代わりにテキスト "pqr" を含むオーバーレイ 2 が表示されることがあります。

だから私はこれを自動化する方法を探していました.solo.assertCurrentActivity()またはsolo.waitForActivityメソッドは最初の失敗後に実行を停止するだけなので使用できません。

だから、どんな指導も大歓迎です!

4

2 に答える 2

2

すべての waitFor メソッドはブール値を返します。そのため、必要に応じて正確に waitForActivity() を使用できます。アクティビティが存在しない場合は false を返します。

于 2013-05-15T19:21:03.610 に答える
1

現在のアクティビティを確認できます。

Activity current = solo.getCurrentActivity();
于 2013-05-15T19:40:01.830 に答える