1

私はjunit自分のAndroidアプリケーションをテストするために使用しています。TestCase1.java私は「同意する」ボタンをクリックして同意を受け入れ、いくつかの可能性を主張しています。

次にTestCase2.javaもう一度、「同意する」ボタンをクリックして、いくつかの可能性を主張したいと思います。

テストケースを実行するたびに、アプリケーションをアンインストールして再インストールする必要があります。パッケージ全体を実行すると、同じパスを繰り返しているため、ほとんどの場合失敗します。

サンプルコード。
TestCase1.java

  @Test
  public void testdA_Case2() throws Exception {
  solo.assertCurrentActivity("my test  active", Myproj.class);
    solo.clickOnButton("I Agree");
    assertEquals(Getresponce(),"1");
}

TestCase2.java

 @Test
  public void testdA_Case2() throws Exception {
  solo.assertCurrentActivity("my test  active", Myproj.class);  
  solo.clickOnButton("I Agree");
    assertEquals(register(), true);`

各テストケースの前にアプリケーションを再インストールするようにテストを実行するにはどうすればよいですか。それを自動化する方法。(アプリケーションデータをクリアして、URIを使用してアンインストールしてみました

packageURI = Uri.parse("package:"+"myproj.com");
        Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        ctx.startActivity(uninstallIntent);
    `  But my test stops running if I tried this.

よろしくお願いします。

4

1 に答える 1

1

すべてアプリケーション内で実行されるため、テストケース内からapkを再インストールできないようです。

ただし、外部から目的のフロー制御を実装できます。

バッチ/シェルスクリプトから、必要に応じてadb install -r ....を呼び出し、個別のテストプロジェクトを実行できます。実行方法は次のとおりです。コマンドラインからAndroidJunitテストを実行する

于 2012-12-27T06:59:15.750 に答える