Перейти к содержимому

curiouspm

Регистрация: 26 ноя 2015
Offline Активность: 21 дек 2015 13:13
-----

Мои темы

Как должны выглядеть автотесты?

10 декабря 2015 - 09:13

Начал изучать автоматизированное тестирование. Написал обёртку для вебдрайвера для тестирования страницы регистрации на нашем сайте. В итоге сами тесты у меня выглядят как показано ниже.

 

И тут возник вопрос: удобно ли будет их поддерживать в таком виде? Особенно учитывая, что уже сейчас для проверки всего пары полей написаны десятки функций и мне страшно представить, что будет дальше.

 

С одной стороны хочется уменьшить дублирование кода и объединить проверки (например, собрать все проверки поля 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"));
}