ディープリンクをテストするためのエスプレッソスクリプトを作成したいと思います。より多くのアイデアを得るのに役立つソリューションを探してください。アンドロイドエスプレッソを使用したディープリンクの自動化
例:gmailでモバイルユーザー向けのリンクを取得するようなシナリオを探しています。エスプレッソを使ってこのようなことをテストするにはどうすればいいですか?
ありがとうございます。アクティビティ・ルールと
ディープリンクをテストするためのエスプレッソスクリプトを作成したいと思います。より多くのアイデアを得るのに役立つソリューションを探してください。アンドロイドエスプレッソを使用したディープリンクの自動化
例:gmailでモバイルユーザー向けのリンクを取得するようなシナリオを探しています。エスプレッソを使ってこのようなことをテストするにはどうすればいいですか?
ありがとうございます。アクティビティ・ルールと
スタートはその後
@Rule
public ActivityTestRule<YourAppMainActivity> mActivityRule =
new ActivityTestRule<>(YourAppMainActivity.class, true, false);
あなたは何かがリンクからURIを解析し、目的
を起動するためにあなたがしたいそして、活動のルールを意図String uri = "http://your_deep_link_from_gmail";
private Intent getDeepLinkIntent(String uri){
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(uri))
.setPackage(getTargetContext().getPackageName());
return intent;
}
を返すようにしたいです
Intent intent = getDeepLinkIntent(deepLinkUri);
mActivityRule.launchActivity(intent);
ウェルIntentTestRule
が正しく動作しません。だから私はActivityTestRule
と、このようにしようとします:
public ActivityTestRule<MyActivity> activityTestRule = new ActivityTestRule<MyActivity>(MyActivity.class, false, false);
そして私はこのようなものにするために、適切なUIユニットテストを書きます。これにより
@Test
public void testDeeplinkingFilledValue(){
Intent intent = new Intent(InstrumentationRegistry.getInstrumentation()
.getTargetContext(), MyActivity.class);
Uri data = new Uri.Builder().appendQueryParameter("clientName", "Client123").build();
intent.setData(data);
Intents.init();
activityTestRule.launchActivity(intent);
intended(allOf(
hasComponent(new ComponentName(getTargetContext(), MyActivity.class)),
hasExtras(allOf(
hasEntry(equalTo("clientName"), equalTo("Client123"))
))));
Intents.release();
}
あなたはディープリンクすることをテストしようとしています指定されたクエリパラメータは、実際に、ディープリンクのインテントを処理しているアクティビティによって正しく取得されています。
[Androidでのディープリンクのテストの書き方は?](https://stackoverflow.com/questions/42951216/how-to-write-tests-for-deep-links-in-android) – Ixx