selenium-webdriver
Informes HTML
Buscar..
Introducción
Este tema cubre la creación de informes HTML para pruebas de selenio. Hay varios tipos de complementos disponibles para informes y los más utilizados son Allure, ExtentReports y ReportNG.
ExtentReports
Este ejemplo cubre la implementación de ExtentReports en Selenium usando TestNG, Java y Maven.
Los ExtentReports están disponibles en dos versiones, comunitaria y comercial. Para la facilidad y el propósito de demostración, usaremos la versión de la comunidad.
1. Dependencia
Agregue la dependencia en su archivo pom.xml de Maven para los informes de extensión.
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.0.6</version>
</dependency>
2. Configurar complementos
Configure el plugin maven surefire como se muestra a continuación en pom.xml
<build>
<defaultGoal>clean test</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>${jdk.level}</source>
<target>${jdk.level}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
3. Prueba de muestra con ExtentReports
Ahora, crea una prueba con el nombre test.java
public class TestBase {
WebDriver driver;
ExtentReports extent;
ExtentTest logger;
ExtentHtmlReporter htmlReporter;
String htmlReportPath = "C:\\Screenshots/MyOwnReport.html"; //Path for the HTML report to be saved
@BeforeTest
public void setup(){
htmlReporter = new ExtentHtmlReporter(htmlReportPath);
extent = new ExtentReports();
extent.attachReporter(htmlReporter);
System.setProperty("webdriver.chrome.driver", "pathto/chromedriver.exe");
driver = new ChromeDriver();
}
@Test
public void test1(){
driver.get("http://www.google.com/");
logger.log(Status.INFO, "Opened site google.com");
assertEquals(driver.getTitle()), "Google");
logger.log(Status.PASS, "Google site loaded");
}
@AfterMethod
public void getResult(ITestResult result) throws Exception {
if (result.getStatus() == ITestResult.FAILURE)
{
logger.log(Status.FAIL, MarkupHelper.createLabel(result.getName() + " Test case FAILED due to below issues:", ExtentColor.RED));
logger.fail(result.getThrowable());
}
else if (result.getStatus() == ITestResult.SUCCESS)
{
logger.log(Status.PASS, MarkupHelper.createLabel(result.getName() + " Test Case PASSED", ExtentColor.GREEN));
}
else if (result.getStatus() == ITestResult.SKIP)
{
logger.log(Status.SKIP, MarkupHelper.createLabel(result.getName() + " Test Case SKIPPED", ExtentColor.BLUE));
}
}
@AfterTest
public void testend() throws Exception {
extent.flush();
}
@AfterClass
public void tearDown() throws Exception {
driver.close();
}
Informes de encanto
Este ejemplo cubre la implementación de Allure Reports en Selenium utilizando TestNG, Java y Maven.
Configuración de Maven
Repositorio
Agregue el siguiente código para configurar el repositorio jcenter
<repository>
<id>jcenter</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
Dependencia
Agregue las siguientes dependencias a su pom.xml
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-testng-adaptor</artifactId>
<version>1.5.4</version>
</dependency>
Configuración del complemento Surefire
<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<argLine>-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
</argLine>
<properties>
<property>
<name>listener</name>
<value>ru.yandex.qatools.allure.testng.AllureTestListener</value>
</property>
</properties>
<suiteXmlFiles>testng.xml</suiteXmlFiles>
<testFailureIgnore>false</testFailureIgnore>
</configuration>
</plugin>
Prueba de muestra para Allure Report
Crear una prueba de muestra con el nombre test.java
public class test{
WebDriver driver;
WebDriverWait wait;
@BeforeMethod
public void setup() {
System.setProperty("webdriver.chrome.driver", "path to/chromedriver.exe");
driver = new ChromeDriver();
driver.get("https://www.google.com/");
wait = new WebDriverWait(driver,50);
}
@Title("Title check")
@Description("Checking the title of the loaded page.")
@Test
public void searchTest(){
String title = driver.getTitle();
LogUtil.log("Title Fetched: "+title);
assertEquals(title,"Google");
LogUtil.log("Test Passed. Expected: Google | Actual: "+title);
System.out.println("Page Loaded");
}
@AfterMethod
public void teardown(){
driver.close();
}
}
En la clase anterior hemos utilizado la clase LogUtiil. Esto se hace simplemente para registrar los pasos en nuestra prueba. A continuación se muestra el código para el mismo
LogUtil.java
public final class LogUtil {
private LogUtil() {
}
@Step("{0}")
public static void log(final String message){
//intentionally empty
}
}
aquí
@Title ("") agregará el título a su prueba en Allure Report
@Description ("") agregará la descripción a su prueba
@Paso ("") agregará un paso en el informe de atractivo para la prueba
Durante la ejecución, se generará un archivo xml en la carpeta "target / allure-results /"
Informe final con Jenkins
Si se está ejecutando en Jenkins con el complemento Allure Report instalado, Jenkins procesará automáticamente el informe en su trabajo.
Informe final sin Jenkins
Para aquellos que no tienen un Jenkins, use la siguiente línea de comandos para crear el informe html. Allure CLI es una aplicación Java, por lo que está disponible para todas las plataformas. Tiene que instalar manualmente Java 1.7+ antes de usar Allure CLI.
Debian
Para los repositorios basados en Debian proporcionamos un PPA para que la instalación sea sencilla: Instale Allure CLI para debian
$ sudo apt-add-repository ppa:yandex-qatools/allure-framework
$ sudo apt-get update
$ sudo apt-get install allure-commandline
Las distribuciones soportadas son: Trusty y Precise. Después de la instalación, tendrá un comando de encanto disponible.
Mac OS
Puede instalar Allure CLI a través de Homebrew.
$ brew tap qatools/formulas
$ brew install allure-commandline
Después de la instalación, tendrá un comando de encanto disponible.
Windows y otros Unix
- Descargue la versión más reciente como archivo comprimido zip desde https://github.com/allure-framework/allure-core/releases/latest .
- Descomprima el archivo en el directorio allure-commandline. Navegue al directorio bin.
- Utilice allure.bat para Windows y allure para otras plataformas Unix.
En la línea de comandos / terminal ahora simplemente ingrese la siguiente sintaxis y el informe se generará en la carpeta de informes de encanto
$ allure generate directory-with-results/