要素の順序付けられていないリストを表す 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"