Breaking

Post Top Ad

Your Ad Spot

martes, 24 de septiembre de 2019

Cómo ejecutar scripts de automatización en múltiples entornos.

Cada aplicación necesita tener entornos. Los tres entornos principales son: prueba, estable y producción. El ingeniero de automatización debe poder ejecutar los scripts de automatización en cualquiera de estos entornos. Cuando ejecuta las pruebas, desea que esto se realice en diferentes configuraciones. Y cuando ejecuta las pruebas que solo desea especificar, diga:
mvn clean test-Denv = prueba o prueba gradle clean-Penv = prueba
y las pruebas comienzan en el entorno de prueba.
Para implementar esta funcionalidad se puede mejorar de 3 maneras:
  1. Por medio del lenguaje Java.
Usando la anotación @Parameters en los métodos de prueba. Este enfoque es útil si los parámetros a pasar son tipos primitivos simples como int, String, etc.
BaseWeb de clase pública { 

    / ** 
     * Antes de la prueba. 
     * 
     * @param env este entorno de valor . 
     * /
     @Parameters ({ "env" }) 
    @BeforeMethod (alwaysRun = true ) 
    public void beforeTest (@Optional ( "UAT" ) final String env) { 
        switch (env) { 
            case "UAT" : 
                baseUrl = "Aquí necesita agregar url para UAT " ; 
                romper ; 
            case "PROD" : 
                baseUrl = "Aquí es necesario agregar url para PROD" ;
                ; 
            predeterminado : 
                // No hacer nada
         } 
    } 
}
El @Optional especifica el entorno que se utiliza por defecto.
Para ejecutar correctamente debe usar:
Prueba de limpieza mvn -Denv = PROD
2. Significa la biblioteca TestNG.
Necesita crear un archivo, por ejemplo, su nombre es testng.xml
<? xml version = "1.0" encoding = "UTF-8"?> 
<! DOCTYPE suite SYSTEM " http://testng.org/testng-1.0.dtd "> 
<suite name = "All Test Suite"> 
    <prueba name = "PROD"> 
        <parameter name = "env" value = " Aquí es necesario agregar la URL para PROD " /> 
        <classes> 
            <class name = "tests.beforeTest" /> 
        </classes> 
    </test> 
    <test name = "UAT"> 
        <nombre de parámetro = "env" value = " Aquí es necesario agregar url para UAT " /> 
        <classes> 
            <class name = "tests.beforeTest"/> 
        </classes> 
    </test>
Cree una clase BaseWeb en la que usemos la variable env y la anotación @Parameters :
BaseWeb de clase pública { 

    / ** 
     * Antes de la prueba. 
     * 
     * @param env esto es medio ambiente . 
     * /
     @Parameters ({ "env" }) 
    @BeforeMethod (alwaysRun = true ) 
    public void beforeTest ( final String env) { 
        baseUrl = env; 
    } 

}
Para ejecutar correctamente debe usar:
Prueba de limpieza mvn -Denv = PROD
3. Los fondos de la biblioteca del propietario de aeonbits http://owner.aeonbits.org/
La API OWNER es una biblioteca Java con el objetivo de minimizar el código requerido para manejar la configuración de la aplicación a través de archivos de propiedades Java.
OWNER se envía como un archivo JAR, y también se puede descargar desde el repositorio central de Maven.
<dependencies> 
    <dependency> 
        <groupId> org.aeonbits.owner </groupId> 
        <artifactId> propietario </artifactId> 
        <version> 1.0.8 </version> 
    </dependency> 
</dependencies>
o Gradle:
grupo de compilación: 'org.aeonbits.owner', nombre: 'propietario', versión: '1.0.8'
Esta biblioteca le permite almacenar todos los datos para ejecutar pruebas en diferentes entornos en forma de archivos de propiedades.
El método de operación de esta biblioteca se muestra en la figura:
Tienes pruebas, funcionan con la configuración. Lee los datos de configuración del archivo de configuración y se reemplaza a través de una propiedad del sistema.
Describa la interfaz de WebConfig. Todos los métodos que necesitaremos en el trabajo lo marcamos con la anotación @Key . En Key, especifique las propiedades de nombre que desea leer de un archivo. Y eso es todo. De lo contrario, la biblioteca hará por usted.
/ ** 
* La interfaz Web config. 
* / 
@Config .Sources ({"classpath: $ {env} .properties"}) 
interfaz pública WebConfig extiende Config { / ** 
     * Valor BASE_CONFIG. 
     * / 
    WebConfig BASE_CONFIG = ConfigFactory.create (WebConfig.class, System.getenv (), System.getProperties ()); / ** 
     * Valor web.url. 
     * 
     * @ URL de retorno . url 
     * / 
    @Key ("web.url") 
    Cadena getWebUrl (); }
Además, en el método beforeTest class BasWeb llamamos a nuestro método usando una constante: BASE_CONFIG.getWebUrl ()
BaseWeb de clase pública { 

    / ** 
     * Antes de la prueba. 
     * 
     * @param env esto es medio ambiente . 
     * /
     @Parameters ({ "env" }) 
    @BeforeMethod (alwaysRun = true ) 
    public void beforeTest ( final String env) { 
        baseUrl = BASE_CONFIG.getWebUrl (); 
    } 

}
Creamos un archivo de propiedades que hace referencia a nuestros datos para trabajar con el entorno. En nuestro ejemplo, creamos 2 archivos de propiedades uat.properties y prod.properties
En los archivos de datos especifique la opción web.url
archivo uat.properties. 
web.url = Aquí necesita agregar url para el
 
 archivo UAT prod.properties. 
web.url = Aquí necesita agregar url para PROD
Para ejecutar correctamente debe usar:
mvn clean test -Denv = PROD para Maven o gradle clean test-Penv = PROD para Gradle

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas