Skip to content

Entrega Testing API's - Gustavo Uriel Funes#8

Open
Lissen01 wants to merge 2 commits into
Crowdar:masterfrom
Lissen01:new_Data
Open

Entrega Testing API's - Gustavo Uriel Funes#8
Lissen01 wants to merge 2 commits into
Crowdar:masterfrom
Lissen01:new_Data

Conversation

@Lissen01

@Lissen01 Lissen01 commented Oct 5, 2020

Copy link
Copy Markdown

Testing de API REST - Endpoints

Swagger UI

Swagger UI -Report Server

Propósito

El siguiente proyecto tiene el propósito de demostrar y permitir que los desarrolladores de automatización de pruebas prueben una API usando Lippia Automation Framework basado en la libreria Rest Client.

Comando para la ejecución del test:

mvn -P swaggerui "-Dcucumber.tags=@Token" test

Configuración global POM.xml

Obtención del tag principal para correr el test mediante el filtro de cucumber.

 <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <base.api.url>https://reqres.in/api/users</base.api.url>
        <cucumber.stepsDefinitions>--glue ar/steps</cucumber.stepsDefinitions>
		<cucumber.hooks>--glue com/crowdar/bdd/cukes --glue ar/apiExampleProject/hook</cucumber.hooks>
		<cucumber.tags>@Success</cucumber.tags>
		<cucumber.reporters>--plugin pretty</cucumber.reporters>
		<crowdar.cucumber.option>src/test/resources/features ${cucumber.hooks} ${cucumber.stepsDefinitions} --tags 'not @Ignore' --tags ${cucumber.tags} ${cucumber.reporters}</crowdar.cucumber.option>
        <crowdar.projectType>API</crowdar.projectType>

    </properties>

Profiles

Se Procede a la configuración de un perfil:

  • ID del profile
  • Url Base*
  • Tipo de corrida de un hilo o multihilos

*Estas se encuentran en src > main > resources > config.properties

<profile>
            <id>swaggerui</id>
            <properties>
                <base.api.url>http://vps2.crowdaronline.com:8083/</base.api.url>
                <apiExample.runner>testng.xml</apiExample.runner>
            </properties>
        </profile>

Feature File

Los escenarios de prueba se pueden escribir en Gherkin utilizando la metodología BDD; El siguiente es a modo de ejemplo.

Feature: Swagger_UI API
  @Token  #JasonWebToken
  Scenario Outline: Obtengo un jwt del usuario
    When realizo una peticion '<operation>' a '<entity>' al endpoint authenticate - '<request>'
    Then obtengo el codigo de status '<statusCode>'
    And obtengo un token
    Examples:
      | request                      | statusCode | operation | entity |
      | request/rq_user_authenticate | 200        | POST      | USER_A |

Getting started

  • Descargar e Instalar postman:
  1. https://dl.pstmn.io/download/latest/win64
  • Pasos para la configuración del Mismo:
  1. Drive Configuración
  • Obtener Token como se vio anteriormente Imagen 6, del drive, a tráves del siguiente endpoint:

{{baseUrl}}/user/authenticate?username=admin&password=password

  • Una vez logrado setear las variables del entorno global, Imagen 4 y 5
  • Posterior a ello ir a:

Authorization > Type* > Token#
*Colocar el tipo de Token, en este caso Bearer Token
#Colocar {{token}}

  • Una vez configurado hacer peticion get/post dependiendo del endpoint que se quiera testear.
  • Si todo funciona perfectamente, se mostrará en la pantalla la información del endpoint y su status code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant