Я - ручной тестировщик, изучающий Selenium + Java на данный момент. Благодаря большому количеству блестящих ответов в Stack Overflow мне удалось сделать снимок экрана при сбое SoftAssert, но сейчас я пытаюсь прикрепить этот снимок экрана к отчету Allure. Может кто-нибудь сказать мне, что добавить в мой код, чтобы эти скриншоты были прикреплены к отчету Allure? Большое спасибо !!
//Override my onAssertFailure:**
public class CustomSoftAssert extends SoftAssert{
@Override
public void onAssertFailure(IAssert<?> assertCommand, AssertionError ex)
{
WebDriver driver = TestBase.getDriver1();
Reporting.takeScreenshot(driver);
}
//takeScreenshot method:
public static void takeScreenshot(WebDriver driver) {
try
{
TakesScreenshot ts=(TakesScreenshot) driver;
File source=ts.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(source, new File("./screenshots/"+System.currentTimeMillis()+".png"));
System.out.println("Screenshot taken");
}
catch (Exception e)
{
System.out.println("Exception while taking screenshot "+e.getMessage());
}
}
//onTestFailure method in AllureTestListener**
@Override
public void onTestFailure(ITestResult iTestResult) {
System.out.println("I am in onTestFailure method " + getTestMethodName(iTestResult) + " failed");
Object testClass = iTestResult.getInstance();
WebDriver driver = TestBase.getDriver1();
// Allure ScreenShotRobot and SaveTestLog
if (driver instanceof WebDriver) {
System.out.println("Screenshot captured for test case:" + getTestMethodName(iTestResult));
saveScreenshotPNG(driver);
}
// Save a log on allure.
saveTextLog(getTestMethodName(iTestResult) + " failed and screenshot taken.");
}```