Проверьте, как получить все шаги по ведению журнала в aftermethod для проблемы с публикацией в некоторых инструментах отслеживания ошибок

#selenium #log4j #testng

Вопрос:

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

Как в описании, которое они хотят, вот так

  1. Открыть Url
  2. Элемент списка
  3. Нажмите кнопку отправить Заголовок панели мониторинга не соответствует правильно В Моем коде автоматизации, я написал журнал
 public class logtest {
    WebDriver driver;
    @BeforeMethod
    public void Before(){
        driver=new ChromeDriver();
    }
    @Test
    public void test1(){
        Log.info("Open URl");
        //Opened url
        Log.info("Click on the submit button");
        // Submit button Clicked
        Log.info("Open Dashboard");
        Log.info("Dashboard Title match");
    }
    @AfterMethod
    public void AfterMethod(ITestResult result){
        if (result.getStatus() == ITestResult.FAILURE) {
            PostIssue_to_Somewhere();
        }
        
    }
    
}
 

Есть ли какое-либо желание, чтобы я мог выполнить все шаги, которые я печатаю внутри @Test , в методе после
, чтобы я мог публиковать ошибки на их доске через API

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

Комментарии:

1. Покажите нам, как вы определяете Log и как импортируете класс.

Ответ №1:

Вы не можете получить результат в методе after test. вы должны использовать прослушиватель TestNG для получения результатов

Шаги, чтобы получить их :

  1. Сначала создайте свой собственный класс с помощью класса extend listener
 public class Listener implements ITestListener
 
  1. Затем используйте метод переопределения, чтобы получить результаты

    @Переопределить открытый пустой onTestSuccess(ITestResult iTestResult) {

    }

существует несколько способов получения точных данных,

  1. OnStart — метод OnStart вызывается при запуске любого теста.
  2. onTestSuccess — метод onTestSuccess вызывается при успешном выполнении любого теста
  3. onTestFailure — Метод onTestFailure вызывается при сбое любого теста.
  4. onTestSkipped — метод onTestSkipped вызывается при пропуске любого теста
  5. onTestFailedButWithinSuccessPercentage — метод вызывается каждый раз, когда тест завершается неудачно, но находится в пределах процента успеха.
  6. onFinish — метод onFinish вызывается после выполнения всех тестов.

Комментарии:

1. У меня уже есть эта реализация, мне просто нужно выполнить все шаги в конце в iTestResult