Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

При фейле теста в отчете отображается два теста.


(Denis Vovchenko) #1

Если тест проходит нормально, в отчете отображается один пройденный тест.
Но если тест фейлится - в отчете два теста. На скрине показан пример:


(Denis Vovchenko) #2

Разобрался. Можно закрывать.


(Евгений Бухгаммер) #3

Денис, в таких случаях было бы очень желательно, чтобы Вы сами предоставили решение, какое бы оно простое не было. У людей могут возникнуть такие же трудности :blush:


(Denis Vovchenko) #4

У меня в классе AbstractTest от которого наследуются все тестовые классы. Был метод:

@AfterMethod
public void setScreenshot(ITestResult result) {
    if (!result.isSuccess()) {
        try {
            WebDriver returned = new Augmenter().augment(DRIVER);
            if (returned != null) {
                File f = ((TakesScreenshot) returned)
                        .getScreenshotAs(OutputType.FILE);
                try {
                    FileUtils.copyFile(f, new File("E:\\Test_results\\"
                            + result.getName() + " " + getFileName() + ".jpg"));
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        } catch (ScreenshotException se) {
            se.printStackTrace();
        }
    }
}

Из за него и создавался второй. При этом скриншот не делался.
Метод убрал - второй тест не создается.


(Denis Vovchenko) #5

Вернее проблема была в том, что драйвер сначала закрывался

DRIVER.close();
DRIVER.quit();

А потом пытался делать скрин, соответственно выпадал Exception.