我們使用Geb來運行我們的前端測試,並且在我們的應用程序中有一些相當複雜的頁面。Geb中是否有方法自動將正確的模塊分配給表單中的所有元素
一些頁面的表單有很多不同的按鈕,複選框和一些多選。
我喜歡geb/groovy的功能,我只需要在頁面對象中定義窗體,然後就可以訪問其中的所有元素。
static content = {
form { $("#form")}
}
但他們可以點擊並詢問他們是否是隻讀的,更多的,他們需要至少類型FormElement不與上述方法發生。所以我要單獨提及這些FormElements:
static content = {
form { $("#form")}
button1 { $("#button1").module(FormElement)}
button2 { $("#button2").module(FormElement)}
checkbox{ $("#checkbox").module(Checkbox)}
...
}
所有這些按鈕,複選框......已經在表單變量,但不能被點擊或檢查,如果他們選擇等。它也不可能事後應用模塊是這樣的:
def "test something"() {
when:
form.button1.module(FormElement).click() //error
then:
...
}
有沒有辦法自動分配每個輸入,複選框,單選按鈕,按鈕...正確的根據自己的類型的模塊,而不需要用手做?
如果有人也可以指出我正確的方向來理解這個「form {$(」#form「)}」是如何工作的,那麼我可以通過提供它的名字來訪問所有的子元素,只需提供表單即可對人好點!
真棒!這個模塊應該包含在Geb中! =)Thx! –
這真的很漂亮 – Snekse