У меня есть страница, которая использует модуль для определения содержимого формы. Он довольно универсален для использования, но ему нужны разные результирующие страницы после запуска действий формы (нажатие кнопки и т. Д.).Возможно ли пройти через шаблонную опцию в модуль (как переменный параметр)
class CreateOrganisationPage extends Page {
static url = "#contact/organisation/create"
static at = {
form.displayed
}
static content = {
form(wait: true) {
module BusinessEntityFormModule, businessEntityName: 'organisation'
}
}
}
Модуль реализации содержимое формы содержит управляющий интерфейс saveCommand, который требует, что страница ViewBusinessEntityPage
будет перемещаться, чтобы после подачи. Чтобы сохранить этот модуль более многоразового использования в разных тестах, я хотел бы предоставить эту страницу как параметр . Каков наилучший подход?
class BusinessEntityFormModule extends Module {
String businessEntityName = "entity"
String idPrefix = "edit"
static content = {
self {
def id = "$idPrefix-" + StringUtils.capitalize(businessEntityName)
$("form", id: id)
}
saveCommand(to: ViewBusinessEntityPage) {
$('[data-command="save"]')
}
}
}
Это именно то, что я пробовал, но кажется, что параметры не оцениваются по экземпляру, и поэтому возникает исключение: '' Вызванный: groovy.lang.MissingPropertyException: Нет такого свойства: postSavePage для класса: de.troi.acceptancetest.contact.organisation.BusinessEntityFormModule Возможные решения: postSavePage \t в groovy.lang.Closure.getPropertyTryThese (Closure.java : 321) \t на groovy.lang.Closure.getPropertyOwnerFirst (Closure.java:315) \t в groovy.lang.Closure.getProperty (Closure.java:304) '' Так он будет работать только с определенным свойством как статический, который побеждает цель –
Это должно работать, по крайней мере, в 0.10.0, который был выпущен 2 недели назад. Существует [проблема, которую я исправил] (https://jira.codehaus.org/browse/GEB-245), которая точно описывает, что вы делаете, и есть [тестовый пример для него] (https://github.com /geb/geb/blob/master/module/geb-core/src/test/groovy/geb/PropertiesInModuleContentSpec.groovy#L41), который проходит. Если он не работает в 0.10.0, то это ошибка, и, пожалуйста, создайте для нее новую проблему. – erdi
Хорошо, я все еще на 0.9.3, что объясняет многое, и действительно я должен был упомянуть об этом. –