Я пытаюсь создать модуль geb, представляющий неупорядоченный список элементов. Я видел примеры того, как это сделать с таблицами, но мне трудно перевести это на UL->LI
элементы. Вот что у меня есть до сих пор:
class CheckoutPage extends Page {
static content = {
cartItemList { $(".cart_items ul") }
cartItem { i -> module CartItem, cartItems[i] }
cartItems(required: false) { cartItemList.find("li.item") }
}
}
class CartItem extends Module {
static content = {
thumbnail { $("img.book_cover", it) }
itemInfo { $("div.item_info", it) }
bookTitle { itemInfo.find("h1").find("a").text() }
}
}
Когда я делаю следующее в своей спецификации:
def "add an item to the cart"() {
when:
to CheckoutPage, productId: "10001"
then:
cartItems.size() == 1
def cartItem = cartItems(0)
cartItem.bookTitle == "Test Book Title 001"
}
Я получаю следующую ошибку:
geb.error.UnresolvablePropertyException: невозможно разрешить bookTitle как содержимое для cartItems
Однако cartItem
— это элемент DOM, потому что я могу это сделать, и это работает:
cartItem.find("div.item_info").find("h1").find("a").text() == "Test Book Title 001"