Проблема заключается в вашем тестовом коде.
Вы в основном добавили конструктор не по умолчанию для слушателя.Из вашего скриншота не ясно, как вы подключаетесь к слушателю (трассировка стека указывает, что этот слушатель подключен либо через файл xml testng, либо через механизм загрузчика служб)
Объекты слушателя автоматическисоздан TestNG через отражение.В этих ситуациях TestNG ищет конструктор по умолчанию, чтобы он мог создавать экземпляр прослушивателя.
Чтобы решить эту проблему, добавьте конструктор по умолчанию также в свой класс слушателей.
Если вам нужен снимок экрана при сбое, выполните следующие действия:
- Получите объект
ITestResult
текущего метода тестирования (который представляет результат теста для метода теста), вызвав Reporter.getCurrentTestResult()
, а затем вставьте экземпляр WebDriver
в объект ITestResult
, добавив его в качестве атрибутаиспользуя ITestResult.setAttribute()
- Теперь внутри слушателя, в методе
onTestFailure()
, вы можете получить объект веб-драйвера с помощью вызова ITestResult.getAttribute()
, а затем использовать его для захвата снимка экрана. - Незабудьте удалить ссылку на слушателя в вашем тестовом классе.