Automazione dei test su API: Postman, Newman e Jenkins

Pubblicato il 2 agosto 2016.

Qual è l’automazione dei test?

L’automazione del test è quella di utilizzare un programma per controllare l’esecuzione dei test e verificare se i risultati ottenuti sono ciò che stavamo aspettando. Per spiegare come ottenere l’automazione del test su un’API, saranno necessari tre programmi: Postman, Newman e Jenkins.

Postman

Il primo programma che utilizzeremo per ottenere il test di automazione è il postino che può essere definito come segue:

“L’obiettivo principale del postino sta contribuendo a creare rapidamente API consentendo rapidamente la creazione agile di richieste e flussi di lavoro tramite collezioni”

Ambiente

La prima cosa che dobbiamo fare prima di iniziare a creare test è quello di preparare un ambiente per il server in cui verranno eseguiti i test. Per creare un ambiente andiamo a gestire gli ambienti → Aggiungi. Quindi possiamo iniziare Aggiunta di coppie del valore della chiave corrispondente alle variabili che useremo in più occasioni in richieste.

Ad esempio, ho scelto l’API successiva per spiegare come funziona: Swapi.Co/api, quindi siamo Per salvarlo in una variabile a cui chiameremo host:

Questo API non ha bisogno dell’utente da autenticare, ma se necessario, potremmo salvare l’utente e la password nell’ambiente.

raccolta

Postman ti consente di creare raccolte per memorizzare le richieste, quindi la prima cosa di cui abbiamo bisogno è creare una collezione, fornendo il tuo nome (obbligatorio) e una descrizione.

Allora possiamo creare una richiesta, che avrà di più o meno il seguente aspetto:

In questo esempio cerchiamo di ottenere una lista di veicoli spaziale, in modo che nello screenshot puoi vedere:

  1. nome della richiesta.
  2. Metodo: può essere ottenuto, post, inserire, eliminare …
  3. API: l’indirizzo completo sarebbe Swapi.co/api/starsships, ma mentre manteniamo Swapi.Co/API nella variabile dell’ambiente host Dobbiamo solo scrivere {{host} } Per usarlo.
  4. Ambiente.

La seconda parte della creazione di una richiesta è la sezione Test, progettata per creare asserzioni che verificano che le informazioni che restituiscano Il server è quello che stavamo aspettando e puoi anche assegnare valori a nuove variabili di ambiente o globali da utilizzare in seguito. Ad esempio:

In questo test abbiamo un’assert che verifica che il codice di stato è un 200 e anche un anello da memorizzare in una variabile di informazioni sull’ambiente su una determinata nave di tutti i rendimenti. Sul lato destro disponiamo di una serie di pezzi di codice che aiutano l’utente nella creazione di test.

Il passaggio successivo verrà salvato la richiesta premendo il pulsante “Salva” e scegliere dove salvarlo. Abbiamo la possibilità di salvarlo direttamente nella collezione:

o in a cartella. Conservali nelle cartelle ha il vantaggio di essere in grado di isolare la sua esecuzione dal resto delle richieste.

Esecuzione dei test

Per eseguire la richiesta creata per prima cosa dovrai salvarlo (importante!) E quindi inviarlo facendo clic su “Invia”. Dalla risposta che siamo interessati a due parti: corpo, dove vediamo il JSON restituito dal server con tutte le informazioni e i test, dove verrà visto il risultato delle asserzioni.

In questo caso uno dei 2 test non è riuscito perché è stato specificato nei test che si prevede che ricevessero più di 100 navi e se Osserviamo le informazioni ricevute che c’è meno.

Una volta che tutte le richieste che vogliamo insieme ai tuoi test possono essere eseguite insieme. Per questo è necessario aprire il “collection runner”:

per eseguire il Test Dobbiamo seguire i seguenti passaggi:

  1. Scegliere tra l’esecuzione dell’intera collezione o solo una cartella.
  2. Scegli l’ambiente in cui abbiamo memorizzato le variabili.
  3. Numero di volte che vogliamo eseguire i test.
  4. Avvia test

Una volta terminata l’esecuzione, è possibile visualizzare i risultati sul lato destro dello schermo. Soprattutto, verrà visualizzato un riepilogo in cui è possibile vedere quanti test non sono riusciti, quanti E quanto tempo ci è voluto ad esempio. Sempre lo stesso apparirà, ma per ogni richiesta fatta.

Newman

Postman ha una versione riga di comandi Chiamato Newman che ha molte utilità ma ne abbiamo solo bisogno di una: consente l’integrazione delle raccolte create in Postman con un sistema di integrazione continuo come Jenkins, che è un passo chiave per ottenere l’automazione di test.

Installare Newman è molto facile:

Prima di iniziare a eseguire il test per primo dobbiamo esportare l’ambiente dal postino.

e raccolta:

rimarrà un JSON dell’ambiente e un altro della raccolta in una cartella, che dobbiamo ricominciarci da un comando consola per governare Newman.

Ora, possiamo scegliere tra l’esecuzione della raccolta completa:

o solo una cartella (aggiungendo L’argomento -f):

L’uscita restituisce quasi la stessa del postino restituito: l’esecuzione di ciascuna richiesta e A Riepilogo che indica quanti test non riusciti e quanti n.

Jenkins

L’ultimo passo per completare l’automazione di test sull’API scelto è installare Newman sullo stesso server su cui è Jenkins e installare alcuni plugin:

  • log parser plugin: per analizzare l’output sintatticamente.
    • Impostazioni:
      • Descrizione: Errore Parsing.
      • File delle regole di analisi: file con le regole e con il seguente contenuto:
  • Plugin di estensione e-mail: per ricevere un’e-mail se un test fallisce.

Una volta che abbiamo i plug-in installati e configurati creiamo un nuovo lavoro (nuovo lavoro) con le seguenti informazioni:

Nome del progetto: Star Wars (ad esempio)

Build → Aggiungi Step Build → Esegui shell e scriviamo lo stesso Ries of Commands Qui scriviamo per governare Newman in locale:

Azioni post-build → Aggiungi azione post-build → Azione della console (registro di creazione) Parsing

E in Seleziona regole di analisi selezioniamo “Errore Passing” (Descrizione)

Azioni post-build → Aggiungi azione post-build → Azione e-mail modificabile

e riempimento Nelle seguenti informazioni:

  • Elenco dei destinatari del progetto: Indirizzi postali che dovresti ricevere e-mail.
  • Impostazioni avanzate → Aggiungi trigger → Script – dopo build
    • Script trigger:

salva (salva) e build (Costruisci ora ) …

La console di uscita mostrerà lo stesso di quando eseguiremo Newman in locale insieme ad alcune linee che indicano che Jenkins ha fatto i suoi assegni.

Ho eseguito la cartella “Starships” in corso perché conosco un test fallirà e quindi ti farà inviare un’e-mail. L’e-mail ricevuta sarà:

in esso possiamo vedere che il soggetto indica Quel qualcosa non era buono (qualcosa è andato storto …) e nel corpo del messaggio che Jenkins eseguiva il lavoro correttamente e un collegamento all’uscita dell’esecuzione per vedere i risultati.

Una volta acceso La console di uscita del lavoro in grado di accedere “Output della console analizzato” per vedere sottolineata le linee in cui appaiono i test che sono riusciti i test.

Ottenere l’automazione del test su qualsiasi API è facile come seguire i passaggi indicati in Questo post, abbiamo solo bisogno di configurare tre programmi e non dovremo preoccuparci di nient’altro. Jenkins verrà addebitato per inviarci un’email se un test non riuscito

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *