Ajuste testng por junit

This commit is contained in:
Maria Enith Franco Hernandez 2021-12-22 16:32:24 -05:00
commit 0eccfbd010
54 changed files with 2188 additions and 0 deletions

28
.classpath Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/target/

23
.project Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>nuevaeps</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,4 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/test/java=UTF-8
encoding/<project>=UTF-8

View File

@ -0,0 +1,16 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

BIN
chromedriver.exe Normal file

Binary file not shown.

57
pom.xml Normal file
View File

@ -0,0 +1,57 @@
<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>com.nuevaeps</groupId>
<artifactId>nuevaeps</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>LATAM</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</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.14.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
</dependencies>
</project>

BIN
reserva.xls Normal file

Binary file not shown.

View File

@ -0,0 +1,21 @@
package com.nuevaeps.webapp.bc;
import com.nuevaeps.webapp.ral.dto.AutorizacionesDTO;
import com.nuevaeps.webapp.ral.dto.ResponseDTO;
import com.nuevaeps.webapp.view.HomeView;
public class AutorizacionesBC {
public static ResponseDTO consultarAutorizaciones(AutorizacionesDTO autorizaciones) {
return new HomeView().
ingresarAutorizaciones().
consultarAutorizaciones(autorizaciones);
}
public static ResponseDTO solicitarAutorizaciones(AutorizacionesDTO autorizaciones) {
return new HomeView().
ingresarAutorizaciones().
solicitarAutorizaciones(autorizaciones);
}
}

View File

@ -0,0 +1,17 @@
package com.nuevaeps.webapp.bc;
import com.nuevaeps.webapp.ral.dto.LoginDTO;
import com.nuevaeps.webapp.ral.dto.ResponseDTO;
import com.nuevaeps.webapp.view.LoginView;
public class LoginBC {
public static ResponseDTO realizarLogin(LoginDTO login){
return new LoginView().realizarLogin(login);
}
}

View File

