extent-framework / extentreports-testng-adapter

TestNG Adapter for Extent Framework
http://extentreports.com/docs/versions/4/java/testng.html
Apache License 2.0
50 stars 14 forks source link

ClassCastException #10

Closed FrankBergemann closed 4 years ago

FrankBergemann commented 4 years ago

In my setup using Selenium, TestNG and ExtentReport, extentreports-testng-adapter 1.0.5 fails with a ClassCastException shown below. The code works when using the previous Extent-Reports framework from the documentation in:

http://extentreports.com/docs/versions/4/java/testng.html

Please find my adapter config files and pom.xml at the bottom.

Console messages in Eclipse: [RemoteTestNG] detected TestNG version 7.0.1 813 [main] INFO io.github.bonigarcia.wdm.WebDriverManager - Using chromedriver 80.0.3987.106 (since Google Chrome 80 is installed in your machine) 843 [main] INFO io.github.bonigarcia.wdm.WebDriverManager - Exporting webdriver.chrome.driver as C:\Users\BERGEF.m2\repository\webdriver\chromedriver\win32\80.0.3987.106\chromedriver.exe Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 27286 Only local connections are allowed. Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code. Apr. 15, 2020 4:35:40 NACHM. org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: W3C [1586961341.122][SEVERE]: Timed out receiving message from renderer: 0.100 [1586961341.225][SEVERE]: Timed out receiving message from renderer: 0.100 java.lang.ClassCastException: class com.aventstack.extentreports.reporter.ExtentHtmlReporter cannot be cast to class com.aventstack.extentreports.reporter.ExtentSparkReporter (com.aventstack.extentreports.reporter.ExtentHtmlReporter and com.aventstack.extentreports.reporter.ExtentSparkReporter are in unnamed module of loader 'app') at com.aventstack.extentreports.reporter.configuration.ExtentHtmlReporterConfiguration.enableOfflineMode(ExtentHtmlReporterConfiguration.java:31) at com.aventstack.extentreports.reporter.ExtentHtmlReporter.flush(ExtentHtmlReporter.java:49) at com.aventstack.extentreports.ReportObservable.lambda$23(ReportObservable.java:526) at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) at com.aventstack.extentreports.ReportObservable.notifyReporters(ReportObservable.java:526) at com.aventstack.extentreports.ReportObservable.flush(ReportObservable.java:424) at com.aventstack.extentreports.ExtentReports.flush(ExtentReports.java:290) at com.aventstack.extentreports.testng.listener.ExtentITestListenerAdapter.onFinish(ExtentITestListenerAdapter.java:20) at org.testng.TestRunner.fireEvent(TestRunner.java:895) at org.testng.TestRunner.afterRun(TestRunner.java:859) at org.testng.TestRunner.run(TestRunner.java:590) at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

extent.properties: extent.reporter.avent.start=false extent.reporter.bdd.start=false extent.reporter.cards.start=false extent.reporter.email.start=false extent.reporter.html.start=true extent.reporter.klov.start=false extent.reporter.logger.start=false extent.reporter.tabular.start=false

extent.reporter.avent.config= extent.reporter.bdd.config= extent.reporter.cards.config= extent.reporter.email.config= extent.reporter.html.config=src/test/resources/html-config.xml extent.reporter.klov.config= extent.reporter.logger.config= extent.reporter.tabular.config=

extent.reporter.avent.out=target/AventReport/ extent.reporter.bdd.out=target/BddReport/ extent.reporter.cards.out=target/CardsReport/ extent.reporter.email.out=target/EmailReport/ExtentEmail.html extent.reporter.html.out=target/HtmlReport/ExtentHtml.html extent.reporter.logger.out=target/LoggerReport/ extent.reporter.tabular.out=target/TabularReport/

html-config.xml: <?xml version="1.0" encoding="UTF-8"?>

standard UTF-8 true https SDLC Toolchain Test Report Selenium/TestNG Test Automation - Quarkus todo app true

pom.xml: <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">

4.0.0 Altemista-Cloud MyFirstTestautomation 0.0.1-SNAPSHOT jar MyFirstTestautomation http://maven.apache.org
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <xray.resultsFormat>TESTNG</xray.resultsFormat>
    <xray.surefire.location>${basedir}/test-output/testng-results.xml</xray.surefire.location>
    <xray.projectKey>SDLC</xray.projectKey>

</properties>

<dependencies>

    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <!-- <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> 
        <version>4.10</version> <scope>test</scope> </dependency> -->

    <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.1.0</version>
        <!-- <scope>test</scope> -->
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>3.6.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.6.4</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.aventstack/extentreports-testng-adapter -->
    <dependency>
        <groupId>com.aventstack</groupId>
        <artifactId>extentreports-testng-adapter</artifactId>
        <version>1.0.5</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>4.1.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>4.1.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>4.1.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-excelant -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-excelant</artifactId>
        <version>4.1.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.uncommons/reportng -->
    <dependency>
        <groupId>org.uncommons</groupId>
        <artifactId>reportng</artifactId>
        <version>1.1.4</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.google.inject/guice -->
    <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>4.2.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>javax.mail-api</artifactId>
        <version>1.6.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.activation/activation -->
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.dom4j/dom4j -->
    <dependency>
        <groupId>org.dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>2.1.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
    <dependency>
        <groupId>org.apache.xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
        <version>3.1.0</version>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.4</version>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <!-- <version>2.21.0</version> -->
            <!-- <version>2.19.1</version> -->
            <version>3.0.0-M3</version>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
                <suiteXmlFiles>
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                </suiteXmlFiles>

                <properties>
                    <property>
                        <name>reporter</name>
                        <value>org.testng.reporters.XMLReporter:generateTestResultAttributes=true,generateGroupsAttribute=true</value>
                    </property>
                    <property>
                        <name>usedefaultlisteners</name>
                        <value>false</value>
                    </property>
                </properties>
            </configuration>
        </plugin>
    </plugins>
</build>

anshooarora commented 4 years ago

This bug was fixed in https://github.com/extent-framework/extentreports-java/commit/312cd3abe79fe237b5bfe798b1d9b2ef946656fe release 4.1.3, bumping the pom.xml version and marking this as closed. Please upgrade the adapter version to 1.0.6 https://github.com/extent-framework/extentreports-testng-adapter/commit/2d16b97d0c554ce719822032452a11899503d7a8.