問題タブ [android-testing]

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 に答える
627 参照

android - Robotium における @Smoke の重要性は何ですか? いつ使用する必要がありますか?

私は Robotium を初めて使用し、この例では注釈NotePadTest.javaに遭遇しました。@Smokeを使用する目的は何@Smokeですか? たとえば@Override、メソッドをオーバーライドするとき、または@implementsインターフェイスのメソッドを実装するときに使用します。私の質問はなぜ@Smokeですか?ありがとう。

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

android - RobotiumのwaitForFragment

アクティビティの場合と同じように、フラグメントにも同等の方法はありますか?

私はアプリを持っていて、フラグメント トランザクションをテストしたいと考えています。

他の回避策はありますか?トランザクションが完了するのを待つためだけに、solo.sleep(2000) を配置するのは嫌いです。

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

android - junit テストを実行しているときに、Android のデバッグ モードに入ることができますか?

通常、私はを使用してjunitテストを実行しadb shell am instrument -w com.android.contacts.tests/android.test.InstrumentationTestRunnerます。実際に動作し、すべてのテストを実行します。

しかし、ブレークポイントを作成し、junit の実行中にデバッグ モードに入りたい場合、失敗しました。通常のAndroidアプリをデバッグするときに、ブレークポイントを作成する方法が機能します。

だから私はウェブを検索し、のようなものを試してみましadb shell am instrument -e debug true -e class com.android.contacts.AndroidUtilsTest -w com.android.contacts.tests/android.test.InstrumentationTestRunnerたが、まだ運がありません. あなたはこの問題をどのように解決しますか?junit クラスだけでなく、通常のプロジェクトのコードもデバッグしたい。

0 投票する
5 に答える
4714 参照

android - Android のインストルメンテーション テスト - 向きの変更後に新しいアクティビティを受け取るには?


新しく作成されたアクティビティ (向きの変更後) が適切に再初期化されるかどうかをテストしようとしています。以下のコードは、getActivity() から返されたアクティビティが、新しく作成されたものではなく、setUp() で構築されたものであることを示しています。

テスト:


活動:


そしてログ:


前述のように、ログは新しいアクティビティが実際に作成されたことを示しています (MyActivity@44ee5178) が、getActivity() は setUp() で作成された古いアクティビティを返します (MyActivity@44eb8690)。新しく作成したものにアクセスすることはできますか?

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

android - Android とパーミッションの単体テスト

私の Android アプリケーションの junit テストには android.permission.WRITE_SETTINGS が必要です。IntelliJ Idea 11.1.2 と、テスト用の 2 番目の AndroidManifest.xml を含む独自のモジュールで単体テストを使用しています。

<uses-permission android:name="android.permission.WRITE_SETTINGS" />テスト モジュールの AndroidManifest.xmlに追加しました。

エラー:java.lang.SecurityException: Permission Denial: writing com.android.providers.settings.SettingsProvider uri content://settings/system from pid=1063, uid=10035 requires android.permission.WRITE_SETTINGS

醜い簡単な修正:アプリケーションの AndroidManifest.xml にも同じアクセス許可を追加します。テストは単一のエラーなしで実行されます。

問題:アプリケーション全体に設定を変更する権限を与えたくありません。

テストのみにアクセス許可を与える方法はありますか?

0 投票する
4 に答える
1052 参照

android - トーストは表示されませんandroidrobotiumテスト

アプリケーションで「新しいアイテムの追加」アクティビティをテストしたい。ユーザーがデータを誤って入力してから[OK]ボタンを押すと、トースト(問題リスト)が表示されます。私の質問は、トーストが表示されていないことを確認するにはどうすればよいですか?

ありがとう!

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

android - アプリケーションクラスを強制的に閉じます

Applicationを拡張するクラスがあります。クラスはかなり広範囲です。アプリケーションが長時間バックグラウンドにある場合、OSはクラスを強制終了します。再起動すると、物事は横向きになります。いくつかのデータ構造をデバッグして問題を修正する必要があります。アプリを実行するたびに1〜2時間待つのではなく、OSにこの動作を強制的に複製させる方法はありますか?アプリケーション全体を強制終了できることはわかっていますが、それは私が望んでいることではありません。

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

android - robotiumを使用して他のアクティビティでアイテムリストをクリックするにはどうすればよいですか?

私のアプリケーションには、リストから連絡先を選択するためのAndroid連絡先アプリケーションを開くボタンがあります。言い換えると、他のアクティビティでリスト項目をクリックする必要があります。Robotiumを使用してそれを行うにはどうすればよいですか?

ありがとう!

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

android - テスト プロジェクトのデータベースにレコードが表示されないのはなぜですか?

へー!

アプリケーションのテストを作成しました。UIインターフェイス(robotiumを使用)を介してデータベースにアイテムを追加する必要があり、SQLiteDatabaseを使用してデータベースにアイテムが存在するかどうかを確認します。

アイテムは正常に追加されました (テスト終了後にデータベースに新しいレコードが表示されます) が、テスト クラスの isExistsInDb が false を返します。私はなぜなのか理解していない。手伝っていただけませんか。ありがとう!

活動クラス:

テストクラス:

アップデート:

データベースに前のテストで追加されたアイテムが存在するため、2回目にテストを実行すると合格になります。

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

android - インストルメンテーション テストでアクティビティの呼び出しに ActivityResult が返されない

以下に示す方法を使用して、テストしているアクティビティが別のアクティビティを開始するかどうかを検証しています。

ドキュメントによると、ブロック パラメーターは、モニターがアクティビティの開始をブロックするかどうかを制御します (既定の結果を返します)。そして、これが私が達成したいことです - 私は AcitivityResult をアクティビティの呼び出しに戻したいです: onActivityResult()。私が使用するコードを以下に示します。

私が正しく理解していれば、addMonitor() に「true」を渡すと、開始がブロックされ、呼び出しアクティビティがモックされた結果を受け取るはずです。それは起こっていません。要求されたアクティビティが正常に開始され、エミュレーターに表示されます。結果は呼び出しアクティビティに返されません。誰もそれで同様の問題を抱えていましたか?