05:29更新MagicPodのテストでは、WebView内の要素は通常ネイティブアプリの要素と同じように扱われます。これでもテストは可能ですが、「WebViewをスキャン」のオプションを使うとWebView内の要素をHTMLとして扱うことができ、以下のようにテストがもっと扱いやすくなります。HTMLの情報をロケータに使用できるので、よりメンテナンス性の高いテストが作成できます。CordovaのようなWebViewだけでiOS・Android両方のアプリが作成できるプラットフォームの場合、1つのテストケースでiOS・Android両方で動作させることができます。ネイティブアプリ要素として取得できないWebView内の要素も、HTMLとしてなら取得できることがあります。ここでは、「WebViewをスキャン」について説明します。WebViewのスキャンで特定のChromeDriverを使用する方法1.WebViewをHTMLとしてスキャンするWebViewをHTMLとして扱うには、UIをアップロードする際に「WebViewをスキャン」にチェックをつけた状態でUIをアップロードします。これで、そのUIのWebView内の要素はHTMLとして認識されます。クラウド端末の場合ローカル端末の場合UI要素のロケータを確認すると、HTML情報を元にしたロケータ情報が取得されたことが分かります。要素をHTMLとして扱うかは、スキャンした際に決まります。HTMLとしてスキャンした要素は、テスト実行時には「WebViewをスキャン」のチェック状態によらず常にHTMLとして扱われます。2.スキャンエラーが出る場合の設定(iOS)iOSで「WebViewをスキャン」を利用するには、以下の条件が満たされている必要があります。エラーが出る場合は、これらの条件が満たされているかを確認してください。deployment」で生成されている必要があります。Webインスペクタを有効にしておく必要があります。有効化する方法はこちらを参考にしてくださいWebViewはWkWebViewコンポーネントまたはUIWebViewコンポーネントを使って実装されている必要があります。SafariWebViewControllerコンポーネントを使っているとうまく動作しません。(不明な場合はアプリ開発者にご確認ください)3.スキャンエラーが出る場合の設定(Android)Androidで「WebViewをスキャン」を利用するには、アプリのプログラム中で、問題のWebViewがアプリ上で表示されるまでにsetWebContentsDebuggingEnabled(true)という静的メソッドが呼ばれる必要があります。具体的な実装方法は、下記のいずれかの記事を参考にしてください。不明な場合はアプリ開発者にご確認ください。WebViewページのデバッグまた、実装の際には以下の点にご注意ください。setWebContentsDebuggingEnabled(true)を呼び出すと、WebView内のHTMLがMagicPod以外の外部のデバッグツールからも参照可能になります。呼びださないようにしてください。setWebContentsDebuggingEnabled(true)は呼んでいたが、一部のWebViewの起動前には呼ばれないロジックになっていた、というトラブルがよくあるのでご注意ください。Cordovaアプリ)Cordovaアプリの場合、通常のビルドコマンドで生成されたAPKファイルであればWebView要素のHTMLスキャンが可能です。ようなコマンドで生成されたAPKファイルでは、setWebContentsDebuggingEnabled(true)処理が呼ばれず、WebViewのHTMLスキャンはエラーになるのでご注意ください。5.MagicPodがWebView内のHTMLにアクセスできるか確認する方法こちらのトラブルシューティングをご確認ください。WebViewの実体がChromeであるからです)。MagicPodDesktopアプリは必要に応じて対応するバージョンのChromeDriverを自動でダウンロードするようになっていますが、これだと次のように不便な場合があります。(通常1-2分ほど待ち時間が発生する)ネットワーク等の問題で自動ダウンロードに失敗するそこで、MagicPodDesktopアプリのv0.65.0から使用するChromeDriverを指定することが可能になりました。手順としては次の通りです。Chromeのバージョンを調べます。Chromeのバージョンを確認してください。WebViewのバージョンを確認してください。「WebViewの実装」の順に辿ると確認できます。11ではそれぞれ「74.0.3729.185」と「83.0.4103.106」がデフォルトでインストールされています。ChromeDriverのダウンロードページから、お使いのChromeのバージョンとOSに対応するChromeDriverをダウンロードし、適当な場所に解凍します。(一度起動したら、閉じて大丈夫です)。MagicPodDesktopを起動している場合は、一度閉じます。Support/magic_pod_desktop/magic_pod_config.json」)を開き、以下のように記述します。WebViewを更新する場合は、この設定で使用するChromeDriverのバージョンの更新も忘れないようにしてください。