여러 책에 대한 링크가 포함 된 페이지 (시작 페이지)가 있으며 특정 제목의 링크를 클릭하고 해당 페이지로 이동하는 일반적인 방법이나 콘텐츠 정의를 만들고 싶습니다. 모든 책 페이지에는 책의 제목을 정의하는 static String TITLE
이 정의되어 있습니다. 내가하고 싶은이 (시작 페이지) 같은 것입니다 :Geb에서 콘텐츠 정의에 인수를 전달하는 방법은 무엇입니까?
def <T extends Page> T openBook(Class<T> pageType) {
$(".product h3", text: pageType.TITLE).parents("a").click()
browser.to(pageType)
browser.page as T
}
그러나이 작동하지 않는 I가 탐색 할 때부터 pageType
(browser.to(pageType)
사용) 게브가 대신 로그인 페이지로 저를 리디렉션처럼 보인다 로 전화하면 세션이 재설정 되었기 때문에 pageType
을 요청했습니다.
나는 방법을 리팩토링 및 콘텐츠의 정의에 모든 하드 코딩하는 경우 :
static content = {
openMyBook(to: MyBookPage) { $(".product h3", text: "My Book Title").parents("a")}
}
그냥 openMyBook
를 호출하여 작동하지만이 책 페이지 (MyBookPage
)와 text
를 볼 수있는 하드입니다.
기본적으로 콘텐츠 정의 (openMyBook
)에 인수를 전달하거나 openBook
메서드를 수정하여 세션을 손실하지 않고 책 페이지를 탐색 할 수 있습니다.