Все, что вам нужно знать об аннотациях TestNG в Selenium



Эта статья об аннотациях TestNG в Selenium поможет вам понять различные аннотации, которые TestNG поддерживает в Selenium, с помощью примеров.

С тех пор как возникла концепция был введен, появилось множество методологий тестирования, парадигмы изменились, но требования каким-то образом восторжествовали, чтобы оставаться неизменными. Одна из таких методологий - TestNG что помогает нам сгруппировать тестовые примеры в разные части кода с помощью аннотаций. Но как это работает? Давайте разберемся в этой концепции с помощью этой статьи об аннотациях TestNG в .

В этой статье я затрону следующие темы:





Введение в TestNG

TestNG означает Тестирование нового поколения и это среда автоматизации тестирования с открытым исходным кодом, вдохновленная JUnit и NUnit. Хорошо, TestNG не просто вдохновлен, но это обновленная версия этих двух фреймворков. Так в чем же здесь апгрейд? Обновление с помощью TestNG заключается в том, что он предоставляет дополнительные функции, такие как тестовые аннотации, группировка, приоритезация, параметризация и методы упорядочения в коде, что было невозможно ранее.

Введение в TestNG - Аннотации TestNG - EdurekaОн не только управляет тестовыми примерами, но даже подробные отчеты тестов также могут быть получены с помощью TestNG. Появится подробная сводка, в которой будет отображаться количество неудачных тестовых случаев. Кроме того, ошибки могут быть точно локализованы и исправлены в самое ближайшее время. Теперь, когда вы знаете, что такое TestNG, давайте посмотрим, зачем использовать TestNG в Selenium.



Зачем использовать TestNG в Selenium?

Разработчики программного обеспечения со всего мира единодушно согласятся, что написание кода в тестовых примерах экономит значительную часть их времени на отладку. Зачем? Это связано с тем, что тестовые примеры помогают в создании надежного и безошибочного кода, разбивая весь код на более мелкие тестовые примеры, а затем, оценивая каждый из этих тестовых примеров на соответствие условиям годен / не годен, вы можете создать безошибочный код. поскольку не поддерживает выполнение кода в тестовых случаях, TestNG входит в картину, которая помогает в выполнении тестовых случаев.

TestNG также поддерживает следующие функции:

  • Он генерирует отчет в правильном формате, который включает количество выполненных тестовых примеров, количество неудачных тестовых примеров и тестовых примеров, которые были пропущены.
  • Несколько тестовых случаев можно легко сгруппировать, преобразовав их в файл TestNG.xml. Здесь вы можете установить приоритеты для выполнения тестовых примеров.
  • Используя TestNG, вы можете выполнять несколько тестовых примеров в нескольких браузерах, т.е. кроссбраузерное тестирование .
  • Платформа тестирования может быть легко интегрирована с такими инструментами, как Maven, Jenkins и т. Д.

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

Аннотации TestNG

Аннотации TestNG в Selenium используются для управления следующим выполняемым методом. Аннотации тестов определяются перед каждым методом в тестовом коде. Если какой-либо метод не имеет префикса с аннотациями, этот метод будет проигнорирован и не будет выполняться как часть тестового кода. Чтобы определить их, методы должны быть просто помечены знаком ' @Тестовое задание ‘.



Типы аннотаций TestNG:

Ниже приведен список аннотаций, которые TestNG поддерживает в selenium.

