Мы строим модель для каждой страницы с шаблоном объектов страницы selenium. Но для реализации одной бизнес-функции потребуется пара страниц. Например, при создании одного пользователя используются AgreementPage и CreateUserPage, как показано ниже.
agreementPage = AgreementPage()
creatUserPage = agreementPae.accept()
createUserPage.typeEmail("your email address")
createUserPage.submit()
В наших тестах многие тестовые случаи требуют создания одного пользователя для предварительных условий. Чтобы повторно использовать этот код, мы создали один новый уровень службы. Мы перемещаем код в UserService.CreateUser(). Тогда наши тестовые сценарии становятся
def test_create_user():
userService.CreateUser("email address")
#do assertion
def test_edit_user():
authenticationService.login("user name", "password")
userService.CreateUser("email addrss")
#do editing created user
def test_delete_user():
authenticationService.login("user name", "password")
userService.CreateUser("email addrss")
#do deleting created user
Поскольку большинство функций включают две или более страниц, объекты страницы переходят на уровень службы. И на уровне тестовых скриптов кажется, что мы тестируем сервисы. Но мы думаем, что имя сервиса не является дружественным и не похоже на язык домена.
Я предполагаю, что это очень распространенный подход к автоматическому тестированию, верно? Как вы называете уровень службы или как вы справляетесь с повторными объектами страницы?