2011-09-06 16 views
2

WebBackedSeleniumDriverでSeleniumクライアントドライバ2.5.0を使用しています。私は私のテストで使用するJavascript関数を注入したいが、いくつか問題がある。ここでは、私は私のドライバを初期化する方法を...SeleniumテストにJS関数を挿入するにはどうすればよいですか?

final FirefoxDriver driver = new FirefoxDriver(); 
    selenium = new WebDriverBackedSelenium(driver, baseUrl); 

が、下記の2番目の行はスロー「『INC』未定義のエラーです。」です

selenium.getEval("function inc(x) { return x + 1; }); "); 
    String incResult = selenium.getEval("inc(5);"); 

どのように私は正常に他のテストで使用するためのJavascript関数を挿入できますか?

ありがとうございます - Dave

答えて

3

次のように少し変更してください。

selenium.getEval("inc = function(x) { return x + 1; }"); 
    String incResult = selenium.getEval("inc(5);"); 
0

セレンのドキュメント(Selenium Driver .NET Docs)によると:

は、現在のテストウィンドウのボディに新しい「スクリプト」タグを作成し、コマンドの本体内に指定したテキストを追加します。このように実行されるスクリプトは、Seleniumの「getEval」コマンドを使用して実行されるスクリプトよりも簡単にデバッグすることができます。これらのスクリプトタグでスローされたJS例外はSeleniumによって管理されないので、スクリプトが例外をスローする可能性がある場合は、おそらくtry/catchブロックでスクリプトをラップする必要があります。

だから、私は答えに行う唯一の変更は、RUNSCRIPT方法の賛成でgetEvalを変更することです。

関連する問題