Execute Javascript $('*:contains("Success"))
このステートメントが成功したかどうかを確認する方法はありますか? 何かを変数に返して、変数の値を確認できますか?
たとえば
${var1} = Execute Javascript $( )
if ${var1} = ""
Execute Javascript $('*:contains("Success"))
このステートメントが成功したかどうかを確認する方法はありますか? 何かを変数に返して、変数の値を確認できますか?
たとえば
${var1} = Execute Javascript $( )
if ${var1} = ""
SeleniumLibrary を使用している場合は、Selenium WebDriver ではなくSelenium RC を使用します (最初に質問にタグを付けたように)。
したがって、はい、Selenium RC のgetEval()
メソッドは を返すためString
、スクリプトから値を返すことはできString
ますが、それ以上のことはできません。
指定された JavaScript スニペットを評価した結果を取得します。スニペットには複数の行が含まれる場合がありますが、最後の行の結果のみが返されます。
JavaScript スニペットにステートメントは必要ありませんreturn
。最後の行が常に返されます。
Selenium2Library を使用している場合は、ドキュメントにもそう書かれています。
executeScript()
これは、次のように言うWebDriver を内部的に使用します。
スクリプトに戻り値がある場合 (つまり、スクリプトに return ステートメントが含まれている場合)、次の手順が実行されます。
- HTML 要素の場合、このメソッドは
WebElement
- 10 進数の場合、a
Double
が返されます- 10 進数以外の場合、a
Long
が返されます。- ブール値の場合、 a
Boolean
が返されます- それ以外の場合は、a
String
が返されます。- 配列の場合、
List<Object>
上記の規則に従って各オブジェクトで を返します。ネストされたリストをサポートしています。- 値が返さ
null
れるか、返される値がない場合を除きます。null