Выполнение тестовых случаев TestNG из файла CSV - PullRequest
0 голосов
/ 12 марта 2019

У меня есть куча тестов в TestNG.В настоящее время я использовал @groups для выполнения тестовых случаев в зависимости от среды.Я пытаюсь добиться того, чтобы я записывал все имена и группы тестов в файл CSV.Например, -

TestCaseName Group Test_Case1 Smoke, Sanity Test_Case2 Regression

Таким образом, перед выполнением теста пользователь предоставит входной параметр в виде Smoke, и будет выполнен только тест Smoke.

Я пробовал «преобразователь аннотаций», но он может ограничивать только на уровне метода.Когда я пытался найти класс, он выдавал исключение нулевого указателя.

Другая проблема заключается в том, что мой тестовый класс содержит как тестовый метод, так и некоторые другие не тестовые методы, которые вызывают многократно используемые методы.В результате я не могу предоставить @Test на уровне класса.

Мне нужен способ считывания моего имени класса (простого имени класса) из CSV вместе с группой, и исходя из того, что тестовый класс должен быть включен /инвалиды.

1 Ответ

0 голосов
/ 12 марта 2019

Вы должны использовать файл конфигурации TestNG и функцию группировки в TestNG. С вашим тестом вы должны добавить соответствующие группы. Например:

@Test(groups={"Smoke","Sanity"}
public void Test_Case1(){
}

@Test(groups={"Regression"}
public void Test_Case2(){
}

Чтобы выполнить определенные группы через файл конфигурации:

<test name="Test1">
  <groups>
    <run>
      <include name="Smoke"/>
    </run>
  </groups>
    ...
</test>

Для выполнения определенных групп через командную строку вы можете использовать

-groups <comma-separated list of groups>

С помощью maven или ANT можно передать параметр groups во время выполнения, используя

-Dgroups=<comma-separated list of groups>

Если вы используете QAF - расширение TestNG , оно предоставляет способ определения метаданных , которые могут использоваться в фильтре метаданных в дополнение к группам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...