@ -0,0 +1,96 @@
package com.nuevaeps.webapp.ral;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import com.nuevaeps.webapp.ral.dto.LoginDTO;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
/**
* <pre>
* Fecha Autor
* 17-11-2018 Dilan Steven Mejia
* </pre>
*
*
* @author Dilan Steven Mejia
* @version 1.0
* @category DAL
* **/
public class LoginRAL {
/**
* <pre>
* Fecha Autor
* 17-11-2018 Dilan Steven Mejia
* </pre>
*
* Hidrata el login con cada una de las filas de un excel.
*
* @author Dilan Steven Mejia
* @return Lista de reservas
*
* **/
public static ArrayList<LoginDTO> obtenerDatosLogin(String dataPool){
ArrayList<LoginDTO> listLoginDTO = new ArrayList<LoginDTO>();
try {
Workbook excelDataPool = Workbook.getWorkbook(new File(dataPool));
Sheet hojaExcelDataPool = excelDataPool.getSheet(0);
for (int fila = 1; fila < hojaExcelDataPool.getRows(); fila++) {
LoginDTO login = new LoginDTO();
login.setTipoUsuario(validarDato(hojaExcelDataPool ,"tipoUsuario" ,fila));
login.setTipoDocumento(validarDato(hojaExcelDataPool ,"tipoDocumento" ,fila));
login.setNumeroDocumento(validarDato(hojaExcelDataPool ,"numeroDocumento" ,fila));
login.setContrasena(validarDato(hojaExcelDataPool ,"contrasena" ,fila));
listLoginDTO.add(login);
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return listLoginDTO;
}
/**
* <pre>
* Fecha Autor
* 17-11-2018 Dilan Steven Mejia
*
* </pre>
*
* Valida que si hay un elemento en la celda, sino retorna vacio.
*
* @author Dilan Steven Mejia
* @return Elemento encontrado en la celda
*
* **/
public static String validarDato(Sheet hojaExcelDataPool,String campo,int fila){
try {
return hojaExcelDataPool.getCell(hojaExcelDataPool.findCell(campo).getColumn(),fila).getContents();
} catch (Exception e) {
return "";
}
}
}

View File

@ -0,0 +1,44 @@
package com.nuevaeps.webapp.ral.dto;
public class AutorizacionesDTO {
private String soporte;
private String observaciones;
private String radicado;
private String fechaDesde;
private String fechaHasta;
public String getSoporte() {
return soporte;
}
public void setSoporte(String soporte) {
this.soporte = soporte;
}
public String getObservaciones() {
return observaciones;
}
public void setObservaciones(String observaciones) {
this.observaciones = observaciones;
}
public String getRadicado() {
return radicado;
}
public void setRadicado(String radicado) {
this.radicado = radicado;
}
public String getFechaHasta() {
return fechaHasta;
}
public void setFechaHasta(String fechaHasta) {
this.fechaHasta = fechaHasta;
}
public String getFechaDesde() {
return fechaDesde;
}
public void setFechaDesde(String fechaDesde) {
this.fechaDesde = fechaDesde;
}
}

View File

@ -0,0 +1,37 @@
package com.nuevaeps.webapp.ral.dto;
public class LoginDTO {
private String tipoUsuario;
private String tipoDocumento;
private String numeroDocumento;
private String contrasena;
public String getTipoUsuario() {
return tipoUsuario;
}
public void setTipoUsuario(String tipoUsuario) {
this.tipoUsuario = tipoUsuario;
}
public String getTipoDocumento() {
return tipoDocumento;
}
public void setTipoDocumento(String tipoDocumento) {
this.tipoDocumento = tipoDocumento;
}
public String getNumeroDocumento() {
return numeroDocumento;
}
public void setNumeroDocumento(String numeroDocumento) {
this.numeroDocumento = numeroDocumento;
}
public String getContrasena() {
return contrasena;
}
public void setContrasena(String contrasena) {
this.contrasena = contrasena;
}
}

View File

@ -0,0 +1,27 @@
package com.nuevaeps.webapp.ral.dto;
public class ResponseDTO {
private boolean transaccionExitosa;
private String mensajePantalla;
public ResponseDTO(boolean transaccionExitosa,String mensajePantalla) {
this.transaccionExitosa = transaccionExitosa;
this.mensajePantalla = mensajePantalla;
}
public boolean isTransaccionExitosa() {
return transaccionExitosa;
}
public void setTransaccionExitosa(boolean transaccionExitosa) {
this.transaccionExitosa = transaccionExitosa;
}
public String getMensajePantalla() {
return mensajePantalla;
}
public void setMensajePantalla(String mensajePantalla) {
this.mensajePantalla = mensajePantalla;
}
}

View File

@ -0,0 +1,135 @@
package com.nuevaeps.webapp.test;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import org.junit.Test;
import com.nuevaeps.webapp.bc.AutorizacionesBC;
import com.nuevaeps.webapp.ral.dto.AutorizacionesDTO;
import com.nuevaeps.webapp.ral.dto.LoginDTO;
import com.nuevaeps.webapp.utils.Configuracion;
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
* Ejecuta los casos de prueba para realizar Solicitar y Consultar Autorizaciones.
*
* @author Dilan Steven Mejia
*
* **/
public class AutorizacionesTest {
ArrayList<AutorizacionesDTO> AutorizacionesDataPool = new ArrayList<AutorizacionesDTO>();
//Ingresa la configuracion del navegador,la url, y la ruta del archivo de la data
public void setup(){
Configuracion.iniciarConfiguracion();
//TODO this.AutorizacionesDataPool =
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
* Ejecuta los casos de prueba para realizar Solicitar y Consultar Autorizaciones.
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void cargarAutorizacionSoporteTamanoMaximo() {
setup();
assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void cargarAutorizacionSoporteYActualizar() {
setup();
assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void cargarAutorizacionSoporteActualizandoDatos() {
setup();
assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void cargarAutorizacionSinSoporte() {
setup();
assertEquals(AutorizacionesBC.solicitarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void consultaAutorizacionesFechaMayorMaxima() {
setup();
assertEquals(AutorizacionesBC.consultarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void consultaAutorizacionesFechaMaxima() {
setup();
assertEquals(AutorizacionesBC.consultarAutorizaciones(null).getMensajePantalla(),"Usuario o clave incorrecto");
}
}

View File

@ -0,0 +1,107 @@
package com.nuevaeps.webapp.test;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import org.junit.Test;
import com.nuevaeps.webapp.bc.LoginBC;
import com.nuevaeps.webapp.ral.dto.LoginDTO;
import com.nuevaeps.webapp.utils.Configuracion;
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
* Ejecuta los casos de prueba del login.
*
* @author Dilan Steven Mejia
* @version 1.0
* @category Test
* **/
public class LoginTest {
ArrayList<LoginDTO> loginDataPool = new ArrayList<LoginDTO>();
//Ingresa la configuracion del navegador,la url, y la ruta del archivo de la data
public void setup(){
Configuracion.iniciarConfiguracion();
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
* Ejecuta el caso de prueba con las credenciales de un usuario incorrectas.
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void realizarLoginUsuarioInvalido() {
setup();
/*Enviar cada objeto que contiene el escenario*/
LoginDTO login = new LoginDTO();
login.setTipoDocumento("0");
login.setTipoUsuario("1");
login.setNumeroDocumento("12345");
login.setContrasena("1234");
assertEquals(LoginBC.realizarLogin(login).getMensajePantalla(),"Usuario o clave incorrecto");
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
* Ejecuta el caso de prueba con un usuario correcto y una contraseña incorrecta.
*
* @author Dilan Steven Mejia
*
* **/
@Test
public void realizarLoginContrasenaInvalida() {
/*Enviar cada objeto que contiene el escenario*/
setup();
LoginDTO login = new LoginDTO();
login.setTipoDocumento("0");
login.setTipoUsuario("1");
login.setNumeroDocumento("21078447");
login.setContrasena("00000");
assertEquals(LoginBC.realizarLogin(login).getMensajePantalla(),"Usuario o clave incorrecto");
}
/**
* <pre>
* Fecha Autor
* 22-12-2021 Dilan Steven Mejia
* </pre>
*
* Ejecuta el caso de prueba con un usuario correcto y contraseña correcta.
*
* @author Dilan Steven Mejia
*
* **/
public void realizarLoginUsuarioValido(LoginDTO login) {
/*Enviar cada objeto que contiene el escenario*/
assertEquals(LoginBC.realizarLogin(login),true);
}
//Se cierran las sesiones del driver.
public static void stopAllDrivers() {
Configuracion.driver.quit();
}
}

View File

@ -0,0 +1,61 @@
package com.nuevaeps.webapp.utils;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
/**
* <pre>
* Fecha Autor
* 17-11-2018 Dilan Steven Mejia
* </pre>
*
* Aqui se inicia la configuración del driver y el js como un singleton
* para que se pueda utilizar solo en la capa de view y no se instancie mas
* de una vez.
*
* @author Dilan Steven Mejia
* @version 1.0
* @category Utils
* **/
public class Configuracion {
public static WebDriver driver;
public static JavascriptExecutor js;
public static void iniciarConfiguracion(){
switch (PATH.NAVEGADOR) {
case CHROME:
// crea una nueva instancia
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--no-sandbox");
driver = new ChromeDriver(chromeOptions);
driver.manage().window().maximize();
driver.get(PATH.URL);
js = (JavascriptExecutor)driver;
break;
case FIREFOX:
// crea una nueva instancia
driver.get(PATH.URL);
driver.manage().window().maximize();
break;
case IE:
// crea una nueva instancia
driver.get(PATH.URL);
break;
default:
// crea una nueva instancia
driver.get(PATH.URL);
break;
}
}
}

View File

@ -0,0 +1,7 @@
package com.nuevaeps.webapp.utils;
public class PATH {
public static final TipoDriver NAVEGADOR = TipoDriver.CHROME;
public static final String URL = "https://nepsqa.nuevaeps.com.co/#/";
public static final String DATA_POOL = "reserva.xls";
}

View File

@ -0,0 +1,113 @@
package com.nuevaeps.webapp.utils;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.FluentWait;
import org.openqa.selenium.support.ui.Wait;
/**
* <pre>
* Fecha Autor
* 17-11-2018 Dilan Steven Mejia
* </pre>
*
* Aqui se tiene metodos reutilizables que ayuda con problemas
* repetitivos en la automatización.
*
* @author Dilan Steven Mejia
* @version 1.0
* @category Utils
* **/
public class SeleniumUtils {
public static WebElement esperarElemento(String locator,String type) {
@SuppressWarnings("deprecation")
Wait<WebDriver> wait = new FluentWait<WebDriver>(Configuracion.driver)
.withTimeout(15,TimeUnit.SECONDS)
.pollingEvery(1, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement elementoPagina = wait.until(new Function<WebDriver, WebElement>()
{
public WebElement apply(WebDriver driver) {
switch (type) {
case "css":
return driver.findElement(By.cssSelector(locator));
case "xpath":
return driver.findElement(By.xpath(locator));
case "id":
return driver.findElement(By.id(locator));
case "class":
return driver.findElement(By.className(locator));
case "name":
return driver.findElement(By.name(locator));
default:
break;
}
return null;
}
});
return elementoPagina;
}
public static WebElement esperarElemento(String locator,String type,int tiempo) {
@SuppressWarnings("deprecation")
Wait<WebDriver> wait = new FluentWait<WebDriver>(Configuracion.driver)
.withTimeout(tiempo,TimeUnit.SECONDS)
.pollingEvery(1, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement elementoPagina = wait.until(new Function<WebDriver, WebElement>()
{
public WebElement apply(WebDriver driver) {
switch (type) {
case "css":
return driver.findElement(By.cssSelector(locator));
case "xpath":
return driver.findElement(By.xpath(locator));
case "id":
return driver.findElement(By.id(locator));
case "class":
return driver.findElement(By.className(locator));
case "name":
return driver.findElement(By.name(locator));
default:
break;
}
return null;
}
});
return elementoPagina;
}
public static void scrollElemento(WebElement element) {
Configuracion.js.executeScript("arguments[0].scrollIntoView();", element);
String scroll = "window.scroll(" + (element.getLocation().x ) + ","
+ (element.getLocation().y -50) + ");";
Configuracion.js.executeScript(scroll, element);
}
//Se crea un metodo de espera implicita para esperar
//a que carguen las animaciones.
public static void esperarAnimacionElemento() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

View File

@ -0,0 +1,8 @@
package com.nuevaeps.webapp.utils;
public enum TipoDriver {
CHROME,
FIREFOX,
IE,
SAFARI;
}

View File

@ -0,0 +1,89 @@
package com.nuevaeps.webapp.view;
import org.openqa.selenium.Alert;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import com.nuevaeps.webapp.ral.dto.AutorizacionesDTO;
import com.nuevaeps.webapp.ral.dto.ResponseDTO;
import com.nuevaeps.webapp.utils.Configuracion;
import com.nuevaeps.webapp.utils.SeleniumUtils;
public class AutorizacionesView {
@FindBy(css=".btn.btn-primary.mt10")
private WebElement btnSolicitar;
@FindBy(id="anexos1")
private WebElement inputSorporte;
@FindBy(id="comentarios")
private WebElement inputObservaciones;
@FindBy(id="btnGrabar")
private WebElement btnGrabar;
@FindBy(id="solictarAutorizaciones")
private WebElement pantallaSolicitarAutorizaciones;
@FindBy(id="radicado")
private WebElement inputRadicado;
@FindBy(id="desde")
private WebElement inputDesde;
@FindBy(id="hasta")
private WebElement inputHasta;
@FindBy(css=".btn.btn-primary.mt10")
private WebElement btnConsultar;
@FindBy(css="#consutarForm > div > div:nth-child(5) > button")
private WebElement btnConsultarAutorizaciones;
public AutorizacionesView() {
SeleniumUtils.esperarElemento(".btn.btn-primary.mt10","css",30);
PageFactory.initElements(Configuracion.driver, this);
}
/**
*
* @param autorizaciones
* @return
*/
public ResponseDTO solicitarAutorizaciones(AutorizacionesDTO autorizaciones) {
btnSolicitar.click();
SeleniumUtils.esperarElemento("solictarAutorizaciones","id",30);
inputRadicado.sendKeys(autorizaciones.getRadicado());
inputObservaciones.sendKeys(autorizaciones.getObservaciones());
btnGrabar.click();
Alert alertDialog = Configuracion.driver.switchTo().alert();
String mensajeRespuesta = alertDialog.getText();
return new ResponseDTO(true, mensajeRespuesta);
}
/**
*
* @param autorizaciones
* @return
*/
public ResponseDTO consultarAutorizaciones(AutorizacionesDTO autorizaciones) {
btnConsultar.click();
SeleniumUtils.esperarElemento("consutarForm","id",30);
inputSorporte.sendKeys(autorizaciones.getSoporte());
inputDesde.sendKeys(autorizaciones.getFechaDesde());
inputHasta.sendKeys(autorizaciones.getFechaHasta());
btnConsultarAutorizaciones.click();
return new ResponseDTO(true, "Autorizacion Consultada");
}
}

View File

@ -0,0 +1,29 @@
package com.nuevaeps.webapp.view;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import com.nuevaeps.webapp.utils.Configuracion;
import com.nuevaeps.webapp.utils.SeleniumUtils;
public class HomeView {
@FindBy(css="[href='#/Authorizations']")
private WebElement btnAutorizaciones;
public HomeView() {
SeleniumUtils.esperarElemento("[href='#/Authorizations']","css",30);
PageFactory.initElements(Configuracion.driver, this);
}
public AutorizacionesView ingresarAutorizaciones() {
btnAutorizaciones.click();
return new AutorizacionesView();
}
}

View File

@ -0,0 +1,74 @@
package com.nuevaeps.webapp.view;
import org.openqa.selenium.Alert;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.Select;
import com.nuevaeps.webapp.ral.dto.LoginDTO;
import com.nuevaeps.webapp.ral.dto.ResponseDTO;
import com.nuevaeps.webapp.utils.Configuracion;
import com.nuevaeps.webapp.utils.SeleniumUtils;
public class LoginView {
@FindBy(id="usertype")
private WebElement selectTipoUsuario;
@FindBy(id="doctypelogin")
private WebElement selectTipoDocumento;
@FindBy(id="User1")
private WebElement inputNumeroDocumento;
@FindBy(id="InputPassword1")
private WebElement inputContrasena;
@FindBy(id="btnLogin")
private WebElement btnIngresar;
public LoginView() {
SeleniumUtils.esperarElemento("usertype","id",30);
PageFactory.initElements(Configuracion.driver, this);
}
public ResponseDTO realizarLogin(LoginDTO loginDTO) {
try {
Select tipoUsuario = new Select(selectTipoUsuario);
tipoUsuario.selectByIndex(Integer.parseInt(loginDTO.getTipoUsuario()));
Select tipoDocumento = new Select(selectTipoUsuario);
tipoDocumento.selectByIndex(Integer.parseInt(loginDTO.getTipoDocumento()));
inputNumeroDocumento.sendKeys(loginDTO.getNumeroDocumento());
inputContrasena.sendKeys(loginDTO.getContrasena());
btnIngresar.click();
String mensajeRespuesta = "Inicio de sesion correcto";
try {
Alert alertDialog = Configuracion.driver.switchTo().alert();
mensajeRespuesta = alertDialog.getText();
} catch (Exception e) {
mensajeRespuesta = "Inicio de sesion correcto";
}
return new ResponseDTO(true,mensajeRespuesta);
} catch (Exception e) {
return new ResponseDTO(false,e.getMessage());
}
}
}

View File

@ -0,0 +1,151 @@
<html>
<head>
<title>TestNG: Default test</title>
<link href="../testng.css" rel="stylesheet" type="text/css" />
<link href="../my-testng.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.log { display: none;}
.stack-trace { display: none;}
</style>
<script type="text/javascript">
<!--
function flip(e) {
current = e.style.display;
if (current == 'block') {
e.style.display = 'none';
return 0;
}
else {
e.style.display = 'block';
return 1;
}
}
function toggleBox(szDivId, elem, msg1, msg2)
{
var res = -1; if (document.getElementById) {
res = flip(document.getElementById(szDivId));
}
else if (document.all) {
// this is the way old msie versions work
res = flip(document.all[szDivId]);
}
if(elem) {
if(res == 0) elem.innerHTML = msg1; else elem.innerHTML = msg2;
}
}
function toggleAllBoxes() {
if (document.getElementsByTagName) {
d = document.getElementsByTagName('div');
for (i = 0; i < d.length; i++) {
if (d[i].className == 'log') {
flip(d[i]);
}
}
}
}
// -->
</script>
</head>
<body>
<h2 align='center'>Default test</h2><table border='1' align="center">
<tr>
<td>Tests passed/Failed/Skipped:</td><td>0/1/0</td>
</tr><tr>
<td>Started on:</td><td>Thu Aug 08 14:29:52 COT 2019</td>
</tr>
<tr><td>Total time:</td><td>37 seconds (37314 ms)</td>
</tr><tr>
<td>Included groups:</td><td></td>
</tr><tr>
<td>Excluded groups:</td><td></td>
</tr>
</table><p/>
<small><i>(Hover the method name to see the test class name)</i></small><p/>
<table width='100%' border='1' class='invocation-failed'>
<tr><td colspan='4' align='center'><b>FAILED TESTS</b></td></tr>
<tr><td><b>Test method</b></td>
<td width="30%"><b>Exception</b></td>
<td width="10%"><b>Time (seconds)</b></td>
<td><b>Instance</b></td>
</tr>
<tr>
<td title='com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago()'><b>seleccionarMetodoPago</b><br>Test class: com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test</td>
<td><div><pre>java.lang.AssertionError: expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:96)
at org.testng.Assert.failNotEquals(Assert.java:776)
at org.testng.Assert.assertEqualsImpl(Assert.java:137)
at org.testng.Assert.assertEquals(Assert.java:118)
at org.testng.Assert.assertEquals(Assert.java:568)
at org.testng.Assert.assertEquals(Assert.java:578)
at com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago(CP_1_Seleccionar_Metodo_Pago_Reserva_Test.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
</pre></div><a href='#' onClick='toggleBox("stack-trace816798571", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
<div class='stack-trace' id='stack-trace816798571'><pre>java.lang.AssertionError: expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:96)
at org.testng.Assert.failNotEquals(Assert.java:776)
at org.testng.Assert.assertEqualsImpl(Assert.java:137)
at org.testng.Assert.assertEquals(Assert.java:118)
at org.testng.Assert.assertEquals(Assert.java:568)
at org.testng.Assert.assertEquals(Assert.java:578)
at com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago(CP_1_Seleccionar_Metodo_Pago_Reserva_Test.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
</pre></div></td>
<td>37</td>
<td>com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test@ae45eb6</td></tr>
</table><p>
</body>
</html>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by org.testng.reporters.JUnitXMLReporter -->
<testsuite hostname="GSQAPC-181" ignored="0" name="Default test" tests="1" failures="1" timestamp="08 ago 2019 19:30:29 GMT" time="37.314" errors="0">
<testcase name="seleccionarMetodoPago" time="37.27" classname="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test">
<failure type="java.lang.AssertionError" message="expected [true] but found [false]">
<![CDATA[java.lang.AssertionError: expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:96)
at org.testng.Assert.failNotEquals(Assert.java:776)
at org.testng.Assert.assertEqualsImpl(Assert.java:137)
at org.testng.Assert.assertEquals(Assert.java:118)
at org.testng.Assert.assertEquals(Assert.java:568)
at org.testng.Assert.assertEquals(Assert.java:578)
at com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago(CP_1_Seleccionar_Metodo_Pago_Reserva_Test.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
]]>
</failure>
</testcase> <!-- seleccionarMetodoPago -->
</testsuite> <!-- Default test -->

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="Failed suite [Default suite]">
<test thread-count="5" name="Default test(failed)">
<classes>
<class name="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test">
<methods>
<include name="seleccionarMetodoPago"/>
<include name="stopAllDrivers"/>
</methods>
</class> <!-- com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test -->
</classes>
</test> <!-- Default test(failed) -->
</suite> <!-- Failed suite [Default suite] -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

BIN
test-output/collapseall.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

View File

@ -0,0 +1,51 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>TestNG Report</title>
<style type="text/css">table {margin-bottom:10px;border-collapse:collapse;empty-cells:show}th,td {border:1px solid #009;padding:.25em .5em}th {vertical-align:bottom}td {vertical-align:top}table a {font-weight:bold}.stripe td {background-color: #E6EBF9}.num {text-align:right}.passedodd td {background-color: #3F3}.passedeven td {background-color: #0A0}.skippedodd td {background-color: #DDD}.skippedeven td {background-color: #CCC}.failedodd td,.attn {background-color: #F33}.failedeven td,.stripe .attn {background-color: #D00}.stacktrace {white-space:pre;font-family:monospace}.totop {font-size:85%;text-align:center;border-bottom:2px solid #000}.invisible {display:none}</style>
</head>
<body>
<table>
<tr><th>Test</th><th># Passed</th><th># Skipped</th><th># Failed</th><th>Time (ms)</th><th>Included Groups</th><th>Excluded Groups</th></tr>
<tr><th colspan="7">Default suite</th></tr>
<tr><td><a href="#t0">Default test</a></td><td class="num">0</td><td class="num">0</td><td class="num attn">1</td><td class="num">37.314</td><td></td><td></td></tr>
</table>
<table id='summary'><thead><tr><th>Class</th><th>Method</th><th>Start</th><th>Time (ms)</th></tr></thead><tbody><tr><th colspan="4">Default suite</th></tr></tbody><tbody id="t0"><tr><th colspan="4">Default test &#8212; failed</th></tr><tr class="failedeven"><td rowspan="1">com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test</td><td><a href="#m0">seleccionarMetodoPago</a></td><td rowspan="1">1565292592641</td><td rowspan="1">37270</td></tr></tbody>
</table>
<h2>Default test</h2><h3 id="m0">com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test#seleccionarMetodoPago</h3><table class="result"><tr><th>Exception</th></tr><tr><td><div class="stacktrace">java.lang.AssertionError: expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:96)
at org.testng.Assert.failNotEquals(Assert.java:776)
at org.testng.Assert.assertEqualsImpl(Assert.java:137)
at org.testng.Assert.assertEquals(Assert.java:118)
at org.testng.Assert.assertEquals(Assert.java:568)
at org.testng.Assert.assertEquals(Assert.java:578)
at com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago(CP_1_Seleccionar_Metodo_Pago_Reserva_Test.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
</div></td></tr></table><p class="totop"><a href="#summary">back to summary</a></p>
</body>
</html>

BIN
test-output/failed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

273
test-output/index.html Normal file
View File

@ -0,0 +1,273 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>TestNG reports</title>
<link type="text/css" href="testng-reports.css" rel="stylesheet" />
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="testng-reports.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type='text/javascript'>
google.load('visualization', '1', {packages:['table']});
google.setOnLoadCallback(drawTable);
var suiteTableInitFunctions = new Array();
var suiteTableData = new Array();
</script>
<!--
<script type="text/javascript" src="jquery-ui/js/jquery-ui-1.8.16.custom.min.js"></script>
-->
</head>
<body>
<div class="top-banner-root">
<span class="top-banner-title-font">Test results</span>
<br/>
<span class="top-banner-font-1">1 suite, 1 failed test</span>
</div> <!-- top-banner-root -->
<div class="navigator-root">
<div class="navigator-suite-header">
<span>All suites</span>
<a href="#" class="collapse-all-link" title="Collapse/expand all the suites">
<img class="collapse-all-icon" src="collapseall.gif">
</img> <!-- collapse-all-icon -->
</a> <!-- collapse-all-link -->
</div> <!-- navigator-suite-header -->
<div class="suite">
<div class="rounded-window">
<div class="suite-header light-rounded-window-top">
<a href="#" class="navigator-link" panel-name="suite-Default_suite">
<span class="suite-name border-failed">Default suite</span>
</a> <!-- navigator-link -->
</div> <!-- suite-header light-rounded-window-top -->
<div class="navigator-suite-content">
<div class="suite-section-title">
<span>Info</span>
</div> <!-- suite-section-title -->
<div class="suite-section-content">
<ul>
<li>
<a href="#" class="navigator-link " panel-name="test-xml-Default_suite">
<span>C:\Users\dmejia\AppData\Local\Temp\testng-eclipse-1005987906\testng-customsuite.xml</span>
</a> <!-- navigator-link -->
</li>
<li>
<a href="#" class="navigator-link " panel-name="testlist-Default_suite">
<span class="test-stats">1 test</span>
</a> <!-- navigator-link -->
</li>
<li>
<a href="#" class="navigator-link " panel-name="group-Default_suite">
<span>0 groups</span>
</a> <!-- navigator-link -->
</li>
<li>
<a href="#" class="navigator-link " panel-name="times-Default_suite">
<span>Times</span>
</a> <!-- navigator-link -->
</li>
<li>
<a href="#" class="navigator-link " panel-name="reporter-Default_suite">
<span>Reporter output</span>
</a> <!-- navigator-link -->
</li>
<li>
<a href="#" class="navigator-link " panel-name="ignored-methods-Default_suite">
<span>Ignored methods</span>
</a> <!-- navigator-link -->
</li>
<li>
<a href="#" class="navigator-link " panel-name="chronological-Default_suite">
<span>Chronological view</span>
</a> <!-- navigator-link -->
</li>
</ul>
</div> <!-- suite-section-content -->
<div class="result-section">
<div class="suite-section-title">
<span>Results</span>
</div> <!-- suite-section-title -->
<div class="suite-section-content">
<ul>
<li>
<span class="method-stats">1 method, 1 failed, </span>
</li>
<li>
<span class="method-list-title failed">Failed methods</span>
<span class="show-or-hide-methods failed">
<a href="#" panel-name="suite-Default_suite" class="hide-methods failed suite-Default_suite"> (hide)</a> <!-- hide-methods failed suite-Default_suite -->
<a href="#" panel-name="suite-Default_suite" class="show-methods failed suite-Default_suite"> (show)</a> <!-- show-methods failed suite-Default_suite -->
</span>
<div class="method-list-content failed suite-Default_suite">
<span>
<img width="3%" src="failed.png"/>
<a href="#" class="method navigator-link" panel-name="suite-Default_suite" title="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test" hash-for-method="seleccionarMetodoPago">seleccionarMetodoPago</a> <!-- method navigator-link -->
</span>
<br/>
</div> <!-- method-list-content failed suite-Default_suite -->
</li>
</ul>
</div> <!-- suite-section-content -->
</div> <!-- result-section -->
</div> <!-- navigator-suite-content -->
</div> <!-- rounded-window -->
</div> <!-- suite -->
</div> <!-- navigator-root -->
<div class="wrapper">
<div class="main-panel-root">
<div panel-name="suite-Default_suite" class="panel Default_suite">
<div class="suite-Default_suite-class-failed">
<div class="main-panel-header rounded-window-top">
<img src="failed.png"/>
<span class="class-name">com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
<div class="method">
<div class="method-content">
<a name="seleccionarMetodoPago">
</a> <!-- seleccionarMetodoPago -->
<span class="method-name">seleccionarMetodoPago</span>
<div class="stack-trace">java.lang.AssertionError: expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:96)
at org.testng.Assert.failNotEquals(Assert.java:776)
at org.testng.Assert.assertEqualsImpl(Assert.java:137)
at org.testng.Assert.assertEquals(Assert.java:118)
at org.testng.Assert.assertEquals(Assert.java:568)
at org.testng.Assert.assertEquals(Assert.java:578)
at com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago(CP_1_Seleccionar_Metodo_Pago_Reserva_Test.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
</div> <!-- stack-trace -->
</div> <!-- method-content -->
</div> <!-- method -->
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- suite-Default_suite-class-failed -->
</div> <!-- panel Default_suite -->
<div panel-name="test-xml-Default_suite" class="panel">
<div class="main-panel-header rounded-window-top">
<span class="header-content">C:\Users\dmejia\AppData\Local\Temp\testng-eclipse-1005987906\testng-customsuite.xml</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE suite SYSTEM &quot;http://testng.org/testng-1.0.dtd&quot;&gt;
&lt;suite guice-stage=&quot;DEVELOPMENT&quot; name=&quot;Default suite&quot;&gt;
&lt;test thread-count=&quot;5&quot; verbose=&quot;2&quot; name=&quot;Default test&quot;&gt;
&lt;classes&gt;
&lt;class name=&quot;com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test&quot;/&gt;
&lt;/classes&gt;
&lt;/test&gt; &lt;!-- Default test --&gt;
&lt;/suite&gt; &lt;!-- Default suite --&gt;
</pre>
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- panel -->
<div panel-name="testlist-Default_suite" class="panel">
<div class="main-panel-header rounded-window-top">
<span class="header-content">Tests for Default suite</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
<ul>
<li>
<span class="test-name">Default test (1 class)</span>
</li>
</ul>
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- panel -->
<div panel-name="group-Default_suite" class="panel">
<div class="main-panel-header rounded-window-top">
<span class="header-content">Groups for Default suite</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- panel -->
<div panel-name="times-Default_suite" class="panel">
<div class="main-panel-header rounded-window-top">
<span class="header-content">Times for Default suite</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
<div class="times-div">
<script type="text/javascript">
suiteTableInitFunctions.push('tableData_Default_suite');
function tableData_Default_suite() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Number');
data.addColumn('string', 'Method');
data.addColumn('string', 'Class');
data.addColumn('number', 'Time (ms)');
data.addRows(1);
data.setCell(0, 0, 0)
data.setCell(0, 1, 'seleccionarMetodoPago')
data.setCell(0, 2, 'com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test')
data.setCell(0, 3, 37270);
window.suiteTableData['Default_suite']= { tableData: data, tableDiv: 'times-div-Default_suite'}
return data;
}
</script>
<span class="suite-total-time">Total running time: 37 seconds</span>
<div id="times-div-Default_suite">
</div> <!-- times-div-Default_suite -->
</div> <!-- times-div -->
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- panel -->
<div panel-name="reporter-Default_suite" class="panel">
<div class="main-panel-header rounded-window-top">
<span class="header-content">Reporter output for Default suite</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- panel -->
<div panel-name="ignored-methods-Default_suite" class="panel">
<div class="main-panel-header rounded-window-top">
<span class="header-content">0 ignored methods</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- panel -->
<div panel-name="chronological-Default_suite" class="panel">
<div class="main-panel-header rounded-window-top">
<span class="header-content">Methods in chronological order</span>
</div> <!-- main-panel-header rounded-window-top -->
<div class="main-panel-content rounded-window-bottom">
<div class="chronological-class">
<div class="chronological-class-name">com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test</div> <!-- chronological-class-name -->
<div class="test-method">
<img src="failed.png">
</img>
<span class="method-name">seleccionarMetodoPago</span>
<span class="method-start">0 ms</span>
</div> <!-- test-method -->
<div class="configuration-suite after">
<span class="method-name">stopAllDrivers</span>
<span class="method-start">37310 ms</span>
</div> <!-- configuration-suite after -->
</div> <!-- main-panel-content rounded-window-bottom -->
</div> <!-- panel -->
</div> <!-- main-panel-root -->
</div> <!-- wrapper -->
</body>
</html>

4
test-output/jquery-1.7.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by org.testng.reporters.JUnitReportReporter -->
<testsuite skipped="0" hostname="GSQAPC-181" name="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test" tests="1" failures="1" timestamp="08 ago 2019 19:30:30 GMT" time="37.270" errors="0">
<testcase name="seleccionarMetodoPago" time="37.270" classname="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test">
<failure type="java.lang.AssertionError" message="expected [true] but found [false]">
<![CDATA[java.lang.AssertionError: expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:96)
at org.testng.Assert.failNotEquals(Assert.java:776)
at org.testng.Assert.assertEqualsImpl(Assert.java:137)
at org.testng.Assert.assertEquals(Assert.java:118)
at org.testng.Assert.assertEquals(Assert.java:568)
at org.testng.Assert.assertEquals(Assert.java:578)
at com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago(CP_1_Seleccionar_Metodo_Pago_Reserva_Test.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
]]>
</failure>
</testcase> <!-- seleccionarMetodoPago -->
</testsuite> <!-- com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

View File

@ -0,0 +1 @@
[SuiteResult context=Default test]

View File

@ -0,0 +1,28 @@
<table border='1'>
<tr>
<th>Class name</th>
<th>Method name</th>
<th>Groups</th>
</tr><tr>
<td>com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test</td>
<td>&nbsp;</td><td>&nbsp;</td></tr>
<tr>
<td align='center' colspan='3'>@Test</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>seleccionarMetodoPago</td>
<td>&nbsp;</td></tr>
<tr>
<td align='center' colspan='3'>@BeforeClass</td>
</tr>
<tr>
<td align='center' colspan='3'>@BeforeMethod</td>
</tr>
<tr>
<td align='center' colspan='3'>@AfterMethod</td>
</tr>
<tr>
<td align='center' colspan='3'>@AfterClass</td>
</tr>
</table>

View File

@ -0,0 +1 @@
<h2>Groups used for this test run</h2>

View File

@ -0,0 +1,6 @@
<html><head><title>Results for Default suite</title></head>
<frameset cols="26%,74%">
<frame src="toc.html" name="navFrame">
<frame src="main.html" name="mainFrame">
</frameset>
</html>

View File

@ -0,0 +1,2 @@
<html><head><title>Results for Default suite</title></head>
<body>Select a result on the left-hand pane.</body></html>

View File

@ -0,0 +1,8 @@
<h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>Default suite</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
<table border="1">
<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
<tr bgcolor="97c064"> <td>19/08/08 14:29:52</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago()[pri:0, instance:com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test@ae45eb6]">seleccionarMetodoPago</td>
<td>main@701141022</td> <td></td> </tr>
<tr bgcolor="97c064"> <td>19/08/08 14:30:29</td> <td>37311</td> <td title="&lt;&lt;CP_1_Seleccionar_Metodo_Pago_Reserva_Test.stopAllDrivers()[pri:0, instance:com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test@ae45eb6]">&lt;&lt;stopAllDrivers</td>
<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@701141022</td> <td></td> </tr>
</table>

View File

@ -0,0 +1,2 @@
<h2>Methods that were not run</h2><table>
</table>

View File

@ -0,0 +1,8 @@
<h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>Default suite</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
<table border="1">
<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
<tr bgcolor="97c064"> <td>19/08/08 14:29:52</td> <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago()[pri:0, instance:com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test@ae45eb6]">seleccionarMetodoPago</td>
<td>main@701141022</td> <td></td> </tr>
<tr bgcolor="97c064"> <td>19/08/08 14:30:29</td> <td>37311</td> <td title="&lt;&lt;CP_1_Seleccionar_Metodo_Pago_Reserva_Test.stopAllDrivers()[pri:0, instance:com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test@ae45eb6]">&lt;&lt;stopAllDrivers</td>
<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> <td>main@701141022</td> <td></td> </tr>
</table>

View File

@ -0,0 +1 @@
<h2>Reporter output</h2><table></table>

View File

@ -0,0 +1 @@
<html><head><title>testng.xml for Default suite</title></head><body><tt>&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt; <br/>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt; <br/>&lt;suite&nbsp;guice-stage="DEVELOPMENT"&nbsp;name="Default&nbsp;suite"&gt; <br/>&nbsp;&nbsp;&lt;test&nbsp;thread-count="5"&nbsp;verbose="2"&nbsp;name="Default&nbsp;test"&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test"/&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt; <br/>&nbsp;&nbsp;&lt;/test&gt;&nbsp;&lt;!--&nbsp;Default&nbsp;test&nbsp;--&gt; <br/>&lt;/suite&gt;&nbsp;&lt;!--&nbsp;Default&nbsp;suite&nbsp;--&gt; <br/></tt></body></html>

View File

@ -0,0 +1,30 @@
<html>
<head>
<title>Results for Default suite</title>
<link href="../testng.css" rel="stylesheet" type="text/css" />
<link href="../my-testng.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h3><p align="center">Results for<br/><em>Default suite</em></p></h3>
<table border='1' width='100%'>
<tr valign='top'>
<td>1 test</td>
<td><a target='mainFrame' href='classes.html'>1 class</a></td>
<td>1 method:<br/>
&nbsp;&nbsp;<a target='mainFrame' href='methods.html'>chronological</a><br/>
&nbsp;&nbsp;<a target='mainFrame' href='methods-alphabetical.html'>alphabetical</a><br/>
&nbsp;&nbsp;<a target='mainFrame' href='methods-not-run.html'>not run (0)</a></td>
</tr>
<tr>
<td><a target='mainFrame' href='groups.html'>0 group</a></td>
<td><a target='mainFrame' href='reporter-output.html'>reporter output</a></td>
<td><a target='mainFrame' href='testng.xml.html'>testng.xml</a></td>
</tr></table>
<table width='100%' class='test-failed'>
<tr><td>
<table style='width: 100%'><tr><td valign='top'>Default test (0/1/0)</td><td valign='top' align='right'>
<a href='Default test.html' target='mainFrame'>Results</a>
</td></tr></table>
</td></tr><p/>
</table>
</body></html>

View File

@ -0,0 +1,9 @@
<html>
<head><title></title><link href="./testng.css" rel="stylesheet" type="text/css" />
<link href="./my-testng.css" rel="stylesheet" type="text/css" />
</head><body>
<h2><p align='center'>Test results</p></h2>
<table border='1' width='100%' class='main-page'><tr><th>Suite</th><th>Passed</th><th>Failed</th><th>Skipped</th><th>testng.xml</th></tr>
<tr align='center' class='invocation-failed'><td><em>Total</em></td><td><em>0</em></td><td><em>1</em></td><td><em>0</em></td><td>&nbsp;</td></tr>
<tr align='center' class='invocation-failed'><td><a href='Default suite/index.html'>Default suite</a></td>
<td>0</td><td>1</td><td>0</td><td><a href='Default suite/testng.xml.html'>Link</a></td></tr></table></body></html>

BIN
test-output/passed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1019 B

BIN
test-output/skipped.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="Failed suite [Default suite]">
<test thread-count="5" name="Default test(failed)">
<classes>
<class name="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test">
<methods>
<include name="seleccionarMetodoPago"/>
<include name="stopAllDrivers"/>
</methods>
</class> <!-- com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test -->
</classes>
</test> <!-- Default test(failed) -->
</suite> <!-- Failed suite [Default suite] -->

View File

@ -0,0 +1,309 @@
body {
margin: 0px 0px 5px 5px;
}
ul {
margin: 0px;
}
li {
list-style-type: none;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.navigator-selected {
background: #ffa500;
}
.wrapper {
position: absolute;
top: 60px;
bottom: 0;
left: 400px;
right: 0;
overflow: auto;
}
.navigator-root {
position: absolute;
top: 60px;
bottom: 0;
left: 0;
width: 400px;
overflow-y: auto;
}
.suite {
margin: 0px 10px 10px 0px;
background-color: #fff8dc;
}
.suite-name {
padding-left: 10px;
font-size: 25px;
font-family: Times;
}
.main-panel-header {
padding: 5px;
background-color: #9FB4D9; //afeeee;
font-family: monospace;
font-size: 18px;
}
.main-panel-content {
padding: 5px;
margin-bottom: 10px;
background-color: #DEE8FC; //d0ffff;
}
.rounded-window {
border-radius: 10px;
border-style: solid;
border-width: 1px;
}
.rounded-window-top {
border-top-right-radius: 10px 10px;
border-top-left-radius: 10px 10px;
border-style: solid;
border-width: 1px;
overflow: auto;
}
.light-rounded-window-top {
border-top-right-radius: 10px 10px;
border-top-left-radius: 10px 10px;
}
.rounded-window-bottom {
border-style: solid;
border-width: 0px 1px 1px 1px;
border-bottom-right-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
overflow: auto;
}
.method-name {
font-size: 12px;
font-family: monospace;
}
.method-content {
border-style: solid;
border-width: 0px 0px 1px 0px;
margin-bottom: 10;
padding-bottom: 5px;
width: 80%;
}
.parameters {
font-size: 14px;
font-family: monospace;
}
.stack-trace {
white-space: pre;
font-family: monospace;
font-size: 12px;
font-weight: bold;
margin-top: 0px;
margin-left: 20px;
}
.testng-xml {
font-family: monospace;
}
.method-list-content {
margin-left: 10px;
}
.navigator-suite-content {
margin-left: 10px;
font: 12px 'Lucida Grande';
}
.suite-section-title {
margin-top: 10px;
width: 80%;
border-style: solid;
border-width: 1px 0px 0px 0px;
font-family: Times;
font-size: 18px;
font-weight: bold;
}
.suite-section-content {
list-style-image: url(bullet_point.png);
}
.top-banner-root {
position: absolute;
top: 0;
height: 45px;
left: 0;
right: 0;
padding: 5px;
margin: 0px 0px 5px 0px;
background-color: #0066ff;
font-family: Times;
color: #fff;
text-align: center;
}
.top-banner-title-font {
font-size: 25px;
}
.test-name {
font-family: 'Lucida Grande';
font-size: 16px;
}
.suite-icon {
padding: 5px;
float: right;
height: 20;
}
.test-group {
font: 20px 'Lucida Grande';
margin: 5px 5px 10px 5px;
border-width: 0px 0px 1px 0px;
border-style: solid;
padding: 5px;
}
.test-group-name {
font-weight: bold;
}
.method-in-group {
font-size: 16px;
margin-left: 80px;
}
table.google-visualization-table-table {
width: 100%;
}
.reporter-method-name {
font-size: 14px;
font-family: monospace;
}
.reporter-method-output-div {
padding: 5px;
margin: 0px 0px 5px 20px;
font-size: 12px;
font-family: monospace;
border-width: 0px 0px 0px 1px;
border-style: solid;
}
.ignored-class-div {
font-size: 14px;
font-family: monospace;
}
.ignored-methods-div {
padding: 5px;
margin: 0px 0px 5px 20px;
font-size: 12px;
font-family: monospace;
border-width: 0px 0px 0px 1px;
border-style: solid;
}
.border-failed {
border-top-left-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
border-style: solid;
border-width: 0px 0px 0px 10px;
border-color: #f00;
}
.border-skipped {
border-top-left-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
border-style: solid;
border-width: 0px 0px 0px 10px;
border-color: #edc600;
}
.border-passed {
border-top-left-radius: 10px 10px;
border-bottom-left-radius: 10px 10px;
border-style: solid;
border-width: 0px 0px 0px 10px;
border-color: #19f52d;
}
.times-div {
text-align: center;
padding: 5px;
}
.suite-total-time {
font: 16px 'Lucida Grande';
}
.configuration-suite {
margin-left: 20px;
}
.configuration-test {
margin-left: 40px;
}
.configuration-class {
margin-left: 60px;
}
.configuration-method {
margin-left: 80px;
}
.test-method {
margin-left: 100px;
}
.chronological-class {
background-color: #0ccff;
border-style: solid;
border-width: 0px 0px 1px 1px;
}
.method-start {
float: right;
}
.chronological-class-name {
padding: 0px 0px 0px 5px;
color: #008;
}
.after, .before, .test-method {
font-family: monospace;
font-size: 14px;
}
.navigator-suite-header {
font-size: 22px;
margin: 0px 10px 5px 0px;
background-color: #deb887;
text-align: center;
}
.collapse-all-icon {
padding: 5px;
float: right;
}

View File

@ -0,0 +1,122 @@
$(document).ready(function() {
$('a.navigator-link').click(function() {
// Extract the panel for this link
var panel = getPanelName($(this));
// Mark this link as currently selected
$('.navigator-link').parent().removeClass('navigator-selected');
$(this).parent().addClass('navigator-selected');
showPanel(panel);
});
installMethodHandlers('failed');
installMethodHandlers('skipped');
installMethodHandlers('passed', true); // hide passed methods by default
$('a.method').click(function() {
showMethod($(this));
return false;
});
// Hide all the panels and display the first one (do this last
// to make sure the click() will invoke the listeners)
$('.panel').hide();
$('.navigator-link').first().click();
// Collapse/expand the suites
$('a.collapse-all-link').click(function() {
var contents = $('.navigator-suite-content');
if (contents.css('display') == 'none') {
contents.show();
} else {
contents.hide();
}
});
});
// The handlers that take care of showing/hiding the methods
function installMethodHandlers(name, hide) {
function getContent(t) {
return $('.method-list-content.' + name + "." + t.attr('panel-name'));
}
function getHideLink(t, name) {
var s = 'a.hide-methods.' + name + "." + t.attr('panel-name');
return $(s);
}
function getShowLink(t, name) {
return $('a.show-methods.' + name + "." + t.attr('panel-name'));
}
function getMethodPanelClassSel(element, name) {
var panelName = getPanelName(element);
var sel = '.' + panelName + "-class-" + name;
return $(sel);
}
$('a.hide-methods.' + name).click(function() {
var w = getContent($(this));
w.hide();
getHideLink($(this), name).hide();
getShowLink($(this), name).show();
getMethodPanelClassSel($(this), name).hide();
});
$('a.show-methods.' + name).click(function() {
var w = getContent($(this));
w.show();
getHideLink($(this), name).show();
getShowLink($(this), name).hide();
showPanel(getPanelName($(this)));
getMethodPanelClassSel($(this), name).show();
});
if (hide) {
$('a.hide-methods.' + name).click();
} else {
$('a.show-methods.' + name).click();
}
}
function getHashForMethod(element) {
return element.attr('hash-for-method');
}
function getPanelName(element) {
return element.attr('panel-name');
}
function showPanel(panelName) {
$('.panel').hide();
var panel = $('.panel[panel-name="' + panelName + '"]');
panel.show();
}
function showMethod(element) {
var hashTag = getHashForMethod(element);
var panelName = getPanelName(element);
showPanel(panelName);
var current = document.location.href;
var base = current.substring(0, current.indexOf('#'))
document.location.href = base + '#' + hashTag;
var newPosition = $(document).scrollTop() - 65;
$(document).scrollTop(newPosition);
}
function drawTable() {
for (var i = 0; i < suiteTableInitFunctions.length; i++) {
window[suiteTableInitFunctions[i]]();
}
for (var k in window.suiteTableData) {
var v = window.suiteTableData[k];
var div = v.tableDiv;
var data = v.tableData
var table = new google.visualization.Table(document.getElementById(div));
table.draw(data, {
showRowNumber : false
});
}
}

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<testng-results skipped="0" failed="1" ignored="0" total="1" passed="0">
<reporter-output>
</reporter-output>
<suite name="Default suite" duration-ms="37314" started-at="2019-08-08T19:29:52Z" finished-at="2019-08-08T19:30:29Z">
<groups>
</groups>
<test name="Default test" duration-ms="37314" started-at="2019-08-08T19:29:52Z" finished-at="2019-08-08T19:30:29Z">
<class name="com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test">
<test-method status="FAIL" signature="seleccionarMetodoPago()[pri:0, instance:com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test@ae45eb6]" name="seleccionarMetodoPago" duration-ms="37270" started-at="2019-08-08T19:29:52Z" finished-at="2019-08-08T19:30:29Z">
<exception class="java.lang.AssertionError">
<message>
<![CDATA[expected [true] but found [false]]]>
</message>
<full-stacktrace>
<![CDATA[java.lang.AssertionError: expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:96)
at org.testng.Assert.failNotEquals(Assert.java:776)
at org.testng.Assert.assertEqualsImpl(Assert.java:137)
at org.testng.Assert.assertEquals(Assert.java:118)
at org.testng.Assert.assertEquals(Assert.java:568)
at org.testng.Assert.assertEquals(Assert.java:578)
at com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test.seleccionarMetodoPago(CP_1_Seleccionar_Metodo_Pago_Reserva_Test.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
]]>
</full-stacktrace>
</exception> <!-- java.lang.AssertionError -->
<reporter-output>
</reporter-output>
</test-method> <!-- seleccionarMetodoPago -->
<test-method status="PASS" signature="stopAllDrivers()[pri:0, instance:com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test@ae45eb6]" name="stopAllDrivers" is-config="true" duration-ms="883" started-at="2019-08-08T19:30:29Z" finished-at="2019-08-08T19:30:30Z">
<reporter-output>
</reporter-output>
</test-method> <!-- stopAllDrivers -->
</class> <!-- com.latam.reserva.test.CP_1_Seleccionar_Metodo_Pago_Reserva_Test -->
</test> <!-- Default test -->
</suite> <!-- Default suite -->
</testng-results>

9
test-output/testng.css Normal file
View File

@ -0,0 +1,9 @@
.invocation-failed, .test-failed { background-color: #DD0000; }
.invocation-percent, .test-percent { background-color: #006600; }
.invocation-passed, .test-passed { background-color: #00AA00; }
.invocation-skipped, .test-skipped { background-color: #CCCC00; }
.main-page {
font-size: x-large;
}