Групи TestNG: включити, виключити з прикладом - Підручник із селену

Зміст:

Anonim

TestNG - це тестовий фреймворк, який охоплює різні типи тестових конструкцій, таких як модульний, функціональний, наскрізний, інтерфейс користувача та інтеграційний тест.

Ви можете запустити один або кілька пакетів (пакет тут означає інкапсулювати групу класів у належному форматі директора), створивши XML і запустивши його через maven.

У цьому підручнику ви дізнаєтесь-

  • Групи TestNG з прикладом
  • Встановити шлях maven та Java у змінну середовища (для користувача Windows)
  • Вступ до XML та створення XML-файлів
  • Іншим механізмом замість групування є "виключити" або "включити" в тестовий XML
  • Як запустити код за допомогою файлу XML (відео демонстрація)

Групи TestNG з прикладом

Ми використовуємо групи в Testng, коли,

  • Ми не хочемо визначати методи тестування окремо в різних класах (залежно від функціональності) та
  • Одночасно хочуть ігнорувати (а не виконувати) деякі тестові випадки так, ніби їх немає в коді.
  • Тож для цього ми маємо згрупувати їх. Це робиться за допомогою механізмів "включити" та "виключити", підтримуваних у testNG.

У наведеному нижче прикладі ми показали синтаксис використання груп у файлі XML.

@Test (groups = {"bonding", "strong_ties"}) 

Тут ми використовуємо 2 назви груп, тобто "bonding" і "strong_ties" (це логічні назви, які можна змінити відповідно до вашого бажання).

Тег визначає запуск груп у XML.

Налаштуйте свій XML, щоб вибрати згадану групу з тестових класів. Нижче наведено синтаксис того, як оголосити групи у файлі XML, наприклад

<групи>

Отже, припустимо, що в класі є 10 методів тестування.

З них,

  • 6 методів позначено в групі "скріплення" та
  • 4 входять до групи "сильні"

Просуваючись далі, ми збираємося встановити шлях maven / Java та використовувати IDE Eclipse, щоб продемонструвати використання груп, що використовують файли XML у проекті maven на основі Java.

Встановити шлях maven та Java у змінну середовища (для користувача Windows)

Будь ласка, зверніться до https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html

https://www.guru99.com/install-java.html

Вступ до XML та створення XML-файлів

  • Файл XML (Extensible Markup Language) у фреймворці Maven містить інформацію про один або кілька тестів і визначається тегом .
  • Інформація про тестування в XML представлена тегом і може містити один або кілька класів TestNG.
  • Клас Java, який містить анотацію @Test вище методів тестування, визначається як метод TestNG.

Кілька тегів використовуються в послідовності для побудови робочого тестуNG xml, наприклад , та

  • Перший - тег , який містить логічне ім'я, яке визначає повну інформацію для testNG, про який повідомляється для створення звіту про виконання.
  • По-друге, це , зауважте, що це логічне ім’я, яке містить інформацію про звіт про виконання тесту, як проходження, провал, пропуск тестових випадків та іншу інформацію, як загальний час виконання та інформація про групу
  • Третім є , com.group.guru99 - використаний пакет, а тестовий клас - TC_Class1.
<групи><класи>

Ми будемо використовувати цей XML для майбутнього недоліку відео.

Іншим механізмом замість групування є "виключити" або "включити" в тестовий XML

Припустимо, ви знайдете використання комплексного механізму групи, тоді testNG XML полегшить функціональність для виключення / включення тесту.

Тег виключення : Синтаксис тегу виключення  Включити тег : Синтаксис тегу включення 

Примітка: Ми можемо включати / виключати кілька тестових випадків одночасно, і це також працює з групами.

Як запустити код за допомогою файлу XML (відео демонстрація)

Пояснення коду Java та XML для групи, виключіть та включіть тег у XML.

  • Сценарій : Запустіть демонстраційний банківський сайт Guru99, переконайтеся, що на сторінці входу є кілька речей, після чого введіть облікові дані та перевірте кілька нових речей у програмі, коли ви ввійшли в систему.

Примітка : Кожен крок, який ви кодуєте, повинен бути оголошений окремими методами, але при виконанні він буде виконувати методи тестування залежно від записів у файлі XML.

Спосіб 1. Ініціалізація браузера та запуск URL-адреси (tc01LaunchURL ())

Спосіб 2 : Перевірка заголовка сторінки входу (tc02VerifyLaunchPage ())

Спосіб 3 : Введіть ім’я користувача та пароль у форму для входу (tc03EnterCredentials ())

Спосіб 4 : Перевірте наявність ідентифікатора менеджера на інформаційній панелі користувача (tc04VerifyLoggedInPage ())

Спосіб 5 : Перевірте ще кілька посилань на панелі керування користувачем (tc05VerifyHyperlinks ())

Код для нашого сценарію:

