samedi 18 avril 2020

Allure report screenshot not generated

I have some problems, my allure report does not want to attach screenshot and I can't figure it out why

Json files are generated and I can see it in Allure, but no screenshot is being done.

Does anyone have a solution? Thanks!

This is my pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>


        <groupId>EbaySeleniumTestFramework</groupId>
        <artifactId>EbayTestFramework</artifactId>
        <version>1.0-SNAPSHOT</version>

        <build>
            <defaultGoal>install</defaultGoal>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.20</version>
                    <configuration>
                        <suiteXmlFiles>
                            <suiteXmlFile>testng.xml</suiteXmlFile>
                        </suiteXmlFiles>
                        <argLine>
                            -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                        </argLine>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.aspectj</groupId>
                            <artifactId>aspectjweaver</artifactId>
                            <version>${aspectj.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>

            </plugins>
        </build>

        <properties>
            <aspectj.version>1.8.10</aspectj.version>
            <allure.version>1.5.4</allure.version>
        </properties>


        <dependencies>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>5.2.5.RELEASE</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.2.5.RELEASE</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>5.2.5.RELEASE</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.30</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>1.7.30</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>3.141.59</version>
            </dependency>


            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>5.6.0</version>
                <scope>test</scope>
            </dependency>

            <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-jvm -->
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-jvm</artifactId>
                <version>5.6.0</version>
                <type>pom</type>
            </dependency>

            <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-testng -->
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-testng</artifactId>
                <version>5.6.0</version>
                <scope>test</scope>
            </dependency>


            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-spring</artifactId>
                <version>5.6.0</version>
                <scope>test</scope>
            </dependency>


            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>5.6.0</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-testng</artifactId>
                <version>2.13.2</version>
            </dependency>

            <dependency>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.8</version>
            </dependency>



            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>7.1.0</version>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>ru.yandex.qatools.allure</groupId>
                <artifactId>allure-java-aspects</artifactId>
                <version>${allure.version}</version>
            </dependency>
            <dependency>
                <groupId>ru.yandex.qatools.allure</groupId>
                <artifactId>allure-testng-adaptor</artifactId>
                <version>${allure.version}</version>
                <classifier>spi-off</classifier>
            </dependency>


        </dependencies>

    </project>

This is TestListener class

    public class TestListener implements ITestListener {

        @Attachment(value = "screenshot", type = "picture/png")
        public byte[] saveFailureScreenShot(WebDriver driver) {
            return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
        }

        @Override
        public void onTestStart(ITestResult iTestResult) {
            System.out.println("start");
        }

        @Override
        public void onTestSuccess(ITestResult iTestResult) {
            System.out.println("success");
        }

        @Override
        public void onTestFailure(ITestResult iTestResult) {
            ITestContext context = iTestResult.getTestContext();
            WebDriver driver = (WebDriver) context.getAttribute("WebDriver");
            if (driver instanceof WebDriver) {
                saveFailureScreenShot(driver);
            }
        }

PageTest has annotation @Listener(TestListener.class)

Aucun commentaire:

Enregistrer un commentaire