Saltar al contenido principal
Página

Tema 1.5 - Proyecto Java-Zalenium

El proyecto que se mostrará para realizar la demostración del funcionamiento de Zalenium, será una automatización hecha con el patron de diseño Screenplay, cuenta con Serenity para la documentación de las pruebas y la estructura del proyecto será la siguiente.

La idea del proyecto es cumplir con la siguiente característica.

    Característica: busqueda simple con google

      @BusquedaGoogle
          Escenario: Utilizar el navegador google para realizar una búsqueda simple
          Dado El usuario ingresa al navegador google
          Cuando ingresa la palabra a buscar
          Entonces verifica la palabra buscada

Para estas operaciones dispondremos del siguiente StepDefinition.

package co.com.qvision.test.stepdefinitions;

import co.com.qvision.test.questions.EncontroPalabra;
import co.com.qvision.test.tasks.*;
import co.com.qvision.test.userinterface.HomeGoogle;
import cucumber.api.java.Before;
import cucumber.api.java.es.Cuando;
import cucumber.api.java.es.Dado;
import cucumber.api.java.es.Entonces;
import net.serenitybdd.screenplay.actors.OnStage;
import net.serenitybdd.screenplay.actors.OnlineCast;
import static net.serenitybdd.screenplay.actors.OnStage.theActorCalled;
import static net.serenitybdd.screenplay.actors.OnStage.theActorInTheSpotlight;
import static net.serenitybdd.screenplay.GivenWhenThen.seeThat;
import static org.hamcrest.Matchers.is;

public class BuscarPalabraGoogleStepDefinitions {
    @Before
    public void set_the_stage() {
        OnStage.setTheStage(new OnlineCast());
    }

    @Dado("^El usuario ingresa al navegador google$")
    public void ana_ingresa_al_navegador_de_google() {
    theActorCalled("Ana").attemptsTo(
            GoogleHomeTask.openUrl(HomeGoogle.UrlGoogle)
    );
    }

    @Cuando("^ingresa la palabra a buscar$")
    public void ana_ingresa_la_palabra_a_buscar() {
        theActorInTheSpotlight().attemptsTo(BuscarPalabraGoogleTasks.buscar());
    }


    @Entonces("^verifica la palabra buscada$")
    public void se_verifica_la_palabra_buscada() {
        theActorInTheSpotlight().should(seeThat(" La busqueda ",EncontroPalabra.verificar(),
	is(true)).because(" %s deberia ser %s "));
    }

}

Y los runners, que son 4, cada uno es ejecutado en uno de los nodos creados por Zalenium y estos son similares al siguiente.

package co.com.qvision.test.runners;

import cucumber.api.CucumberOptions;
import cucumber.api.SnippetType;
import net.serenitybdd.cucumber.CucumberWithSerenity;
import org.junit.runner.RunWith;

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(
        features = "src/test/resources/features/buscar_palabra_google.feature",
        glue = "co.com.qvision.test.stepdefinitions",
        snippets = SnippetType.CAMELCASE

)

public class BuscarPalabraGoogle {
}

Es importante también tener en cuenta la configuración de las propiedades de Serenity.

serenity.project.name = EjecucionParalelo
webdriver.driver = remote
webdriver.remote.url =http://localhost:4444/wd/hub
webdriver.remote.driver = chrome
#webdriver.driver= chrome
#webdriver.chrome.driver= chromedriver.exe
webdriver.wait.for.timeout = 300000
serenity.logging =VERBOSE
serenity.verbose.steps =true
feature.file.language = es
serenity.reports.show.step.details = true
serenity.console.colors = true
serenity.restart.browser.for.each = NEVER
#serenity.batch.count = 2
#serenity.fork.count = 1
#serenity.fork.number =1
#serenity.batch.number = 1
chrome.switches = --incognito --lang=es,--disable-popup-blocking,
--disable-download-notification,--start-maximized,--test-type,
--ignore-certificate-errors, --allow-running-insecure-content,
 --disable-translate, --always-authorize-plugins, --disable-extensions

Una vez descargadas las dependencias necesarias para poder ejecutar el proyecto, y el contenedor de Zalenium, se debe abrir el siguiente panel: http://localhost:4444/grid/admin/live, donde se podrá observar en vivo la ejecución del proyecto.

Finalment ejecutar el proyecto con el siguiente comando.


gradle clean test aggregate --info



La ejecución del programa será algo similar a esto.

En el panel de Dashboard que está en el link http://localhost:4444/dashboard/ podremos observar cada una de las grabaciones que hizo Zalenium para las pruebas ejecutadas en cada navegador de Google Chrome.

Además de lo visto anteriormente, también hemos generado un reporte con Serenity, el cuál se encuentra dentro de la carpeta target.

Última modificación: jueves, 4 de junio de 2020, 17:32