пакет com.group.guru99;імпортувати java.util.concurrent.TimeUnit;імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.firefox.FirefoxDriver;імпорт org.testng.Assert;імпорт org.testng.annotations.Test;публічний клас TC_Class1 {загальнодоступний статичний остаточний WebDriver webDriver = new FirefoxDriver () ;;String launchPageHeading = "// h3 [text () = 'Guru99 Bank']";заключний рядок userName_element = "// введення [@ name = 'uid']", password_element = "// введення [@ name = 'пароль']",signIn_element = "// введення [@ name = 'btnLogin']";заключний рядок userName_value = "mngr28642", password_value = "ydAnate";заключний String managerID = "// td [містить (text (), 'Ідентифікатор менеджера')]";заключний рядок newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** Цей тестовий приклад ініціалізує webDriver* /@Test (groups = {"bonding", "strong_ties"})public void tc01LaunchURL () {webDriver.manage (). window (). maximize ();webDriver.manage (). timeouts (). неявноWait (20, TimeUnit.SECONDS);webDriver.get ("http://www.demo.guru99.com/V4/");}/ *** Перевірить наявність заголовка на сторінці входу* /@Test (groups = {"bonding"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),"Заголовок домашньої сторінки не відображається");System.out.println ("Відображається заголовок домашньої сторінки");}/ *** У цьому тестовому випадку буде введено ім'я користувача, пароль, а потім натисніть на* кнопка входу* /@Test (groups = {"bonding", "strong_ties"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (ім'я_користувача_елемента)). sendKeys (ім'я_користувача_значення);webDriver.findElement (By.xpath (елемент_пароля)). sendKeys (значення_пароля);webDriver.findElement (By.xpath (signIn_element)). click ();}/ *** Цей тестовий випадок перевірить наявність посвідчення особи менеджера на DashBoard* /@Test (groups = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),"Мітка ідентифікатора менеджера не відображається");System.out.println ("відображається мітка ідентифікатора ясла");}/ *** Цей тестовий випадок перевірить наявність присутності посилання нового клієнта* І посилання FundTransfer у лівій панелі* /@Test (groups = {"bonding"})public void tc05VerifyHyperlinks () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),"Гіперпосилання нового клієнта не відображається");System.out.println ("Відображається гіперпосилання нового клієнта");Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),"Гіперпосилання на переказ коштів не відображається");System.out.println ("Відображається гіперпосилання на переказ коштів");}}

Зверніть увагу: облікові дані дійсні лише 20 днів, тому, якщо ви намагаєтеся запустити код на своєму локальному комп'ютері, можливо, ви зіткнетеся з помилкою недійсних облікових даних. Нижче наведено кроки для створення реєстраційних даних:

  1. Запустіть http://www.demo.guru99.com
  2. Введіть ідентифікатор електронної пошти у вікні.
  3. Натисніть Enter і перегляньте свої дані для входу на екран.

Пояснення коду:

Як зазначалося вище, ми створили 5 тестових кейсів для виконання кожної дії незалежними методами.

Ви можете помітити, що кожному методу ми прив’язали параметр групи, який містить якесь значення.

В основному, це назва диференціюючих груп, тобто "сильні_зв'язки" та "зв'язок".

  • Перший і Третій методи позначені як "зв’язування", "strong_ties", що означає, що якщо XML буде оновлено в будь-якій групі, цей тест буде запущений.
  • Другий метод позначений лише групою "скріплення", це означає, що якщо XML оновлюється групою зв'язку. Тільки в цьому випадку буде запущено цей тестовий приклад.
  • Четвертий тестовий приклад позначається групою strong_ties, що означає, що цей тестовий приклад буде запущений лише в тому випадку, якщо XML оновлений з назвою групи strong_ties.
  • Останній, але не менш важливий, п’ятий тестовий приклад приєднаний до групи зв’язування, а це означає, що цей тестовий приклад буде запущений лише в тому випадку, якщо XML оновлено з назвою групи зв’язування.

Отже, загалом у нас є 4 сценарії;

  1. Ми хочемо запустити всі тестові кейси незалежно від назви групи. У цьому випадку ми видалимо тег Group із запущеного XML.
  1. Ми хочемо запустити тестовий випадок з декількома тестами, які стосуються лише однієї з груп, тобто strong_ties або bonding
  • Будь ласка, зверніться:

  • У цьому відео параметр Group коментується під час запуску XML. Отже, ви побачите, що всі тестові кейси були виконані.
  • На додаток до відео, тепер ми включили назву групи в XML, ви можете бачити лише тестові випадки, характерні лише для цієї групи.
  1. Ми використовуємо механізм виключення для виключення тестового випадку:
  • Будь ласка, зверніться

  • Ви бачите, що ми використовували виключити декілька тестових випадків (tc02), написавши їх ім'я у запущеному XML. В кінцевому результаті згадані тестові випадки не працювали.
  1. Нарешті, ми використовуємо механізм включення тесту для включення тестових випадків (tc01LaunchURL, tc03EnterCredentials та tc05VerifyHyperlinks)
    • Будь ласка, зверніться

    • У цьому відео ви побачите, що тестові випадки, згадані в XML, виконуються лише під час виконання тесту.

    Завантажте код із згаданої URL-адреси, він буде містити всі типи testXML:

    Завантажте вищезгаданий код

    Висновок

    Ми вивчили тут відносно новий спосіб запуску тестових кейсів із використанням XML у проекті Maven.

    Ми почали з короткого вступу про testNG і продовжили з повною технічною специфікацією груп, виключити та включити.