この質問は検索されましたが、回答は見つかりませんでした。計装テストアンドロイドシステムアプリへの道
Androidアプリがインストールされているシステムアプリがあるとします。ダイヤラーアプリ。
今、このアプリを単体テストまたは計測テストしたいと思います。私はAOSP Android.mkを使いたくありません。別の方法がありますか?例えばテストするためのgradleプロジェクトを作成できますか?
この質問は検索されましたが、回答は見つかりませんでした。計装テストアンドロイドシステムアプリへの道
Androidアプリがインストールされているシステムアプリがあるとします。ダイヤラーアプリ。
今、このアプリを単体テストまたは計測テストしたいと思います。私はAOSP Android.mkを使いたくありません。別の方法がありますか?例えばテストするためのgradleプロジェクトを作成できますか?
the UiAutomator systemを使用して、任意のアプリ(システムアプリを含む)をテストすることができます。しかし、入力および出力は幾分制限されている。 https://developer.android.com/topic/libraries/testing-support-library/index.html#UIAutomator
これは、ユーザーのシミュレーションを可能にする:
計装テストでは、私は個人的にuiautomatorが消費する独立したアプリケーションを作成するには、この内の別々のクラスにPhoneActivityPageとのインタフェースを定義することができ
@org.junit.Test
public void testCheckContact() throws InterruptedException {
UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
assertThat(device, notNullValue());
device.pressHome();
Context context = InstrumentationRegistry.getInstrumentation().getContext();
Intent intent = context.getPackageManager().getLaunchIntentForPackage("systempackageName");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);
...
...
PhoneActivityPage phoneActivityPage = new PhoneActivityPage();
phoneActivityPage.clickContacts();
assertEquals("Contacts", phoneActivityPage.getSelectedTab());
}
独立したテストプロジェクト。
こちらがお役に立てば幸いです。
おかげさまで@ abstractx1、それは私が研究している、後で更新されます – wxi
それは動作します。それを使って私はダイヤルパッドをクリックして電話アプリを示した。 – wxi
@wxi:Brilliant!それはあなたのために働いてうれしい。 – abstractx1