0
我對Geb很新,但是我面臨着一個奇怪的問題,那就是文檔似乎沒有解決。我有一個非常簡單的測試方案:以管理員身份登錄,打開應用程序,確認主頁上顯示「應用」按鈕。然後關閉應用程序並確認該按鈕已從主頁上消失。我可以成功地手動執行這個測試,並且服務器端沒有任何東西(緩存明智)阻止成功,但是當我通過Gradle運行測試時失敗,因爲按鈕仍然在主頁上顯示'close'後,測試。請注意,測試還會驗證配置是否保存了適當的值。Geb測試DOM元素存在,然後在下一頁刪除加載
這裏是我的測試代碼:
def "can open applications"(){
when:
to ManageConfigPage
and:
configFormModule.toggleApplications(true)
then:
at ManageConfigPage
assert $('#messages').text() == "Config successfully updated"
assert $('td', text: 'config.application_closed').closest('tr').find('input').value() == "0"
then:
to HomePage
assert applyButton
}
def "can close applications"(){
when:
to ManageConfigPage
and:
configFormModule.toggleApplications(false)
then:
at ManageConfigPage
assert $('#messages').text() == "Config successfully updated"
assert $('td', text: 'config.application_closed').closest('tr').find('input').value() == "1"
then:
to HomePage
assert !applyButton
}
這裏的applyButton內容定義:
applyButton(cache: false, required: false){ $('#apply_button') }
我直接在測試,而不是內容定義中使用的選擇也嘗試和沒有工作無論是。
那麼這裏發生了什麼?主頁是否被整體緩存?如果是這樣,我該如何防止或刷新它?這看起來像Geb 101,但手冊並沒有真正解決這個問題。
編輯:添加的完整性測試結果:
條件不滿意:
applyButton || | applyButton - SimplePageContent(業主:首頁,ARGS:[],值:空) 假
at AdminSpec.can close applications(AdminSpec.groovy:59)
我在移動到該頁面之前添加了一個睡眠(5000),並且它按預期工作。這不應該是必要的,但它有效。 –