Google Chrome

Windows で記録中のロケーターが Google Chrome で失敗する

Google Chrome で Web アプリケーションをテストするときに、アプリケーションを実行している Google Chrome インスタンスのアプリケーション構成中に複数のウィンドウが開いていると、Windows で記録中のロケーターが失敗します。アプリケーション構成中に他の Google Chrome ウィンドウを閉じると、エラーは発生しなくなります。

Google Chrome のバックグラウンド アプリケーションでオートメーション サポートを読み込むことができない

Google Chrome を使用して Web アプリケーションをテストしている場合に、Google Chrome を閉じた際にバックグラウンド アプリケーションの処理を続行する チェックボックスがチェックされていると、Silk TestGoogle Chrome を再起動してオートメーション サポートを読み込むことができません。

Windows Aero が無効なときにモーダル ダイアログのロケーターを Silk Test が記録できない

Windows Aero が無効化されている場合、モーダル ダイアログが認識されないため、このようなダイアログのロケーターを選択できません。回避策として、モーダル ダイアログが表示されているときには、Locator Spy または オブジェクトの識別 ダイアログ ボックスを使用して、ロケーターを手動で作成および検証してください。

Silk Test が埋め込み PDFを表示しない

Google Chrome 42 以降を使用すると、Google Chrome は、埋め込み PDF を表示するために使用する NPAPI プラグインをデフォルトでブロックします。このため、Silk Test は埋め込み PDF を Google Chrome 42 以降に表示する代わりに、埋め込み PDF をダウンロードします。

  • Google Chrome 44 以前を使用している場合、アドレス バーに以下を入力することにより、Google Chrome での NSAPI プラグインのブロックを解除できます。
    chrome://flags/#enable-npapi
  • Google Chrome 45 以降を使用している場合、NPAPI プラグインは Google Chrome から完全に削除されており、再有効化するオプションも無いため、すべての PDF はダウンロードされます。

テストの実行時に Google Chrome (49 以前) との接続がタイムアウトする

低速なマシンで Google Chrome (49 以前) に対するテストを実行すると、接続タイムアウトが発生し、テストが失敗する場合があります。以下のエラー メッセージが表示されます。
'*' の実行中にエラーが発生しました。ブラウザー オートメーションとの通信がタイムアウトしました。

このような接続タイムアウトを回避するために、十分な処理速度を持つテスト マシンを使用してください。たとえば、低速の仮想マシン (VM) 上でテストしている場合には、VM に CPU コアを追加することで処理速度を向上させることができます。

Google Chrome 66 以降を使用している場合にレジストリを使って UserDataDir を設定すると Google Chrome サポートが機能しなくなる

レジストリのポリシーとして HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\UserDataDir キーや HKEY_CURRENT_USER\Software\Policies\Google\Chrome\UserDataDir キーを使ってユーザー データ ディレクトリを設定すると、Google Chrome 66 以降上で Web アプリケーションをテストする際に、基本状態の実行が次のエラー メッセージで失敗する可能性があります:「アプリケーション 'GoogleChrome' の開始に失敗しました。 unknown error: DevToolsActivePort file doesn't exist 」。これは ChromeDriver の既知の問題です(https://bugs.chromium.org/p/chromedriver/issues/detail?id=2513)。

この問題を回避するには、以下のいずれかのステップを実行します。
  • レジストリ キーを削除します。
    注: この問題が発生した場合に、Google Chrome を使って並列テストを実行するには、この方法の適用が必須です。
  • Google Chrome のユーザー データ ディレクトリをレジストリ キーと同じディレクトリに設定します。
    1. アプリケーション構成の編集 ダイアログ ボックスを開きます。
    2. ブラウザーの種類から Google Chrome を選択します。
    3. ユーザー データ ディレクトリを 接続文字列 フィールドに設定します:goog:chromeOptions={"args":["--user-data-dir=<ユーザー データ ディレクトリ>"]}たとえば、レジストリの値が C:/temp/chromeUserData であれば、goog:chromeOptions={"args":["--user-data-dir=C:/temp/chromeUserData"]} と入力します。
    注: Google Chrome を使った並列テストでは、この回避策は機能しません。