Java преобразовывает двоичное в десятичное
  • @BeforeMethod: Метод с этой аннотацией будет выполняться перед каждым @тестовое задание аннотированный метод.
  • @AfterMethod: Это аннотация будет выполняться после каждого @тестовое задание аннотированный метод.
  • @BeforeClass: Эта аннотация будет выполнена перед первый @Test выполнение метода. Он запускается только один раз в классе.
  • @AfterClass: T его аннотация будет выполнена после запуска всех тестовых методов в текущем классе
  • @BeforeTest: Метод с этой аннотацией будет выполнен до первый @Test аннотированный метод.
  • @AfterTest: Метод с этой аннотацией будет выполнен, когда все @Тестовое задание аннотированные методы завершают выполнение тех классов, которые находятся внутри тега в TestNG.xml файл.
  • @BeforeSuite: Эта аннотация будет запущена только однажды все тесты в наборе выполнены
  • @AfterSuite: Метод с этой аннотацией будет запущен один раз после выполнение всех тестов в наборе выполнено
  • @BeforeGroups: Этот аннотированный метод будет запущен перед первым тестовым запуском этой конкретной группы.
  • @AfterGroups: Этот аннотированный метод будет запущен после всех методов испытаний этой группы завершает свое выполнение.

Итак, это все об аннотациях в TestNG. Теперь давайте пойдем дальше и поймем, как написать первый тестовый пример с помощью TestNG.

Создание тестовых примеров с использованием аннотаций TestNG

Различные шаги, необходимые для создания тестовых случаев с использованием аннотации TestNG, следующие:

  1. Создайте проект и добавьте библиотеку TestNG.
  2. Создайте файл класса и запрограммируйте программу
  3. Наконец, напишите файл XML и выполните его в TestNG Suite.

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

Тестовый пример 1:

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

package co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' общедоступный WebDriver драйвер @BeforeTest public void launchBrowser () {System.out.println ('запуск браузера Chrome') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = 'Онлайн-обучение под руководством инструктора с пожизненной поддержкой 24X7 @AfterTest public void terminateBrowser () {driver.close ()}}

По сути, я хочу проверить, совпадает ли фактическое название веб-страницы Edureka с ожидаемым названием или нет. Итак, я сначала использую ' @BeforeTest ’ Аннотация и создание экземпляра драйвера браузера и навигация по сайту Edureka с помощью driver.get () метод. Итак, это шаги, которые следует выполнить перед тестом.

Затем во время этого теста я хочу проверить, совпадают ли ожидаемое название и фактическое название. Вот почему я указываю все шаги с помощью аннотации @Test. Наконец, я хочу закрыть драйвер и закрыть браузер после теста. Вот почему я использую @AfterTest Аннотация и закрытие драйвера. Вот как я группирую весь код в различные аннотации и выполняю тестовый пример. Давайте запустим программу как TestNG Test и проверим результат.

На снимке видно, что тестовый пример успешно запущен в тесте и наборе по умолчанию. Кроме того, тестовый пример прошел, и сбоев тоже нет.

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

Процесс выполнения аннотаций будет таким, как показано на снимке выше. Теперь давайте рассмотрим еще один пример, чтобы понять то же самое.

Тестовый пример 2:

package co.edureka.pages 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 testngAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.println ('Тестовый пример 1')} // Тестовый пример 2 @Test public void testCase2 () {System.out.println ('Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Before Метод ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}

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

[RemoteTestNG] обнаружил TestNG версии 6.14.2 Перед набором Перед тестом Перед классом Перед методом Тестовый пример 1 После метода Перед методом Тестовый пример 2 После метода После класса После теста ПРОЙДЕН: testCase1 ПРОЙДЕН: testCase2 =========== ==================================== Тест по умолчанию Запуск тестов: 2, отказов: 0, пропусков: 0 ================================================= После Suite = ============================================== Набор по умолчанию Всего тестов запуск: 2, отказы: 0, пропуски: 0 ======================================= ========

Из вышеприведенного вывода вы можете заметить, что он выполнил как тестовые примеры, так и Before Suite и After Suite, выполненные только один раз. Кроме того, тест успешно прошел тест и набор по умолчанию. Вот как вам нужно выполнять тестовые примеры с помощью аннотаций.На этом мы подошли к концу статьи об аннотациях TestNG в Selenium.

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

Если вы нашли эту «Аннотации TestNG в Selenium ' соответствующие, проверить от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев Аннотации TestNG в Selenium статья, и мы свяжемся с вами.