2013-02-28 57 views
1
Execute Javascript $('*:contains("Success")) 

有沒有辦法找出這條語句是否成功?我們可以將某些東西返回給變量並檢查變量的值嗎?

像如果您使用的SeleniumLibrary,然後it uses Selenium RC,不硒的webdriver(如你initally標記你的問題),例如

${var1} = Execute Javascript $() 
if ${var1} = "" 

回答

1

所以,是的,Selenium RC's getEval() method returns a String,所以你will be able to return String values from your scripts,但僅此而已:

獲取評估指定的JavaScript代碼片段的結果。 片段可能有多行,但只會返回最後一行 的結果。

在JavaScript代碼段中不需要return語句,總是返回最後一行。


如果您使用Selenium2Library,那麼是的,肯定的是,即使the docs say so

它在內部使用它說這個的webdriver的executeScript()

如果腳本有返回值(即如果腳本包含返回 語句),然後將採取以下步驟:

  • 對於HTML元素,則此方法返回一個WebElement
  • 對於小數,則返回Double
  • 對於非十進制數,一個Long返回
  • 對於一個布爾值,一個Boolean返回
  • 對於所有其他情況下,返回String
  • 對於數組,每個對象返回一個List<Object>遵循上述規則。我們支持嵌套列表。
  • 除非值null或沒有返回值,其中null被發現,我不知道它存在的Selenium2Library後返回
+0

編輯我的回答廣泛。 – 2013-02-28 13:20:40

+0

啊!非常感謝Slanec的信息 – HamSmith 2013-03-01 13:37:58