問題タブ [android-espresso]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5755 参照

android - Android Espresso の waitFor.. および Thread.sleep() ソリューション

Espresso を使い始めたばかりですが、その前に Robotium を試しました。LoginActivity をテストする必要があります。ロジックは次のとおりです。

  1. ユーザーは正しい資格情報を入力します。
  2. ユーザーには「Logging in..」という文字列が表示されます。
  3. ユーザーは文字列が消えるのを待ちます。
  4. ユーザーが MainActivity にあり、「ログインしています」と表示される

testLogin ソース:

問題は、エスプレッソが「ログインしています」という文字列が表示されるのを待たず、ログがまだ処理中に文字列を見つけようとしていたことでした。

ログキャット:

com.google.android.apps.common.testing.ui.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "You're logged in"

Thread.sleep(10000) を使用してみましたが、Thread.sleep(10000) で実行が終了し、エラーが発生します。

テストを完了できませんでした。理由: 「プロセスがクラッシュしたため、インストルメンテーションの実行に失敗しました。」詳細については、デバイスの logcat を確認してください。

ログキャット:

@@@ @@@ @@@殺されました cancelService in HttpReRegistrationService

その前に、waitForActivity(MainActivity.class) メソッドを使用しました。これを機能させるための回避策はありますか?

0 投票する
3 に答える
4811 参照

android - android espresso テストを実行できません

Android espresso テストを実行しようとしていますが、java.lang.NoClassDefFoundError: com.blokura.testexample.app.MainActivity で失敗し続けます。

Jake Wharton のダブル エスプレッソ プラグインを使用しています。

github レポデッカードで見られるように、Jake のセットアップを試してみましたが、うまくいきませんでした。

何が欠けているのかわからない。

これがプロジェクト構造です プロジェクト構造

これは build.gradle ファイルのソース コードです。

EspressoTest.java

MainActivity.java

完全なログ

0 投票する
2 に答える
13730 参照

android - Espresso でのテスト時にモック データを提供する方法

テストのない非常に大きな Android アプリケーションがあります。私たちは、典型的な品質/長すぎる手動回帰テスト サイクルの問題に苦しんでいます。

Android を初めて使用するサーバー サイド開発者として、開発者テストを紹介したいと思います。

JUnit を使用して通常の Java コードを単体テストする方法を確認できます。

ただし、アクティビティ/フラグメント/アダプターはより困難であることが証明されています。

GTAC の Espresso ビデオを見て感銘を受け、それを使用することにしました。

私が苦労しているのは、テストケースに模擬データを提供して表示を確認する方法です。

これは可能ですか?Espresso はブラック ボックス テスト用のようです。(通常) ブラック ボックス テストは QA によって行われるため、開発者 (対象ユーザー) の使用が大幅に制限されます。

0 投票する
2 に答える
1399 参照

android - エスプレッソ:リストビューで画像の1つをクリックする方法は?

ヘルプ!!!

EspressoでAndroid UIをテストしたいのですが、毎回画像が変わります。

この方法を試してみましたが、まだクリックできません:

エラーログ:

0 投票する
1 に答える
852 参照

android - ViewPager、FragmentStatePagerAdapter、API 呼び出しを使用したエスプレッソ

異なるページ (フラグメント) を切り替えるためのタブを持つ単一の ViewPager で構成されるアクティビティ MainActivity があります。最初のページ (FragmentA、onResume()) で、API 呼び出しを実行してデータを取得し、そのページ onResume() のビューを設定します。このページは、すべてのアクションが発生する私のホームページと見なすことができます。

AsyncTask を使用している場合、Espresso は、MainActivity を開始すると、最初のページ フラグメントから行われた API 呼び出しが完了するまで自動的に待機する必要がありますか? または、この状況で IdlingResource/Sleep を実装する必要がありますか? FragmentStatePagerAdapters と ViewPagers のスレッド化がどのように機能するかはわかりません。

これはこれをテストする最良の方法ですか?フラグメントではなく MainActivity から API 呼び出しなどを行うためにコードをリファクタリングする必要がありますか?

0 投票する
1 に答える
999 参照

android - Espresso テスト (または同様のもの) のビルド構成フィールドを設定する方法はありますか?

私は Android での自動テストに取り組んでおり、Espresso 経由で実行されているかどうかをコードで判断する方法を見つけようとしています。私は以下に出くわしました:

しかし、それはうまくいきません。私にできる同様のことはありますか?build.gradle で Espresso テスト用の buildConfigField を追加する方法はありますか?

0 投票する
1 に答える
778 参照

android - Espresso を使用した Android コンポーネントのテスト

多数のカスタム Android コンポーネントがあり、Espresso を使用してそれらをテストしたいと考えています。Espresso テストが に対して実行されると、単純なクラスをディレクトリActivityに追加しました。このクラスは、テストの準備が整ったコンポーネントを含むビューをプログラムで作成します。ActivityandroidTest

たとえば、MyViewコンポーネントをテストしている場合、Espresso テスト クラスは次のようになります。

次のように簡単MyViewTestActivityに:

私の問題はActivity、この場合はテストクラスをMyViewTestActivityメインに追加して、これを機能させる必要があるように見えることですAndroidManifest.xml。そうしないとUnable to resolve activity for: Intent...、テストを実行しようとするとエラーが発生します。ただし、メイン マニフェストにテスト アクティビティが含まれるようになりました。これは悪いことのように思えます。

テストマニフェストには含まれているがメインのものには含まれていないテスト固有のアクティビティを設定するにはどうすればよいですか?

Android用のgradleベースのビルドシステムを使用しています。