Всем спасибо. Теперь те тесты (и даже немного больше) выглядят так:
final String MSG_LOGIN_SHORT = "Login: Field length must be in: 3..25"; final String MSG_LOGIN_EMPTY = "Login: Invalid Field Format"; final String MSG_LOGIN_INVALID = "Login: Invalid Field Format"; @DataProvider(name = "wrongLogin") public Object[][] wrongLoginData() { return new Object[][] { {"", MSG_LOGIN_EMPTY}, {"a", MSG_LOGIN_SHORT}, {"gj", MSG_LOGIN_SHORT}, //5 digits in login {"abcd82715efg", MSG_LOGIN_INVALID}, {"h8ijk27lmno15pr", MSG_LOGIN_INVALID}, //space in login {"stuv wx", MSG_LOGIN_INVALID}, //invalid symbol in login {"typical$user", MSG_LOGIN_INVALID}, {"invalid:symbol", MSG_LOGIN_INVALID} }; } @Test(dataProvider = "wrongLogin") public void negativeWrongLogin(String login, String errorMessage) { UserRegistrationPage regPage = pageHelper.navigateToUserRegistrationPage(); User user = userHelper.generateValidUser(); user.setLogin(login); RegistrationErrorPage errorPage = regPage.incorrectRegistration(user, user.getPassword(), true); Assert.assertTrue( errorPage.hasErrorFieldWithText(errorMessage), "Unable to find error message '" + errorMessage + "' for wrong login '" + login +"'"); }
Теперь буду пробовать для всех полей тесты таким образом описать.