Введение в TestNG Аннотации

Как мы знаем, TestNG - это среда автоматизации тестирования, которая используется вместе с платформой Selenium для упрощения процесса автоматизации тестирования. Но возникает вопрос, что такое аннотации и почему они используются? Аннотации в TestNG - это инструкция / код, который добавляется в код для инструктирования компилятора управлять потоком выполнения тестового примера в соответствии с конкретными требованиями. Поскольку существует последовательность методов, переменных и функций, которые необходимо соблюдать для правильного выполнения тестовых случаев. Аннотации TestNG направляют это к компилятору с простыми и понятными аннотациями, и, следовательно, нет необходимости использовать метод static main в программе, который указывает начало выполнения кода.

TestNG Аннотации

Существуют различные аннотации TestNG, и каждая аннотация используется для разных целей. Аннотации с их пояснениями приведены ниже:

1. @BeforeSuite: этот аннотированный метод запускается до запуска всех тестов в наборе тестов.

2. @AfterSuite: этот аннотированный метод запускается после запуска всех тестов в определенном наборе тестов.

3. @BeforeTest: этот аннотированный метод запускается перед любым тестовым методом, связанным с классом, который определен внутри тега.

4. @AfterTest: этот аннотированный метод запускается после того, как будет выполнен каждый тестовый метод, связанный с классом, который определен внутри тега.

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

6. @AfterClass: этот аннотированный метод запускается только один раз и выполняется после выполнения всех методов тестирования упомянутого / текущего класса.

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

  • alwaysRun: метод test всегда запускается, если для него задано значение true, независимо от того, что тестовый пример, от которого он зависит, завершается неудачей.
  • dataProvider: определяет имя поставщика данных для тестового примера.
  • зависит от методов: это определяет список методов, от которых зависит этот конкретный метод.
  • зависимостьOnGroups : это определяет список групп, от которых зависит тот или иной метод.
  • Описание : определяет описание метода
  • Включено : определяет, включен метод или нет. Если для него задано значение false, этот метод не выполняется или считается отсутствующим.
  • Приоритет : определяет приоритет конкретного метода тестирования, после которого он должен быть выполнен. Сначала назначаются значения с более низким приоритетом, и если в тестовых примерах не определены значения приоритета, то TestNG назначает значение приоритета по умолчанию (0).
  • successPercentage : определяет процент успеха, который ожидается от этого метода.
  • invocationCount : как следует из названия, оно определяет количество вызовов метода.
  • timeOut : определяет максимальное количество раз, которое должен выполнить конкретный тестовый пример. Это определяется в миллисекундах.
  • InvocationTimeOut : Как и timeOut, он указывает количество миллисекунд, которое метод должен выполнить для завершения всех счетчиков вызовов. Его значения всегда указываются в миллисекундах.

8. @BeforeMethod: этот аннотированный метод выполняется перед каждым тестовым методом.

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

10. @BeforeGroups: этот аннотированный метод будет запущен перед первым методом тестирования соответствующей группы, которая является частью выполнения.

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

12. @DataProvider: этот аннотированный метод используется для предоставления данных в метод теста. Его можно использовать с любым методом @test для подачи ввода. Он используется для предоставления сложных параметров в методы @test, которые не могут быть предоставлены в файле XML. Каждый @DataProvider должен возвращать Object () (), где каждому Object () назначается список параметров тестового метода. Он имеет атрибут «name», который необходимо указать, если программист не упомянул об этом, то его значение устанавливается равным имени метода. Он имеет один атрибут с именем «параллельный», который по умолчанию «ложный». Если установлено значение true, то все тесты

13. @Listeners: эта аннотация используется для определения слушателей в тестовом методе.

14. @Parameters: эта аннотация используется для определения параметров в тестовом методе. Используется атрибут «Значение», содержащий все имена переменных, которые используются в качестве параметров.

15. @Factory: эта аннотация используется для пометки любого метода тестирования как фабрики и возвращает объект (Object ()), который используется в качестве классов TestNG файлом TestNG.

Преимущества аннотаций TestNG

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

  • TestNG - это фреймворк, используемый с Selenium, имеющий аннотации, которые обеспечивают простой и удобный способ управления потоком выполнения автоматических тестовых случаев.
  • TestNG помогает запускать / выполнять тестовые примеры параллельно.
  • TestNG предоставляет возможность определения приоритетов тестовых случаев в соответствии с требованиями программиста.
  • TestNG помогает в группировке тестовых случаев и их выполнении соответствующим образом.
  • TestNG предоставляет отличный способ генерации отчетов по результатам тестирования.
  • TestNG строго типизирован, что определяет возможность строгой проверки ошибок.
  • Он обеспечивает простой способ передачи параметров и предоставляет входные данные для тестовых случаев.
  • TestNG также может подключаться к внешним источникам данных.
  • Нет необходимости в шаблоне или формате, которые необходимо соблюдать для выполнения тестовых случаев. Аннотации предоставляют возможность вызывать методы в соответствии с конкретными требованиями.
  • TestNG генерирует отчеты на основе HTML, представляющие данные в графическом формате, который является простым и более удобным для понимания.

Вывод

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

Рекомендуемые статьи

Это руководство к аннотациям TestNG. Здесь мы обсуждаем различные аннотации TestNG с преимуществами. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-

  1. Java аннотации
  2. Установить TestNG
  3. Модульное тестирование AngularJS
  4. Тестирование совместимости