Я просто не понимаю, почему возникает эта ошибка. Невозможно создать отчет по экстенту и сделать снимок экрана. Я добавил приложение Test, AfterMethod & AfterTest и метод скриншота. Я хочу делать скриншоты в другой папке.
Сообщение об ошибке, которое я получаю, выглядит следующим образом.
НЕПРАВИЛЬНАЯ КОНФИГУРАЦИЯ: @AfterMethod getReport ([TestResult name = checkTitle status = SUCCESS method = Google.checkTitle () [pri: 0, instance:Google@3224f60b] output = {null}]) java .io.IOException: неверный синтаксис имени файла, имени каталога или метки тома.
Ниже приведен мой тестовый код на селен. ,
@Test
public void checkTitle() {
test = extent.createTest("Title Check test");
Actual_Title = driver.getTitle();
System.out.println(Actual_Title);
Assert.assertEquals(Actual_Title, Expected_Tite);
test.log(Status.PASS, "This Test is Passed!");
}
@AfterMethod
public void getReport(ITestResult result) throws IOException {
if (result.getStatus() == ITestResult.FAILURE) {
test.log(Status.FAIL,MarkupHelper.createLabel(result.getMethod().getMethodName(),ExtentColor.RED));
test.fail("TestFailed due to"+" "+result.getThrowable().getMessage());
String imagePath =Google.captureScreen(driver,result.getName());
test.addScreenCaptureFromPath(imagePath);
}
else if (result.getStatus() == ITestResult.SKIP) {
test.log(Status.SKIP,MarkupHelper.createLabel(result.getMethod().getMethodName(),ExtentColor.AMBER));
test.skip(result.getThrowable().getMessage());
} else {
test.log(Status.PASS,MarkupHelper.createLabel(result.getMethod().getMethodName(),ExtentColor.GREEN));
String imagePath =Google.captureScreen(driver, result.getName());
test.addScreenCaptureFromPath(imagePath);
}
}
@AfterTest
public void endTest() {
extent.flush();
driver.quit();
}
public static String captureScreen(WebDriver driver,String screenshotname)throws IOException {
String date = new SimpleDateFormat("MM-dd-yy,hh:mm:ss").format(new Date());
TakesScreenshot ts = (TakesScreenshot)driver;
File src= ts.getScreenshotAs(OutputType.FILE);
String path = System.getProperty("user.dir")+"/ScreenShots/"+screenshotname+date+".png";
File destination = new File(path);
FileUtils.copyFile(src, destination);
return path;
}