В этом посте мы видим слушателей TestNG. Слушатели «слушают» событие, определенное в сценарии селена, и ведут себя соответственно. Основная цель использования прослушивателей — создание журналов. Существует много типов прослушивателей, таких как прослушиватели WebDriver и прослушиватели TestNG.
Здесь, в этом посте, мы видим прослушиватели TestNG. Используя прослушиватели TestNG, мы могли бы создавать журналы и настраивать отчеты TestNG.
Давайте посмотрим, как реализовать прослушиватели TestNG.
Шаг 1. Создайте класс « ListenerTestNG» для реализации ITestListener methodsJava
123456 | прослушиватели пакетов; открытый класс ListenerTestNG { |
Java
12345 | прослушиватели пакетов; открытый класс ListenerTestNG реализует ITestListener{ } |
Наведите указатель мыши на ITestListener и импортируйте ITestListener Интерфейс и наведите указатель мыши на ListenerTestNG и нажмите на “Добавить нереализованные методы“, чтобы добавить несколько нереализованных методов (без тела)
Java
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | =crayon-codeслушатели пакетов; импортировать org.testng.ITestContext; импортировать org.testng.ITestListener; импортировать org.testng.ITestResult; открытый класс ListenerTestNG реализует ITestListener{ @Overridepublic void onTestStart (результат ITestResult) {//TODO Автоматически сгенерированный метод} @Overridepublic void onTestSuccess (ITestResult результат) {//TODO Автоматически сгенерированный метод} @Overridepublic void onTestFailure (результат ITestResult) {//TODO Автоматически сгенерированный метод} @Overridepublic void onTestSkipped(ITestResult result) {//TODO TODO Автоматически сгенерированный метод} @Overridepublic void onTestFailedButWithinSuccessPercentage(ITestResult result) {//TODO Автоматически сгенерированный метод} @Overridepublic void onStart (Контекст ITestContext) {//TODO Автоматически сгенерированный метод} @Overridepublic void onFinish(ITestContext context) {//TODO Автоматически сгенерированный метод}} |
Здесь я реализую onTestSuccess< /em>, onTestSkipped, onTestFailure methods.Java
123456789101112131415161718192021222324252627282930313233334353637383940414243444546474849505152535455 | слушатели пакетов; импортировать org.testng.ITestContext; импортировать org.testng.ITestListener; импортировать org.testng.ITestResult; открытый класс ListenerTestng реализует itestListener {@Override public void onfinish (itestContext result) {} @Override public void OnStart (itestContext result) {} @Override public void onTestfailedButWithInsUccesspercesspercentag называется. @Override public void onTestFailure(ITestResult Result) { System.out.println(“Имя неудачного теста:”+Result.getName()); } //Когда тестовый пример пропускается, вызывается этот метод. @Override public void onTestSkipped(ITestResult Result) { System.out.println(“Имя пропущенного теста:”+Result.getName()); } @Override public void onTestStart(ITestResult Result) { } //При прохождении теста вызывается этот метод. @Override public void onTestSuccess(ITestResult Result) { System.out.println(“Имя переданного теста:”+Result.getName()); } } |
Шаг 2. Создайте еще один класс «ListenerTestNGTestCase» и напишите сценарий (какой бы вы предпочли). В противном случае скопируйте и вставьте указанный ниже скрипт.
Шаг 3. Добавьте аннотацию слушателей (@Listeners) в классе «ListenerTestNGTestCase»
1 | @Listeners(listeners .ListenerTestNG.class) |
Полный «ListenerTestNGTestCase» после добавления аннотации Listener упоминается ниже:
Java
1234567891011121314151617181920212223242526272829303132333435 | прослушиватели пакетов; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.firefox.FirefoxDriver; импорт org.testng.SkipException; импорт org.testng.annotations.Listeners; импорт org.testng.annotations.Test; @Listeners (listeners.ListenerTestNG.class)public class ListenerTestNGTestCase { драйвер WebDriver= new FirefoxDriver(); //Тест для прохождения, как для проверки слушателей .@Test(priority=1)public void TestToPass(){ System.out.println(“Этот метод для прохождения теста”); driver.get(“https://www.softwaretestingmaterial.com/100-software-testing-interview-questions/”); водитель.ПолучитьНазвание(); driver.quit();}//Использовано исключение пропуска для пропуска test@Test(priority=2)public void TestToSkip (){ System.out.println(“Этот метод для пропуска теста”); throw new SkipException(“Пропуск – Это не готово для тестирования”);}//В приведенном выше методе мы уже закрыли браузер. Таким образом, мы не могли получить титул здесь. Это принудительный отказ test@Test(priority=3)public void TestToFail(){ driver.getTitle(); System.out.println(“Этот метод не прошел проверку”);}} |
Шаг 4. Выполните класс «ListenerTestNGTestCase». Методы класса ListenerTestNG вызываются автоматически в соответствии с поведением методов, аннотированных как @Test.
Шаг 5. Проверьте вывод в консоли. Журналы можно найти в консоли.
Если вы хотите использовать прослушиватели в нескольких классах.
Добавьте приведенные ниже строки кода в файл TestNG.xml
123 | <listeners> <listener class-name=”listeners.listenerTestNG”/></listeners> |
Окончательный файл testng.xml будет выглядеть следующим образом:
123456789101112 | <xml version=”1.0″ encoding=”UFT-8″?><!DOCTYPE suite SYSTEM “http://testng.org/testng-1.0.dtd”><suite name=”Suite”> < listeners> <listener class-name=”listeners.listenerTestNG”/> </listeners> <test name=”Test”> <classes> <class name=”listeners.ListenerTestNGTestCase”> </classes> </test></suite> |
Выполните его, щелкнув правой кнопкой мыши на файле testng.xml, и запустите как TestNG Suite
Если вы не являетесь постоянным читателем SoftwareTestingMaterial.com, я настоятельно рекомендую вам зарегистрироваться бесплатный информационный бюллетень по электронной почте, используя ссылку ниже.
TAG: qa