Вступ до анотацій TestNG

Як відомо, що TestNG - це тестова рамка автоматизації, яка використовується разом із рамкою Selenium для полегшення процесу автоматизації тесту. Але виникає питання, що таке анотація і чому вони використовуються? Анотації в TestNG - це інструкція / код, який додається в код, щоб доручити компілятору керувати потоком виконання тестового випадку відповідно до конкретних вимог. Оскільки існує послідовність методів, змінних та функцій, яких потрібно дотримуватись для правильного виконання тестових випадків. Анотації TestNG спрямовують це до компілятора з простими та зрозумілими примітками, отже, немає необхідності використовувати основний статичний метод у програмі, який визначає початок виконання коду.

Анотації TestNG

Існують різні анотації TestNG, і кожна анотація використовується з іншою метою. Анотації та їх пояснення згадані нижче:

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

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

3. @BeforeTest: Цей анотований метод запускається перед будь-яким методом тестування, пов'язаним з класом, визначеним всередині тегу.

4. @AfterTest: Цей анотований метод запускається після виконання кожного методу тестування, пов'язаного з класом, визначеним всередині тегу.

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

6. @AfterClass: Цей анотований метод запускається лише один раз і виконується після того, як будуть виконані всі методи тестування згаданого / поточного класу.

7. @Test: Цей анотований метод позначає будь-який клас чи метод як частину тесту, який потрібно перевірити. Він має різні параметри, які згадані нижче:

  • alwaysRun: Метод тестування завжди запускається, якщо для цього встановлено значення 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 () присвоюється список параметрів методу тестування. Він має атрибут як "ім'я", який потрібно надати, якщо програміст не згадує, то його значення встановлюється на ім'я методу. Він має один атрибут з назвою "паралельний", який за замовчуванням "false". Якщо встановлено значення true, то всі тестові випадки

13. @ Слухачі: ця примітка використовується для визначення слухачів у тестовому методі.

14. @ Параметри: Ця анотація використовується для визначення параметрів у тестовому методі. Атрибут 'value' використовується, що містить усі імена змінних, які використовуються як параметри.

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. Тестування на сумісність