atesting.ru Блог Аннотации и преимущества TestNG | Учебное пособие по TestNG

Аннотации и преимущества TestNG | Учебное пособие по TestNG

Аннотации TestNG:

В этом посте мы видим список аннотаций TestNG. Вы можете изучить полное руководство по TestNG здесь. Вот краткий обзор аннотаций, доступных в TestNG.

@Test: Помечает класс или метод как часть теста.

< strong> @BeforeMethod: метод, отмеченный этой аннотацией, будет выполняться перед каждым аннотированным методом @test .

@AfterMethod: метод, отмеченный этой аннотацией, будет выполняться после каждого аннотированного метода @test .

@BeforeClass: метод, отмеченный этой аннотацией, будет выполнен перед выполнением первого @Test метода. Он запускается только один раз для каждого класса.

@AfterClass: Метод, отмеченный этой аннотацией, будет выполнен после того, как все тестовые методы в текущем классе были запущены

@BeforeTest: Метод, отмеченный этой аннотацией, будет выполняется перед первым @Test аннотированным методом.

@AfterTest: Метод, отмеченный этой аннотацией, будет выполнен когда все аннотированные методы @Test завершают выполнение тех классов, которые находятся внутри тега & lt; test & gt; в testng.xml файл.

@BeforeSuite: метод, отмеченный этой аннотацией, будет запущен только один раз, прежде чем все тесты в наборе будут выполнены

@AfterSuite: Метод, отмеченный этой аннотацией, будет запущен один раз после выполнения всех тестов в наборе

@BeforeGroups: Этот аннотированный метод будет выполнить перед первым тестовым запуском этой конкретной группы.

@AfterGroups: Этот аннотированный метод будет запущен после того, как все методы тестирования этой группы завершат свое выполнение.

Некоторые другие аннотации TestNG, которые нам необходимо обсудить, упомянуты ниже:

@Parameters: Эта аннотация используется для передачи параметров тестовым методам.

@DataProvider: Если мы используем аннотацию @DataProvider для любого метода, это означает, что вы используете этот метод в качестве поставщика данных. Конфигурация аннотированного метода @DataProvider должна быть такой, как если бы он всегда возвращал Object [] [], который мы можем использовать в аннотированном методе @Test. Метод @Test, который хочет получать данные от этого DataProvider, должен использовать имя dataProvider, равное имени этой аннотации.

@Factory: Помечает метод как фабрику, которая возвращает объекты, которые будут использоваться TestNG как тестовые классы. Метод должен возвращать Object [].

@Listeners: Эта аннотация используется с тестовым классом. Это помогает в написании журналов и результатов.

Посмотрите видео ниже, чтобы увидеть «Аннотации TestNG»

Подождите. Видео загрузится через некоторое время.

Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы увидеть больше видеоуроков.

Преимущества использования аннотаций TestNG:

Ниже приведены некоторые преимущества использования аннотаций:

  • TestNG определяет методы, которые ему интересны, путем поиска аннотации. Следовательно, имена методов не ограничиваются каким-либо шаблоном или форматом.
  • Мы можем передавать дополнительные параметры в аннотации.
  • Аннотации строго типизированы, поэтому компилятор сразу же пометит любые ошибки.
  • Тестовые классы больше не нуждаются в расширении чего-либо (например, TestCase для JUnit 3).

Давайте посмотрим, в каком порядке вызываются методы с помощью следующего скрипта:

Java

123456789101112131415161718192021222324252627282930313233343536373839164252627282930313233343536373839404256256456485644256485644255644256485644256485644256485644256485644256485 >

программный пакетTestingMaterial; import org.testng.annotations.AfterClass; import org.testng.annotations.AfterMethod; import org.testng.annotations.AfterSuite; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeClass; import org.testng. annotations.BeforeMethod; import org.testng.annotations.BeforeSuite; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; public class TestngAnnotation {//Тестовый пример 1 @Test public void testCase1 () {System.out.println (& # 34; в тестовом примере 1 & # 34;); } //Тестовый пример 2 @Test public void testCase2 () {System.out.println (& # 34; в тестовом примере 2 & # 34;); } @BeforeMethod public void beforeMethod () {System.out.println (& # 34; в методе до & # 34;); } @AfterMethod public void afterMethod () {System.out.println (& # 34; в After Method & # 34;); } @BeforeClass public void beforeClass () {System.out.println (& # 34; в Before Class & # 34;); } @AfterClass public void afterClass () {System.out.println (& # 34; в After Class & # 34;); } @BeforeTest public void beforeTest () {System.out.println (& # 34; in Before Test & # 34;); } @AfterTest public void afterTest () {System.out.println (& # 34; в After Test & # 34;); } @BeforeSuite public void beforeSuite () {System.out.println (& # 34; в Before Suite & # 34;); } @AfterSuite public void afterSuite () {System.out.println (& # 34; в After Suite & # 34;); }}

Вывод в консоль:

12345678910111213141516171819 [TestNG] Выполнение: в Перед Сюитаю Перед Тестом Перед Уроком Перед Тестом с Методином 1 В После Методина Перед Тестом с Методином 2 В После Методина После Уроки После Тестина После Сюиты ================== ============================= Набор по умолчанию Общее количество выполненных тестов: 2, отказов: 0, пропусков: 0 ======= ========================================

Процесс выполнения выглядит следующим образом:

Прежде всего, метод beforeSuite () выполняется только один раз.

Наконец, , метод afterSuite () выполняется только один раз.

Даже методы beforeTest (), beforeClass (), afterClass () и afterTest () выполняются только один раз.

beforeMethod () выполняется для каждого тестового примера, но до его выполнения.

Метод afterMethod () выполняется для каждого тестового примера, но после выполнения тестового примера.

Между beforeMethod () и afterMethod (), выполняется каждый тестовый пример.

Это все об аннотациях TestNG. Если у вас есть какие-либо вопросы, оставьте комментарий ниже. Вы можете найти полное руководство по TestNG здесь.

TestNG Complete Tutorial

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

TAG: qa