Google Chrome を使用したテストの制限事項

Google Chrome を使用したテストの再生とロケーターの記録のサポートは、サポートされている他のブラウザほど完全なものではありません。以下のリストに、Google Chrome を使用したテストの再生とロケーターの記録の既知の制限事項をリストします。
  • Silk Test Workbench は、複数の Google Chrome ウィンドウ上でのテストの記録をサポートしていません。
  • Silk Test は、Google Chrome を使用した xBrowser ドメインの子テクノロジ ドメインのテストをサポートしていません。たとえば、Apache Flex または Microsoft SilverlightGoogle Chrome ではサポートされていません。
  • Google Chrome 49 以前を使用する場合、Silk TestGoogle Chrome のネイティブ サポートは提供しません。内部 Google Chrome 機能をテストすることはできません。たとえば、テストで、Win32 でナビゲーション バーにテキストを追加して現在表示されている Web ページを変更することはできません。回避策として、API コールを使用して Web ページ間を移動できます。Silk Test は、Alert API を使用した警告および類似のダイアログ ボックスの処理をサポートします。
  • Silk Test Workbench は、Google Chrome でのテキスト解決をサポートしません。
    テキスト解決は次のメソッドを含みます。
    • TextCapture
    • TextClick
    • TextExists
    • TextRectangle
  • Silk Test WorkbenchGoogle Chrome を使用して Web アプリケーションをテストする際の列挙子をサポートしていません。
  • Silk Test Workbench は、IMoveable クラスの GetFocus メソッドをサポートしません。
  • Silk Test は、Google Chrome メニューを使用して Google Chrome印刷 ダイアログ ボックスが開かれたことは認識しません。Google Chrome でダイアログ ボックスを開く動作を追加してテストするには、TypeKeys メソッドを使用して Ctrl+Shift+P を送信する必要があります。Internet Explorer はこのショートカットを認識しません。したがって、最初に Internet Explorer でテストを記録してから、手動で Ctrl+Shift+P を押す操作をテストに追加する必要があります。
  • 2 つの Google Chrome ウィンドウが同時に開いているときに、2 番目のウィンドウが最初のウィンドウから解除された場合、Silk Test は解除された Google Chrome ウィンドウの要素を認識しません。ただし、Silk Test は、再生中に AUT によって開かれた Google Chrome ウィンドウの要素を認識します。
  • Google Chrome 49 以前を使用する場合、Google Chrome を使用して Web アプリケーションをテストしている場合に、Google Chrome を閉じた際にバックグラウンド アプリケーションの処理を続行する チェックボックスがチェックされていると、Silk TestGoogle Chrome を再起動してオートメーション サポートを読み込むことができません。
  • ビジュアル テストの再生速度が遅い場合は、ツール > オプション > 再生 > 結果 > ビジュアル テスト のオプション コントロールのキャプチャいいえ に設定します。そうしないと、リッチな Web ページでは再生速度が著しく低下し、通信がタイムアウトすることもあります。
  • Google Chrome 50 より前のバージョンを使用してテストを再生するには、次のいずれかを実行する必要があります。
    • Google Chrome を起動して、Silk Test Chrome 拡張機能を有効にします。
      注: Silk Test Chrome 拡張を誤って削除した場合、Chrome ウェブストア から拡張機能を再インストールする必要があります。
    • Chrome ウェブストアへアクセスできず、Silk Test Chrome 拡張機能を有効にできない場合は、レジストリ キー「HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Google\Chrome\Extensions\cjkcicfagnoafgjpgnpcdfllcnneidjj」を削除してください。
      1. スタート メニューの検索ボックスに regedit を入力し、Enter を押します。
      2. レジストリ エディター で、HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Google\Chrome\Extensions に移動します。
      3. cjkcicfagnoafgjpgnpcdfllcnneidjj を右クリックして 削除 を選択します。
  • Google Chrome 49 以前を使用する場合、Internet Explorer を使用してテストを再生する場合、executeJavaScript をテストするために次のコードを使用できます。
    // Java code
    desktop.<BrowserWindow> find("//BrowserWindow")
      .executeJavaScript("function foo() { alert('Silk Test'); }");
    desktop.<BrowserWindow> find("//BrowserWindow")
      .executeJavaScript("foo();");

    Google Chrome 上でテストを再生する場合、スクリプトはクロージャで実行され、グローバル コンテキスト (window) では実行されません。すべては関数内で実行されます。上記のサンプル コードの最初の ExecuteJavaScript 呼び出しは、Google Chrome では機能しません。これは、関数 fooExecuteJavaScript 呼び出しが存続する間だけ有効であるためです。

    Google Chrome 上で同じテストを再生する場合は、次のような関数式を使用できます。
    // Java code
    desktop.<BrowserWindow> find("//BrowserWindow")
      .executeJavaScript("window.foo = function() { alert('Silk Test'); }");
    desktop.<BrowserWindow> find("//BrowserWindow")
      .executeJavaScript("window.foo();");

    前のサンプル コードは Silk4J では機能します。他の Silk Test クライアントに対するコードも同様です。詳細については、Silk Test クライアントのヘルプにある ExecuteJavaScript メソッドのドキュメントを参照してください。

注: Silk Test Chrome 拡張機能アイコンが赤色になっている場合は、Silk Test Chrome サポートにエラーがあることを示しています。