АННОТАЦИИ И ПРЕИМУЩЕСТВА TESTNG | Учебное пособие по тестированию

Аннотации 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»

АННОТАЦИИ И ПРЕИМУЩЕСТВА TESTNG | РУКОВОДСТВО ПО 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

От QA genius

Adblock
detector