Wie nehmen Sie den screenshot und hängen Sie es an Reiz Berichts zu erhalten, während mit Gurke und JUnit?

Ich bin mit Cucumber, Selenium, Java, Maven und JUnit-Stapel in meinem automation-test-Projekt.

Ziel ist es, screenshots zu machen, die auf fehl und defekte tests. Ich habe die Lösung gefunden für Java/Maven/JUnit-stack:

@Rule
public TestWatcher screenshotOnFailure = new TestWatcher() {
    @Override
    protected void failed(Throwable e, Description description) {
        makeScreenshotOnFailure();
    }

    @Attachment("Screenshot on failure")
    public byte[] makeScreenshotOnFailure() {
        return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
    }
};

Aber es funktioniert nicht bei der Verwendung von Gurken, weil es nicht alle @Test-Methoden.

So, ich habe beschlossen, das zu ändern @ - Regel @ClassRule, um es zu hören fehlschlägt, so ist es hier:

@ClassRule
public static TestWatcher screenshotOnFailure = new TestWatcher() {
    @Override
    protected void failed(Throwable e, Description description) {
        makeScreenshotOnFailure();
    }

    @Attachment("Screenshot on failure")
    public byte[] makeScreenshotOnFailure() {
        logger.debug("Taking screenshot");
        return ((TakesScreenshot) Application.getInstance().getWebDriver()).getScreenshotAs(OutputType.BYTES);
    }
};

Und diese Lösung hat mir nicht helfen.

So, die Frage ist: "Wie man screenshots Anhängen auf fail, wenn ich mit Java/Selenium/Gurke/JUnit/Maven in meinem test-Projekt?"

  • Auch mir zugewandt gleiche problem. Screenshot eingefangen, aber nicht erscheinen, als Anlage in allure Bericht. Ich bin mit Java+Maven+TestNG+Allure.
Schreibe einen Kommentar