Отчет о масштабах 3 - Добавление ошибки скриншота - Selenium, Java
Когда тест не пройден, я добавляю скриншот слушателям, чтобы добавить его в отчет. Я написал метод takeScreenshot в утилитах и возвращает путь.
Но он выдает исключение нулевого указателя при переходе к строке скриншота файла
//Screenshot method in utils class
public static String takeScreenshot() throws Exception {
File scshot= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
String path = System.getProperty("user.dir")+ "/Reports/Screenshots/"+ System.currentTimeMillis()+".png";
System.out.println(path);
FileUtils.copyFile(scshot, new File(path));
return path;
}
**// Неудача в
listener**
public void onTestFailure(ITestResult result) {
// TODO Auto-generated method stub
String takeScreenshot = null;
System.out.println(result.getMethod().getMethodName() +" Test Case FAILED !");
try {
takeScreenshot = utils.takeScreenshot();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
test.get().addScreenCaptureFromPath(takeScreenshot);
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
<-------- **************** ----------> вывод:
VerifyTitleTest Test Case FAILED !
java.lang.NullPointerException
at ExtentReport.utils.takeScreenshot(utils.java:21)
TestNgListeners.TestNGlisteners.onTestFailure(TestNGlisteners.java:56)
at org.testng.internal.TestListenerHelper.runTestListeners(TestListenerHelper.java:67)
at org.testng.internal.Invoker.runTestListeners(Invoker.java:1389)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:636)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng