Невозможно записать результат теста Allure, если я использую следующий таймаут в TestNG.xml
и методах.
<test name="TestName" time-out="60000">
<classes>
<class name="ClassName">
<methods><include name="MethodName"></include>
</methods>
</class>
</classes>
</test>
ИЛИ
@Test (timeOut = 10*60000)
Исключение: io.qameta.allure.AllureResultsWriteException: не удалось записать результат теста Allure. Вызвано: java.nio.channels.ClosedByInterruptException
Слушатель, который я использовал:
public class AllureListener implements IHookable {
@Override
public void run(IHookCallBack callBack, ITestResult testResult) {
callBack.runTestMethod(testResult);
if (testResult.getThrowable() != null || testResult.getStatus() == ITestResult.FAILURE
|| testResult.getStatus() == ITestResult.SKIP
|| testResult.getStatus() == ITestResult.SUCCESS_PERCENTAGE_FAILURE
|| testResult.getStatus() == ITestResult.SUCCESS_PERCENTAGE_FAILURE) {
String methodName = testResult.getName().toString().trim();
ITestContext context = testResult.getTestContext();
WebDriver driver = (WebDriver) context.getAttribute("driver");
if (driver != null) {
AllureReportUtil ru = new AllureReportUtil();
ru.addAttachment(driver, methodName);
}
}
}
Пожалуйста, помогитея в этом.