Отчет о масштабах 3 - Добавление ошибки скриншота - Selenium, Java - PullRequest
0 голосов
/ 04 июля 2019

Когда тест не пройден, я добавляю скриншот к слушателям, чтобы добавить его в отчет. Я написал метод 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...