Page物件模式

Page有三個靜態屬性

  • url:網址
  • at:頁面的檢查條件
  • content DSL:Page包含的元素

除了這三個區塊外,你還可以額外自定物件的方法。

class LoginSpec extends GebReportingSpec{

    def setup() {
        to LoginPage
    }

    def "login"(){
        when:
        login('xxx@yyy.com', '11111111')

        then:
        true
    }
}

class LoginPage extends Page {

    static at = { title == "Login Page" }

    static url = "login.html"

    static content = {
        emailInput { $("input[name=account]") }
        passwordInput { $("input[name=password]") }
        loginButton { $("input[value='Login']") }
    }

    // 自定物件方法
    void login(String account, String passowrd) {
        emailInput.value(account)
        passwordInput.value(passowrd)
        loginButton.click()
    }
}

results matching ""

    No results matching ""