我剛剛開始閱讀並嘗試使用一些Geb
0.12.2示例和它的文檔(http://www.gebish.org/manual/current),並且需要幫助來理解爲什麼這些斷言失敗。 我的第一次嘗試是使用重定向到我們的IDP登錄的web應用程序,如果它成功登錄,然後將您重定向到私有web應用程序內容。 我一直在失敗這個例子,並決定嘗試最簡單的例子(我也使用Spok,登錄模塊重用和Spec定義)我可以做更好地理解發生了什麼事情(我也是一個Eclipse用戶,對於這種情況已經切換到IntelliJ)。最簡單的Geb示例失敗斷言
斷言2和3的失敗,因爲空值與預期的我相比標題:// 2斷言的
package pages
import geb.Browser
import geb.Page
class GooglePage extends Page {
static url = "http://www.google.com/"
static content = {
heading { $("title").text() }
}
static at = {
title == "Google" //1
$('title').text() == "Google" //2
heading == "Google" //3
}
}
Browser.drive{
to GooglePage
}
輸出失敗:
Caught: Assertion failed:
$('title').text() == "Google"
| | |
| "" false
[[[FirefoxDriver: firefox on WINDOWS (2c4f1f19-b4fc-4f1f-bb39-9e0e2459da58)] -> css selector: title]]
輸出// 3斷言失敗:
Caught: Assertion failed:
heading == "Google" //3
| |
"" false
只有第一個斷言是真的,這是內置的title屬性。根據文檔http://www.gebish.org/manual/current/#at-checker有幾種方法來檢索標題的值,但似乎我錯誤地使用它。
與chromeTest,firefoxTest或phantomJS同樣失敗,或者通過命令行從IntelliJ或gradlew運行)。 我已經重新閱讀了一些文檔部分,但閱讀得越多,我越理解。
什麼是我誤解或失蹤?
謝謝。
感謝您的澄清!我錯誤地表達了自己的意思:我的意思是我混合了文檔中顯示的示例,即選擇h1,ap元素,div等......您不應該修復任何內容,但可能對像我這樣的Geb學習者有幫助在解釋選擇器或頁面屬性時看到任何建議。我知道這實際上不是一個geb特定的限制,但是因爲它使用WebKit,並且暴露了通過Page對象的方法對我來說似乎並不明顯(對於我的WebKit無知),所以這些方法在那裏,因爲不可能以其他方式檢索它的值。 – exoddus