問題タブ [android-instrumentation]

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 投票する
0 に答える
372 参照

android - Android Espresso + Lazy ListView クリック

要素が遅延してフェッチされる ListView があります (リストの最後の要素までスクロールすると、新しいフェッチが発生し、完了すると、新しい要素がリストの最後に追加されます)。私の ListView アダプターはProductオブジェクトで支えられています:

特定の名前を持つ要素は、たとえば 25 番目の位置にあります。onData(Matcher<Object> dataMatcher)安全に使用できるように、アイテムがアダプターで使用可能になるまでリストをスクロールするような動作を実装するにはどうすればよいですか? 今、使用するonData( ... )と、次の例外が発生します。

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

android - ContextWrapper.startInstrumentation() が計測テストを開始しない

インストルメンテーション テストを正常に開始しABD shellます。

コンピューターに接続されていないデバイスでこれらのテストを実行するには、次のコードを使用して、アプリ (ターゲット アプリでもテスト アプリでもない) からこれらのテストを実行しようとします。

デバッグにより、次の正しい値が取得されます。

startInstrumentation()true を返しますが、テストは実行されません。何か案は?

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

android - ApplicationTestCase のメイン スレッドで新しいハンドラを作成する

私のインストルメンテーション テストでは、.NET でextends ApplicationTestCase<TestApplication> TestApplication extends Applicationいくつかの基本的な初期化作業を行う基本クラスがありonCreate()ます。

あるテスト スイートでは、new Handler();呼び出しを介して新しい Handler をインスタンス化するクラスをテストしています。これは、アプリケーションでは正常にコンパイルおよび実行されますが、テストでは常に次のように失敗します。

java.lang.RuntimeException: Looper.prepare() を呼び出していないスレッド内でハンドラを作成できません

Application クラスで、次を呼び出します。

最初のテストは問題なく実行され、後続のテストは失敗するため、どちらも役に立ちません

java.lang.RuntimeException: スレッドごとに作成できるルーパーは 1 つだけです

スイート で実行されるすべてのテストに同じスレッドが使用されているように見えるため (上記の問題も引き起こします)、ライブスレッドでルーパーを終了する問題により、すべてのテストでエラーが発生しますthis.getMainLooper().quit()this.getMainLooper().quitSafely()onTerminate()

静的ブール値フラグを使用して prepare() を 1 回だけ実行することで、これを回避できますが、これは信じられないほどぎこちないようです。バグを送信する必要がありますか、それともコードに何か問題がありますか?

事前に助けに感謝します。

0 投票する
0 に答える
79 参照

android - Eclipse から Android Studio にテストをインポートする

私はEclipseで次のプロジェクト構造を持つAndroidアプリケーションを持っています: Myapp -src -assets -res -libs -tests --res --src --assests --AndroidManifest.xml(これはテスト用です) -AndroidManifest.xml(これはメイン用)

プロジェクトを日食からスタジオにインポートしてビルドすることができます。ただし、Eclipse から Studio にテストをインポートすることはできません。スタジオでインポート オプションを使用し、マニフェスト ファイルを持つメイン プロジェクト 'Myapp' を指しています。

私のbuild.gradleは次のようになります:

build.gradle を変更して、スタジオでテストフォルダーを取得し、gradle を使用してビルドできるようにする方法はありますか?