Giter Site home page Giter Site logo

reportng's People

Contributors

dependabot[bot] avatar sdrss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

reportng's Issues

Failed generating JUnit XML report

Hello, I'm using sdrss/reportNG(2.6.2) and jacoco(0.8.5) at the same time, but something wrong occurred when generating report files, the output logs:

2021-08-03 12:36:24.249  INFO 3642 --- [           main] org.uncommons.reportng.HTMLReporter      : ****************************************

2021-08-03 12:36:24.249  INFO 3642 --- [           main] org.uncommons.reportng.HTMLReporter      : Generate reportNG report

2021-08-03 12:36:24.249  INFO 3642 --- [           main] org.uncommons.reportng.HTMLReporter      : Path : /Users/yclin/codes/java/szaud-platform-backend/target/surefire-reports/html

2021-08-03 12:36:24.401  INFO 3642 --- [           main] org.uncommons.reportng.HTMLReporter      : ****************************************
[TestNG] Reporter [JUnitXMLReporter passed=0 failed=0 skipped=0] failed
org.uncommons.reportng.ReportNGException: Failed generating JUnit XML report.
        at org.uncommons.reportng.JUnitXMLReporter.generateReport(JUnitXMLReporter.java:70)
        at org.testng.TestNG.generateReports(TestNG.java:1097)
        at org.testng.TestNG.run(TestNG.java:1022)
        at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:283)
        at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75)
        at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:120)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Caused by: java.io.FileNotFoundException: /Users/yclin/codes/java/szaud-platform-backend/target/surefire-reports/xml/net.engyne.szaudplatformbackend.controller.AuthControllerTest_results.xml (No such file or directory)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
        at java.io.FileWriter.<init>(FileWriter.java:90)
        at org.uncommons.reportng.AbstractReporter.generateFile(AbstractReporter.java:85)
        at org.uncommons.reportng.JUnitXMLReporter.generateReport(JUnitXMLReporter.java:68)
        ... 9 more
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.146 s - in TestSuite

My pom.xml:

        <dependency>
            <groupId>com.github.sdrss</groupId>
            <artifactId>reportng</artifactId>
            <version>2.6.2</version>
        </dependency>

        <dependency>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.5</version>
        </dependency>

My testng.xml:

<suite name="All Test Suite">
    <test verbose="2" preserve-order="true" name="AuthTests">
        <classes>
            <class name="net.engyne.szaudplatformbackend.controller.AuthControllerTest"/>
        </classes>
    </test>
    <listeners>
        <listener class-name="org.uncommons.reportng.HTMLReporter"/>
        <listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
    </listeners>
</suite>

Any helpful suggestions would be appreciated, thank you.

ReportNG report tells me that 0 tests have been run, when actually 6 have been run

ReportNG generates the report for me, but it says that 0 tests have been run when actually 6 have been run

My configuration is:

Pom


4.0.0

<groupId>org.example</groupId>
<artifactId>Automatizacion_CS</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M5</version>
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>${suiteXmlFiles}</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <!-- 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/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.14.3</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.17</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.17</version>
    </dependency>
    <!--JDBC SQL SERVER DEPENDENCIA   -->
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>6.1.0.jre8</version>
    </dependency>

    <!--Administrador de Browser Drivers-->
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>5.0.3</version>
        <scope>test</scope>
    </dependency>
    <!--Reporte TestNG-->
    <dependency>
        <groupId>com.github.sdrss</groupId>
        <artifactId>reportng</artifactId>
        <version>2.6.5</version>
    </dependency>
    <!--
    <dependency>
        <groupId>org.uncommons</groupId>
        <artifactId>reportng</artifactId>
        <version>1.1.4</version>
    </dependency>-->

</dependencies>

xml:

<listeners>
    <listener class-name="org.uncommons.reportng.HTMLReporter" />
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>


<test name="CUA04">
    <parameter name="nameTest" value="CUA04"></parameter>
    <parameter name="url" value="http://10.253.15.199/sib/transaction/LOGON.asp"/>

    <parameter name="userName" value="JOBRAN"/>
    <parameter name="userPassword" value="JOBRAN16"/>

    <parameter name="CANAL_Y_PRUEBA" value="45"/>

    <parameter name="canal" value="PortalFinanciero"/>
    <parameter name="webDriver" value="EG"/>

    <classes>
        <class name="myTests.PortalFinanciero.CUA04">
        </class>
    </classes>
</test>

Java class:

package myTests.PortalFinanciero;

import core.Base;
import core.FileExcelProvider;
import core.TestListener;
import core.Utilities;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.ITestContext;
import org.testng.Reporter;
import org.testng.annotations.*;

import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;

import static core.Utilities.*;

