Google Chrome

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

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

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

Google Chrome を使用して Web アプリケーションをテストしている場合に、Google Chrome を閉じた際にバックグラウンド アプリケーションの処理を続行する チェックボックスがチェックされていると、Silk Test は Google 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 を使った並列テストでは、この回避策は機能しません。