Аннотации TestNG:
В этом посте мы видим список аннотаций TestNG. Вы можете изучить полное руководство по TestNG здесь. Вот краткий обзор аннотаций, доступных в TestNG.
@Test: Отмечает класс или метод как часть теста.
@BeforeMethod : Метод, отмеченный этой аннотацией, будет выполняться перед каждым аннотированным методом @test</em>.
@AfterMethod: Метод, отмеченный этой аннотацией, будет выполняться после каждого метода с аннотацией @test.
@BeforeClass: A метод, отмеченный этой аннотацией, будет выполнен до выполнения первого @Test метода. Он запускается только один раз для каждого класса.
@AfterClass: Метод, отмеченный этой аннотацией, будет выполнен после запуска всех тестовых методов в текущем классе
<сильный>@BeforeTest: Метод, отмеченный этой аннотацией, будет выполнен перед первым @Test методом с аннотацией.
@AfterTest: Метод, отмеченный этой аннотацией, будет выполнен, когда все методы с аннотацией @Test завершат выполнение тех классов, которые находятся внутри <test>< Тег /em> в файле testng.xml.
@BeforeSuite: Метод, отмеченный этой аннотацией, будет запускаться только один раз до запуска всех тестов в наборе
@AfterSuite: Метод, отмеченный этой аннотацией, будет запущен один раз после выполнения всех тестов в наборе
@BeforeGroups: Этот аннотированный метод будет запущен перед первым запуском теста этой конкретной группы.
@AfterGroups: Этот аннотированный метод будет выполняться после всех методов тестированияэтой группы завершает свое выполнение.
Некоторые другие аннотации TestNG, которые нам нужно обсудить, упомянуты ниже:
@Parameters: Эта аннотация используется для передачи параметров в методы тестирования. p>
@DataProvider: Если мы используем аннотацию @DataProvider для какого-либо метода, это означает, что вы используете этот метод в качестве поставщика данных. Конфигурация аннотированного метода @DataProvider должна быть такой, как будто он всегда возвращает Object[][], который мы можем использовать в аннотированном методе @Test. Метод @Test, который хочет получать данные от этого поставщика данных, должен использовать имя поставщика данных, равное имени этой аннотации.
@Factory: помечает метод как фабрику, которая возвращает объекты, которые будут использоваться TestNG в качестве тестовых классов. Метод должен возвращать Object[ ].
@Listeners: Эта аннотация используется с тестовым классом. Это помогает при написании журналов и результатов.
Посмотрите видео ниже, чтобы увидеть «Аннотации TestNG»
Пожалуйста, будьте терпеливы. Видео загрузится через некоторое время.
Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы увидеть больше видеоуроков.
Преимущества использования аннотаций TestNG:
< p>Ниже приведены некоторые преимущества использования аннотаций:
- TestNG идентифицирует интересующие его методы, просматривая аннотации. Следовательно, имена методов не ограничены каким-либо шаблоном или форматом.
- Мы можем передавать дополнительные параметры в аннотации.
- Аннотации строго типизированы, поэтому компилятор сразу же отметит любые ошибки.
- Тестовые классы больше не нужны. для расширения чего-либо (например, TestCase для JUnit 3).
Давайте посмотрим порядок вызова методов с помощью приведенного ниже сценария:
пакет программного обеспечения TestingMaterial; импортировать org.testng.annotations.AfterClass; импортировать org.testng.annotations.AfterMethod; импортировать org.testng.annotations.AfterSuite; импортировать org.testng.annotations.AfterTest; импортировать org.testng.annotations.BeforeClass; импортировать org.testng.annotations.BeforeMethod; импортировать org.testng.annotations.BeforeSuite; импортировать org.testng.annotations.BeforeTest; импортировать org.testng.annotations.Test; public class TestngAnnotation { //Тестовый пример 1 @Test public void testCase1() { System.out.println("in Test Case 1"); } //Тестовый пример 2 @Test public void testCase2() { System.out.println("in Test Case 2"); } @BeforeMethod public void beforeMethod() { System.out.println("in Before Method"); } @AfterMethod public void afterMethod() { System.out.println("in After Method"); } @BeforeClass public void beforeClass() { System.out.println("in Before Class"); } @AfterClass public void afterClass() { System.out.println("in After Class"); } @BeforeTest public void beforeTest() { System.out.println("in Before Test"); } @AfterTest public void afterTest() { System.out.println("in After Test"); } @BeforeSuite public void beforeSuite() { System.out.println("in Before Suite"); } @AfterSuite public void afterSuite() { System.out.println("in After Suite"); } }
Вывод на консоль:[TestNG] Выполнение: в наборе перед тестом в классе перед классом в методе перед в тестовом наборе 1 в методе после в методе перед в тестовом наборе 2 в методе после в после класса в после теста в после набора ======= ====================================== Пакет по умолчанию Всего выполнено тестов: 2, Сбоев: 0, Пропусков: 0 =========================================== ==
Процесс выполнения следующий:
Во-первых, метод beforeSuite() выполняется только один раз.
Наконец, метод afterSuite() выполняется только один раз. один раз.
Даже методы beforeTest(), beforeClass(), afterClass() и afterTest() выполняются только один раз.
МетодbeforeMethod() выполняется для каждого тестового примера, но перед его выполнением.< /p>
Метод afterMethod() выполняется для каждого тестового примера, но после его выполнения.
В промежутке между beforeMethod() и afterMethod() выполняется каждый тестовый пример.
Это все об аннотациях TestNG. Если у вас есть какие-либо вопросы, пожалуйста, прокомментируйте ниже. Вы можете найти полное руководство по TestNG здесь.
Полное руководство по TestNG
Если вы не являетесь постоянным читателем моего блога, я настоятельно рекомендую вам подписаться на бесплатную рассылку новостей по электронной почте, используя ссылку ниже. ссылка.
TAG: qa