在這裏有一些幫助後,我正在使用Geb編寫一個功能性Web測試,並且要測試已禁用表單提交按鈕的屬性值發生了一個事件,流程如下:如何使用Geb來檢查頁面事件後的元素屬性值
- 加載頁面,提交按鈕在頁面源中被聲明爲禁用,所以應該禁用例如
<input type="submit" class="submit" disabled="true"/>
。 - 檢查頁面上的複選框,這將導致一段jQuery代碼執行,這將啓用已禁用的提交按鈕編程方式使用:
$('input.submit').attr('disabled', false);
我第一次嘗試是使用斷言$('input.submit')[email protected] == 'true'
,這似乎爲頁面加載之後的初始檢查工作,但是在執行我的JQuery代碼以啓用按鈕後,後續檢查仍會返回相同的結果。這使我想知道這種檢查是否只能在頁面加載時報告該值,並且沒有看到任何後續的程序變更?
然後我發現了Geb的jquery迭代,我希望我可以用它來返回提交按鈕的值,並對此進行斷言。 $('input.submit').jquery.attr('disabled') == false
但是,Geb文檔確認所有對.jquery
屬性的調用都會返回Geb Navigator實例,所以我不認爲我可以返回我想要的信息。
我也懷疑JQuery代碼實際上是否在切換提交按鈕禁用狀態,我已經使用Firebug進行了廣泛的測試,並且可以確認這在瀏覽器中完美工作,所以我懷疑這是我的問題對Geb的理解還是對Geb本身的限制?
它讓我覺得在頁面上執行一些操作後檢查元素屬性的值可能是一個常見的用例,因此我更希望我已經錯過了一些簡單的做法。將非常感謝任何指針,以幫助我得到這種排序。
乾杯,
埃德