9
なぜ非同期スクリプトを実行しようとしている場合、Selenium 2.25.0で例外が発生しますか?私は私のスクリプトからのsetTimeoutを削除し、私はそれが動作するコールバックを呼び出す場合Selenium非同期スクリプトを実行できません
FAILED: testSeleniumAsync org.openqa.selenium.TimeoutException: Script execution failed. Script: var callback = arguments[arguments.length - 1];getResult(callback); Timed out waiting for asyncrhonous script result after 2 ms (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 11 milliseconds Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 22:18:01' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-27-generic', java.version: '1.6.0_26' Driver info: driver.version: RemoteWebDriver Session ID: 6347b507cf22b6c2d3312937a82a0a02 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
:
var result = true; function getResult(callback){ window.setTimeout(function(){callback(true);}, 3000); }
これは例外をスロー:
//navigate to my test page. String script = "var callback = arguments[arguments.length - 1];" + "getResult(callback)"; Object result = ((JavascriptExecutor)driver).executeAsyncScript(script, ""); System.out.println(result);
テストページには、次のスクリプトが含まれています。しかし、これは私が望むものではありません。
ありがとうございました。
一般的な落とし穴((JavascriptExecutor)ドライバと思われるものを追加します).executeAsyncScript(script、 ""); //すぐに戻ります。 – redochka
@redsonic +1任意の日。 しかしこの場合、OPはコールバックを呼び出しています。 –
私は分度器で同じ問題を抱えていますが、どうすれば設定できますか? 私はbrowser.manage()を実行しました。タイムアウト()。setScriptTimeout(60000);しかし、私は同じエラーがあります! – Emna