@listeners(TestListener.class)
public class CUA04 extends Base {

private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
private JavascriptExecutor js;

@DataProvider(parallel=true)
public Object[][] getProvider(){
    String[] archivos = {
            "C:/Reportes/CUA04.xlsx"
    };

    int[][] matrizDeConversion = {
            {1}
    };

    FileExcelProvider file = new FileExcelProvider(archivos,matrizDeConversion);
    Object[][] data = file.getData();
    return data;
}

//Elimina las imagenes de la carpeta C:/Reportes
@BeforeClass
public void BeforeClass() throws NoSuchFieldException, IllegalAccessException {
    /*Utilities EliminarPorExtension = new Utilities();
    EliminarPorExtension.EliminarPorExtension();
    System.out.println("Se Elimino correctamente las imagenes en la carpeta reportes");*/
}


@Test(dataProvider = "getProvider")
public void CUA04(Object[] object, ITestContext context) throws  NoSuchFieldException, IllegalAccessException {
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    ArrayList<String> datos = convertObjectToArrayString(object);

    ///Escritura del Titulo de la Prueba
    Utilities Doc = new Utilities();
    if(Utilities.getCont()==0){
        writeTitleDoc("Prueba automatizada transacción - CUA04");
    }
    Reporter.log("Se escribe un msj en el reporte");
    writeLog("*");
    writeLog("*");
    writeLog("Cargando las Preferencias del Navegador");
    //Espera hasta que se haya cargado el Portal

    /*Espera al cargar preferencias, esto es propio del portal financieros*/
    if(Utilities.getCont()<=1){
        System.out.println("Realiza la espera de que cargue la pagina la primera vez");
        WebElement foo = new WebDriverWait(driver, 15).until(driver -> driver.findElement(By.id("clsTb4_Cliente360")));
        threadslepp(1500);
    }

    try {
        /*Presiona F9 para ingresar a la TRX*/

        writeLog("Inicia la Iteracion");
        driver.switchTo().defaultContent();
        keyPress(KeyEvent.VK_F9);
        //threadslepp(500);
        Doc.writeSubTitleDoc("Caso - "+datos.get(0));
        Doc.takeScreenShotJB(driver, "1. Muestra dialogo para ingresar la transaccion a realizar.");
        writeLog("Busca el componente para poder colocar la transaccion a buscar");
        String transaccion = datos.get(1);
        System.out.println("Transaccion que se procesara: " + transaccion);
        //sendKeystoElement(driver,"TRXDESC", transaccion,"");
        sendKeystoElement(driver,"//*[@id=\"TRXDESC\"]", transaccion,"2. Ingresa el codigo de la transaccion que queremnos ejecutar: "+transaccion);


        /*Presiona Enter para ir a la transaccion*/
        writeLog("Presionara Enter");
        keyPress(KeyEvent.VK_ENTER);
        writeLog("Ingresa a la Transaccion");


        /*Cambia de Frame*///DetailMain
        threadslepp(1000);
        System.out.println("Cambia de Frame");
        driver.switchTo().frame("DetailMain");

        //Ingresar Agencia
        writeLog("Ingresa la Agencia: " + datos.get(2));
        sendKeystoElement(driver,"input[id='SCO_AGENCIA']",  datos.get(2), "3. Ingresa el código de la Agencia: "+datos.get(2));

        //Ingresa la Jornada
        writeLog("Ingresa la Jornada: " + datos.get(3));
        selectOption(driver, "SCO_TURNO", datos.get(3),"" );

        //Ingresa la Fehca
        writeLog("Ingresa la Fecha: " + datos.get(4));
        sendKeystoElement(driver,"input[id='AFE_FECHA']",  datos.get(4), "5. Ingresa la fecha de la cual queremos generar el reporte: "+datos.get(4));

        //Ingresa la Moneda
        writeLog("Ingresa la Moneda: " + datos.get(5));
        sendKeystoElement(driver, "input[id='ACO_MONED']", datos.get(5), "6. Ingresa el código de la Moneda: "+datos.get(5));

        //Ingresa el Proceso a Ejecutar
        selectOption(driver, "SCO_TIPO", datos.get(6), "7. Selecciona el proceso que queremos ejecutar: ");

        //Da click en el boton para generar el reporte
        Doc.takeScreenShotJB(driver, "8. Presiona el boton Generar para generar el reporte.");
        clickElementIfExist(driver, "//input[@value='Generar']");
        threadslepp(500);

        driver.switchTo().defaultContent();

        //Si sucede un error lo Captura
        driver.switchTo().frame("DetailMain");

        capturarError(driver, "description", null, "9. Se a capturado el siguiente error: ");

        //Retorna a la ventana Principal
        driver.switchTo().defaultContent();


    }catch(Exception e){
        //VENTANA EMERGENTE -- Error
        try {
            capturarError(driver, "description", "BOTON", "9. Se a capturado el siguiente error: ");
            System.out.println("Primer Catch: " +e.getMessage());

        }catch (Exception ex){
            try {
                capturarError(driver, "MESSAGE", null, "9. Se a capturado el siguiente error: ");
                System.out.println("Segundo Catch: "+ex.getMessage());

            }catch (Exception exx){
                System.out.println("Error No mapeado");
                System.out.println("Tercer Catch: "+exx.getMessage());
            }
        }
    }
}

//Despues de finalizar la prueba automatizada, se genera un documento con todas las pantallas realizadas
@AfterClass
public void AfterClass(){
    //Obtengo el usuario de Windows
    String usuario = System.getProperty("user.name");
    writeLog("Se generó correctamente Evidencia de Pruebas- .docx");
    //Cierra el Navegador y el Driver
    //driver.quit();

}

}

Mensaje en el reporte generado:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.