Приветствую, уважаемые форумчане!
Прошу знающих коллег направить меня на путь истинный. Задача такова(Java, TestNG, Maven):
1. Отправляем HTTP запрос на сервер, получаем ответ, парсим в объект класса.
2. В тестах сравниваем значения определенных параметров с ожидаемыми.
Думаю, логично было бы запрос и парсинг делать в @BeforeMethod, а сравнение в тестах. Но проблема в том, что запросы надо отсылать с разными параметрами каждый раз. И значений одного параметра может быть много. Тут, наверное, стоит привести пример... Файл с данными может выглядеть примерно так:
Parameter1: value1-1, value1-2, value1-3...value1-N
Parameter2: value2-1, value2-2
Parameter3: value3-1, value3-2, value3-3
......................................................................
Parameter250: value250-1, value250-2, value250-3...value250-M
т.е. количество значений может быть разным.
Но, конечно, можно в одну строку прописать все нужные параметры для одного теста... И тогда будет как-то так:
Parameters[0]: value1, value2, value3...valueN
Parameters[1]: value1, value2, value3...valueN
Parameters[2]: value1, value2, value3...valueN
и тогда запросы будут выглядеть примерно как-то так:
@BeforeMethod public void setUp(){ String url = Helper.composeRequestUrl(value1, value2); String body = Helper.composeRequestBody(value3, value4, value5, value6, value7); MyClass response = Helper.getResponse(url, body, value8, value9) } @Test public void testName(){ Assert.That(response.someFeild==value10); }
Собственно вопрос состоит в том, как скормить @BeforeMethod'у и @Test'у файлик со значениями параметров(csv, XML, .property). И чтобы прогонов теста было столько, сколько строк в файле.
В коде параметры прописывать, создавая объект параметров, не хочу. Причины следующие: любой член команды, даже пришедший вчера мануальщик, должен суметь сменить файл с тестовыми данными. В базе хранить данные не хочу по той же причине.
Помогите, пожалуйста. Хоть намекните, как это реализовать и по каким ключевым словам гуглить. Если будут примеры - буду безмерно благодарен.