Аннотации TestNG:
В этом посте мы видим список аннотаций TestNG. Вы можете изучить полное руководство по TestNG здесь. Вот краткий обзор аннотаций, доступных в TestNG.
@Test: помечает класс или метод как часть теста.
@BeforeMethod : Метод, отмеченный этой аннотацией, будет выполняться перед каждым аннотированным методом @test</em>.
@AfterMethod: Метод, помеченный этой аннотацией, будет выполняться после каждого аннотированного метода @test.
@BeforeClass: метод, помеченный с этой аннотацией будет выполняться до первого выполнения метода @Test. Он запускается только один раз для каждого класса.
@AfterClass: Метод, отмеченный этой аннотацией, будет выполнен после того, как все тестовые методы в текущем классе будут выполнены.
@BeforeTest:Метод, помеченный этой аннотацией, будет выполнен до первого @Test аннотированного метода.
@AfterTest: метод, помеченный с этой аннотацией будет выполняться, когда все аннотированные методы @Test завершат выполнение тех классов, которые находятся внутри тега <test> в testng.xml.
@BeforeSuite: метод, помеченный этой аннотацией, будет запущен только один раз, прежде чем будут выполнены все тесты в наборе
@AfterSuite: метод, помеченный этой аннотацией, будет запущен один раз после выполнения всех тестов в наборе
@BeforeGroups: Этот аннотированный метод будет выполняться до первого тестового запуска этой конкретной группы.
@AfterGroups: Этот аннотированный метод будет выполняться после все методы тестирования этой группы завершают свое выполнение.
Некоторые другие аннотации TestNG, которые нам необходимо обсудить, перечислены ниже:
@Parameters: эта аннотация используется для передачи параметров в методы тестирования.
@DataProvider : Если мы используем аннотацию @DataProvider для любого метода, это означает, что вы используете этот метод в качестве поставщика данных. Конфигурация аннотированного метода @DataProvider должна быть такой, чтобы он всегда возвращал Object[][], который мы можем использовать в аннотированном методе @Test. Метод @Test, который хочет получить данные от этого поставщика данных, должен использовать имя поставщика данных, равное имени этой аннотации.
@Factory: помечает метод как фабрику, которая возвращает объекты, которые будут использоваться TestNG в качестве тестовых классов. Метод должен возвращать Object[ ].
@Listeners: эта аннотация используется с тестовым классом. Это помогает в написании журналов и результатов.
Посмотрите видео ниже, чтобы увидеть «Аннотации TestNG»
Пожалуйста, проявите терпение. Видео загрузится через некоторое время.
Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы получать дополнительные видеоуроки.
Преимущества использования аннотаций TestNG:
< p>Ниже приведены некоторые преимущества использования аннотаций:
- TestNG идентифицирует интересующие его методы, просматривая аннотации. Следовательно, имена методов не ограничены каким-либо шаблоном или форматом.
- Мы можем передавать дополнительные параметры в аннотации.
- Аннотации строго типизированы, поэтому компилятор сразу же отметит любые ошибки.
- Тестовые классы больше не нужны. для расширения чего-либо (например, TestCase для JUnit 3).
Давайте посмотрим порядок вызова методов с помощью приведенного ниже сценария:
Java
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | пакет программного обеспечения 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”); } } |
Вывод в консоль:
12345678910111213141516171819 | [TestNG] Выполняется: в Перед наборомв Перед тестированием Перед классом Перед методом в тестовом наборе 1в после метода в перед методом в тестовом примере 2в после метода в после класса в после теста в после набора =================== ============================= SuiteTotal тестов по умолчанию: 2, сбоев: 0, пропусков: 0======= ======================================= |
Процесс выполнения выглядит следующим образом:
Во-первых, метод beforeSuite() выполняется только один раз.
И наконец, метод afterSuite() выполняется только один раз.
Даже методы Методы beforeTest(), beforeClass(), afterClass() и afterTest() выполняются только один раз.
Метод beforeMethod() выполняется для каждого тестового примера, но до его выполнения.
Метод afterMethod() выполняется для каждый тестовый пример, но после выполнения тестового примера.
В промежутке между beforeMethod() и afterMethod() выполняется каждый тестовый пример.
Это все об аннотациях TestNG. Если у вас есть какие-либо вопросы, пожалуйста, прокомментируйте ниже. Полное руководство по TestNG можно найти здесь.
Полное руководство по TestNG
Если вы не являетесь постоянным читателем моего блога, я настоятельно рекомендую вам подписаться на бесплатную рассылку по электронной почте, используя форму ниже. ссылка.
TAG: qa