Automatización de probas nunha API: Postman, Newman e Jenkins

Publicado o 2 de agosto de 2016.

Cal é a automatización de probas?

A automatización de probas é usar un programa para controlar a execución das probas e comprobar se os resultados obtidos son o que estabamos esperando. Para explicar como obter a automatización de probas sobre unha API, necesitaranse tres programas: Postman, Newman e Jenkins.

Postman

O primeiro programa que imos usar para obter probas de automatización é carteiro que pode definirse do seguinte xeito:

“O obxectivo principal de Postman está axudando a construír API de xeito rápido que permite a creación áxil de solicitudes e fluxos de traballo a través de coleccións”

ambiente

O primeiro que temos que facer antes de comezar a crear probas é preparar un ambiente para o servidor no que se van executar as probas. Para crear un ambiente imos a xestionar ambientes → engadir. Entón podemos comezar engadindo pares de valores clave correspondentes a variables que imos usar en varias ocasións nas solicitudes.

Como exemplo, escollín a próxima API para explicar como funciona: swapi.co/api, polo que somos Vai gardalo nunha variable á que imos chamar a Host:

Esta API non precisa do usuario autenticarse, pero se é necesario, poderiamos gardar o usuario e o contrasinal no medio ambiente.

Colección

Postman permítelle crear coleccións para almacenar solicitudes, polo que o primeiro que necesitamos é crear unha colección, proporcionando o seu nome (obrigatorio) e unha descrición.

Entón podemos crear unha solicitude, que terá máis ou menos o seguinte aspecto:

Neste exemplo tratamos de obter unha lista de nave espacial, de xeito que na captura de pantalla pode ver:

  1. Nome da solicitude.
  2. Método: Pódese obter, publicar, poñer, eliminar …
  3. API: o enderezo completo sería SWAPI.CO/API/STRIPHS, pero a medida que seguimos swapi.co/api na variable de entorno host, só debemos escribir {{host} } Para usalo.
  4. ambiente.

A segunda parte da creación dunha solicitude é a sección de probas, deseñada para crear afirmas que verifican que a información que devolve O servidor é o que estabamos esperando e tamén pode asignar valores a novas variables de ambiente ou global para usar máis tarde. Por exemplo:

Nesta proba temos unha afirmación que verifica que o código O estado é un 200 e tamén, un ciclo para almacenar nunha variable de información ambiental sobre un determinado buque de todas as devolucións. No lado dereito temos unha serie de pezas de código que axudan ao usuario na creación de probas.

O seguinte paso sería gardar a solicitude premendo o botón “Gardar” e escoller onde gardalo. Temos a opción de gardala directamente na colección:

ou a un cartafol. Almacena-los en cartafoles ten a vantaxe de ser capaz de illar a súa execución a partir do resto de solicitudes.

Execución de probas

Para executar a solicitude creada primeiro terás que gardalo (importante!) e logo envialo premendo en “Enviar”. Dende a resposta, estamos interesados en dúas partes: o corpo, onde vemos que o JSON regresou polo servidor con toda a información e probas, onde se verá o resultado dos afirmentos.

Neste caso, unha das dúas probas falladas porque se especificou nas probas que se esperaban que recibiron máis de 100 buques e se Observamos a información recibida que hai menos.

Unha vez que teñamos todas as solicitudes que queremos, xunto coas túas probas, pódense executar xuntos. Por iso necesitamos abrir o “corredor de colección”:

para executar o Probas Debemos seguir os seguintes pasos:

  1. Escolla entre executar toda a colección ou só un cartafol.
  2. Escolla o ambiente onde almacenamos as variables.
  3. Número de veces que queremos executar as probas.
  4. Iniciar a proba

Unha vez que a execución finaliza, podes ver os resultados do lado dereito da pantalla. Por riba de todo, aparecerá un resumo no que podes ver cantas probas fallaron, cantas non e canto tempo levou a exemplo. Por debaixo da mesma aparecerá, pero para cada solicitude feita.

Newman

Postman ten unha versión de liña de comandos chamado Newman que ten moitas utilidades, pero só necesitamos un: permite a integración das coleccións creadas en carteiro cun sistema de integración continua como Jenkins, que é un paso clave para obter a automatización de proba.

Instalar Newman é moi sinxelo:

Antes de comezar a executar a proba primeiro debemos exportar o ambiente de carteiro.

e colección:

Will manterá un JSON do medio ambiente e outro da colección nun cartafol, quen temos que comezar a partir dun comando consola para gobernar Newman.

Agora, podemos elixir entre executar a colección completa:

ou só un cartafol (engadindo o argumento -F):

A saída devolve case o mesmo que o postman devolveu: a execución de cada solicitude e a Resumo que indica cantas probas fallaron e cantas non.

Jenkins

O último paso para completar a automatización de probas na API elixida é instalar Newman no mesmo servidor no que Jenkins é e instalar algúns complementos:

  • Plugin de analizador de rexistro: para analizar a saída sintácticamente.
    • Configuración:
      • Descrición: Erro de análise.
      • Análise de regras de análise: ficheiro coas regras e co seguinte contido:
  • Complemento de extensión por correo electrónico: para recibir un correo electrónico se falla unha proba.

Unha vez que temos os complementos instalados e configurados creamos un novo emprego (novo traballo) coa seguinte información:

Nome do proxecto: Star Wars (por exemplo)

Build → Engadir build Step → Executar Shell e escribimos o mesmo Ries de comandos Qui Escribimos para gobernar Newman no local:

Accións post-build → Engadir acción post-build → saída da consola (construír rexistro) análise

e en Regras de análise de seleccións seleccionamos “Erro de análise” (descrición)

Accións de post-compilación → Engadir acción post-compate → Notificación de correo electrónico editable

e encher Na seguinte información:

  • Lista de destinatarios do proxecto: enderezos de correo que debe recibir correo electrónico.
  • Configuración avanzada → Engadir Trigger → Script – Despois de construír
    • Script de disparo:

Gardar (gardar) e construír (construír agora ) …

A consola de saída mostrará o mesmo que cando executamos Newman no lugar xunto con algunhas liñas que indican que Jenkins fixo os seus cheques.

Eu executei o cartafol “Starships” por certo, porque sei que unha proba fallará e, así, facer que envíe un correo electrónico. O correo electrónico recibido será:

nel podemos ver que a materia indica que algo non era bo (algo pasou mal …) e no corpo da mensaxe que Jenkins executou correctamente o traballo e unha ligazón á saída de execución para ver os resultados.

Unha vez que estamos A consola de saída do traballo que podemos acceder a “saída da consola analizada” para ver subliñada as liñas nas que as probas que fallaron as probas aparecen.

Obtendo a automatización de probas en calquera API é tan sinxelo como siga os pasos indicados en Esta publicación, só necesitamos configurar tres programas e non teremos que preocuparnos por nada máis. Jenkins cobrarase para enviarnos un correo electrónico se unha proba fallou

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *