user-extensions.jsで定義されている関数を使用する必要があります。RCからwebdriverへの移行中です。runScriptとgetEvalを置き換えるJavascriptExecutorがあることを知りましたが、user-extensions.jsファイルをどのように指定しますか。java -jar selenium-server-standalone.jar -userExtensions user-extensions.jsと同じですか?
質問する
5614 次
3 に答える
4
最後に、2年2か月後、webdriverでuser-extensionsファイルを使用するソリューションを見つけ、現在webdriverに移行しています。
loadjsFile(driver);
機能は以下のとおりです。
public static void loadjsFile(WebDriver driver){
String scriptSrc = "http://localhost:8080/test/user-extensions.js";
String injectScript = "var script = document.createElement(\"script\");";
injectScript += "script.src = \""+scriptSrc+"\";";
injectScript += "script.setAttribute(\"type\",\"text/javascript\");";
injectScript += "document.body.appendChild(script);";
((JavascriptExecutor) driver).executeScript(injectScript);
}
于 2014-01-23T06:34:16.223 に答える
1
Selenium RCのように、テスト実行で利用できるjavascriptを挿入する方法はありません。ここに、いくつかの可能な移行のヒントに関するスレッドがあります:http: //groups.google.com/group/selenium-developers/browse_thread/thread/15cb4b774b734cc7 / c7baf10db0bc2bc0
于 2011-12-14T18:32:36.073 に答える
1
現在、ユーザー拡張機能の代わりに使用できるIJavaScriptExecutorと呼ばれるインターフェイスがあります。
これはC#/NUnitバージョンです。
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
long tableRowCount = (long)js.ExecuteScript("return $('#tableid tr').length);
Java/JUnitのバージョンは次のとおりです。
JavascriptExecutor js = (JavascriptExecutor) driver;
Object o = js.executeScript("return '123'");
于 2012-01-17T18:49:37.440 に答える