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

以下のリストに、ローカル Windows マシン上で Google Chrome を使用した場合の、テストの再生とロケーターの記録の既知の制限事項をリストします。
  • Silk Test は、Google Chrome を使用した xBrowser ドメインの子テクノロジ ドメインのテストをサポートしていません。たとえば、Apache Flex または Microsoft SilverlightGoogle Chrome ではサポートされていません。
  • Silk4J は、HTTP 基本認証ダイアログのテストの記録をサポートしません。
  • Silk Test は、Google Chrome のネイティブ サポートは提供しません。内部 Google Chrome 機能をテストすることはできません。たとえば、テストで、Win32 でナビゲーション バーにテキストを追加して現在表示されている Web ページを変更することはできません。回避策として、API コールを使用して Web ページ間を移動できます。Silk Test は、Alert API を使用した警告および類似のダイアログ ボックスの処理をサポートします。
  • Silk4J は、IMoveable クラスの getFocus メソッドをサポートしません。
  • Silk Test は、Google Chrome メニューを使用して Google Chrome印刷 ダイアログ ボックスが開かれたことは認識しません。Google Chrome でダイアログ ボックスを開く動作を追加してテストするには、TypeKeys メソッドを使用して Ctrl+Shift+P を送信する必要があります。Internet Explorer はこのショートカットを認識しません。したがって、最初に Internet Explorer でテストを記録してから、手動で Ctrl+Shift+P を押す操作をテストに追加する必要があります。
  • Google Chrome の複数ウィンドウの同時テストは、最初の Google Chrome ウィンドウから AUT 自身が追加のウィンドウを開いた場合にのみサポートされます。追加の Google Chrome ウィンドウを手動で開いた場合、Silk4J はこれらの Google Chrome ウィンドウ上の要素を解決できません。たとえば、記録中に AUT のリンクやボタンをクリックして開かれた Google Chrome ウィンドウ上の要素は Silk4J は解決できますが、記録中に CTRL+N を押して開かれた Google Chrome ウィンドウ上の要素は Silk4J は解決できません。
  • 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 メソッドのドキュメントを参照してください。

  • Google Chrome のユーザー データ ディレクトリをグループ ポリシーを使って設定していると、Google Chrome 上での並列テストは機能しません。この問題を回避するには、レジストリー キー HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\UserDataDir または HKEY_CURRENT_USER\Software\Policies\Google\Chrome\UserDataDir を削除するように、管理者に依頼してください。