2017-03-07 3 views
2

EclipseでSelenium JUnitを使用してテストスクリプトを実行します。今、私は私のJavaファイルに次のJSコードを追加するときに、テストケースがエラーで停止し、「selenium.JavascriptExceptionを:TypeError例外:document.querySelector(...)は nullである」
スクリプトは、Firefoxのコンソールで正常に動作します。
JavaScriptで新しくて、誰かがこの問題で私を助けることができれば幸いです。JavaScriptコードはEclipseではなくFireFoxコンソールで完璧に動作します

 if (driver instanceof JavascriptExecutor) { 
     ((JavascriptExecutor)driver).executeScript("" 
       + "some other code that works fine" 
       + "var rtxt= document.querySelector('#CSS__RichHtmlField_displayContent');" 
       + "rtxt.textContent= '​JavaScript testScript to testCase';"); 

    } else { 
       throw new IllegalStateException("This driver does not support JavaScript!"); 
    } 

答えて

0

Firefoxは、スクリプトを実行して値をチェックする前に、ページと情報が読み込まれるのを待つことができます。 Javaの実装では、値をチェックする前に待つ必要があると思います。そうでなければ、存在しない/まだロードされていないというエラーが発生します。

http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp

+1

これで機能します。 jsスクリプトの間にJava待機コマンド(ImplicitとExplicit)を追加しました。 jsの遅延を使ったときになぜうまくいかなかったのか分かりません。 – AlanD

関連する問題