// Java code desktop.<BrowserWindow> find("//BrowserWindow") .executeJavaScript("function foo() { alert('Silk Test'); }"); desktop.<BrowserWindow> find("//BrowserWindow") .executeJavaScript("foo();");
Google Chrome 上でテストを再生する場合、スクリプトはクロージャで実行され、グローバル コンテキスト (window) では実行されません。すべては関数内で実行されます。上記のサンプル コードの最初の ExecuteJavaScript 呼び出しは、Google Chrome では機能しません。これは、関数 foo が ExecuteJavaScript 呼び出しが存続する間だけ有効であるためです。
// 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 メソッドのドキュメントを参照してください。