モバイルアプリテストでは「ディープリンクを開く」コマンドが利用可能です。本コマンドを使うと、以下のような操作が実現できます。
- カスタムスキーム(theapp:// や geo:// など)のURIを開く
- http:// や https:// で始まるWebサイトのURLを開く
- http:// や https:// で始まるUniversal LinksやAndroid App Linksを開く
リンクで開かれるアプリ
ディープリンクとして指定したURIでどのアプリが開かれるかは、アプリのインストール状況やシステム設定、またコマンドの「リンクで開かれるアプリ」オプションに依存します。
「リンクで開かれるアプリ」オプションに特定のアプリを設定した場合は、そちらが優先して利用されます。「指定なし」を設定した場合は、通常はリンクに紐づいたシステムのデフォルトアプリが利用されます。
Androidにおける制約
-
外部クラウド環境でのオプション指定
- 外部クラウド環境(BrowserStack、SauceLabsなど)では「リンクで開かれるアプリ」オプションに「指定なし」を設定する機能に未対応なため、「指定なし」を設定した場合は実行エラーとなります。これらの環境を利用される場合、「リンクで開かれるアプリ」オプションには特定のアプリを指定してください。
-
Chromeが利用される場合
- 初期画面として「ようこそ画面」や「サインインを求める画面」などが出現することがあります。これらは「タップ」コマンドで画面を閉じる処理を必要に応じて追加してください。
- WebViewスキャン時に空のタブが存在するとスキャンに失敗することがあるという不具合が報告されています。Chrome起動時には自動で空のタブが作成されることがあるため、「タップ」コマンドでタブを閉じる処理を必要に応じて追加してください。
- 不具合に関する詳細は、「WebViewのテストについて」の「Android WebViewのスキャンに関する既知の問題」を参照してください。
iOSにおける制約
- iOS 16.3以下またはXcode 14.2以下の環境では、内部操作としてSafariを経由してリンクを開き、さらにリンクに紐づいたアプリが開かれます。Safariを経由している都合上、いくつか制約が存在します。
- Safariで既にタブが開かれていた場合、既存のタブが上書きされる可能性があります。
- 特定のアプリを指定してリンクを開くことはできません。そのため、「リンクで開かれるアプリ」オプションの設定は反映されません。
- 指定されたURIに打ち間違い等が存在していた場合、エラーになるのではなく検索画面に移行してしまうことがあります。