第一步:我們該知道需要定義,哪幾個頁面?
首頁
* 登入超連結
* 登出超連結
登入頁
* 帳號欄位
* 密碼欄位
* 登入按鈕
第二步:各Page中,url, at, content,需要設什麼?
Page Object pattern 需要定義哪些東西?
* url:網址
* at:確認此頁面的檢查條件
* content DSL:Page包含的元素
* 物件自定的方法
import geb.*
class LoginPage extends Page {
static url = "/login"
static at = { title == "Login Page" }
static content = {
emailInput { $("input[name=account]") }
passwordInput { $("input[name=password]") }
loginButton { $("input[value='Login']") }
}
void login(String account, String passowrd) {
emailInput.value('xxx@yyy.com')
passwordInput.value('xxxxxxxx')
loginButton.click()
}
}