我有一Page
堂课
class SignUpPage extends Page {
static url = "signup"
static at = { waitFor { title.startsWith("Join") } }
static content = {
firstNameField { $("input", name:"firstName") }
lastNameField { $("input", name:"lastName") }
emailField { $("input", name:"email") }
passwordField { $("input", name:"password") }
}
}
我想为populateFields
这个类添加一个方法。这将允许我调用此方法来填充我的测试用例中的文本字段。这个方法有一个参数传入 - 一个Map
允许我根据需要从我的测试用例中覆盖某些字段值。
问题是我不知道如何迭代页面的“内容”。为了更清楚地看到下面的代码:
class SignUpPage extends Page {
static url = "signup"
// .. as defined above ..
def populateFields(customValues = [:]) {
// I want to iterate of the textFields here
// Something like...
textFields = this.metaclass.methods.findAll {
it.name.endsWith("Field")
}
textFields.each {
// populate with data
}
}
}
这行不通。
如何获取闭包“内容”的内容?