Начал изучать автоматизированное тестирование. Написал обёртку для вебдрайвера для тестирования страницы регистрации на нашем сайте. В итоге сами тесты у меня выглядят как показано ниже.
И тут возник вопрос: удобно ли будет их поддерживать в таком виде? Особенно учитывая, что уже сейчас для проверки всего пары полей написаны десятки функций и мне страшно представить, что будет дальше.
С одной стороны хочется уменьшить дублирование кода и объединить проверки (например, собрать все проверки поля login в одну функцию), с другой - неясно будет ли понятно потом написанное непричастным (скажем, ручным тестировщикам).
А на что у вас похожи автотесты?
@Test public void negative2SymbolsLogin() { UserRegistrationPage regPage = pageHelper.navigateToUserRegistrationPage(); User user = userHelper.generateValidUser(); user.setLogin("gj"); RegistrationErrorPage errorPage = regPage.incorrectRegistration(user, user.getPassword(), true); Assert.assertTrue(errorPage.hasErrorFieldWithText( "Login: Field length must be in: 3..25")); } @Test public void negative4MoreDigitsInLogin() { UserRegistrationPage regPage = pageHelper.navigateToUserRegistrationPage(); User user = userHelper.generateValidUser(); user.setLogin("test82715user"); RegistrationErrorPage errorPage = regPage.incorrectRegistration(user, user.getPassword(), true); Assert.assertTrue(errorPage.hasErrorFieldWithText( "Login: Invalid Field Format")); } @Test public void negativeSpaceInLogin() { UserRegistrationPage regPage = pageHelper.navigateToUserRegistrationPage(); User user = userHelper.generateValidUser(); user.setLogin("this is"); RegistrationErrorPage errorPage = regPage.incorrectRegistration(user, user.getPassword(), true); Assert.assertTrue(errorPage.hasErrorFieldWithText( "Login: Invalid Field Format")); } @Test public void negativeWrongSymbolInLogin() { UserRegistrationPage regPage = pageHelper.navigateToUserRegistrationPage(); User user = userHelper.generateValidUser(); user.setLogin("$wrongsymbol"); RegistrationErrorPage errorPage = regPage.incorrectRegistration(user, user.getPassword(), true); Assert.assertTrue(errorPage.hasErrorFieldWithText( "Login: Invalid Field Format")); }