Я запускаю наши автоматизированные тесты с помощью TestNG. Причина, по которой мы выбрали TestNG, заключается в том, что мы можем отправлять входные данные переменных в тестовые методы, например public void testXX (String userId), а userId может изменяться для каждого теста.
В приведенном ниже коде показаны три разных идентификатора пользователя, которые я могу использовать для выполнения своих тестов. Таким образом, мой точно такой же тест будет выполняться трижды для каждого из трех разных пользователей. Эта замечательная функция действительно позволяет мне проводить несколько тестов в разных сценариях, потому что у каждого из наших пользователей разные профили.
// All valid Pricing Leads
@DataProvider(name = "userIds")
public Object[][] createPricingLeadUsersParameters() {
return new Object[][] {
{ "TestUser001" },
{ "TestUser002" },
{ "TestUser003" }
};
}
@Test( dataProvider = "userIds" )
public void createGroup( String userIds) {
............
}
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что при определенных условиях я могу использовать только один идентификатор пользователя, иначе все мои тесты не пройдут. Я хотел бы сохранить тот же тест, но пройти только по userId, а не по трем показанным выше. Есть ли способ настроить TestNG для создания этой переменной в командной строке, поэтому иногда я бы использовал три определенных, но при другом условии это был бы только один из трех или новый userId?