Я пробовал цеплять текст как аттачмент, пробовал разные варианты с кастомными слушателями, пробовал просто метод из аттачмента использовать в тесте, никаких результатов.
Я ещё не пробовал версию 2.8.1 Аллюра, но попробуйте ещё версию 2.7.0 (обе зависимости сменить версию), вам проще будет и быстрее. Может, косяк какой в новой версии.
Попробовал у себя версию 2.8.1 - аттачи работают.
Попробуйте уберать имплементацию ITestListener.
А зачем ещё зависимость аллюр-жава-коммонс? У берите её временно, попробуйте.
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See SLF4J Error Codes for further details.
// OnFailure.class
@Attachment(value = "Device screenshot", type = "image/png")
public byte[] attachDeviceScreenshot() {
return ((TakesScreenshot) BaseTest.getDriver()).getScreenshotAs(OutputType.BYTES);
}
// BaseTest.class
protected AppiumDriver<MobileElement> driver;
@BeforeClass
public void setUp() throws MalformedURLException {
// set up Appium
File appDir = new File(AppProperties.getInstance().getApkPath());
File app = new File(appDir, AppProperties.getInstance().getApkName());
log.info("Path to apk file {}", app.getAbsolutePath());
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, Config.PACKAGE_NAME);
driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
WEB_DRIVER_THREAD_LOCAL.set(driver);
}
Как-то так все было настроено (3 года назад) и оно делало скриноты нормально, и аттачило в репорт тоже. Не спорю, может сейчас инициализация уже по другому делается уже, и это не актуально, но этот код работал у меня