Hoe postman scripts uit te voeren via gitlab ci

25 feb. 2024 | by Ralph Van Der Horst

Hoe Postman scripts uit te voeren via Gitlab Ci

Inleiding

Newman is een command-line collectie runner voor Postman, waarmee je je Postman-collecties direct vanaf de command-line kunt uitvoeren en testen. Het integreert naadloos met CI/CD-pipelines, waardoor automatisch testen van API’s mogelijk is. In deze blogpost leiden we je door het opzetten van een testgeval in Postman, het uitvoeren ervan met Newman, en het integreren ervan in een CI/CD-pipeline.

1. Een Testgeval Maken in Postman

Stap 1: Open Postman en maak een nieuwe collectie.

Stap 2: Voeg een nieuw verzoek toe aan de collectie en stel het API-verzoek in dat je wilt testen.

Stap 3: Onder het tabblad “Tests”, schrijf tests voor je API-verzoek met behulp van JavaScript. Hier is een voorbeeld van het testen van mijn bonuscalculator:```javascript pm.test(“Status code is 200”, function () { pm.response.to.have.status(200); });


### 2. Het exporteren van de Postman Collectie

* Nadat u uw verzoek en tests heeft opgeslagen, klik op de "..." naast de collectienaam.
* Selecteer "Exporteren" en kies het collectieformaat (bijv., v2.1).
* Sla het JSON-bestand op in uw projectmap.


### 3. Newman instellen in uw project

### Stap 1: Voer in uw projectmap de volgende commando's uit om Newman en de HTML-rapporteur te installeren:```javascript
npm install newman
npm install newman-reporter-htmlextra --legacy-peer-deps
```### Stap 2: Maak een JavaScript-bestand (bijvoorbeeld, runnewmanci.js) om Newman te configureren en uit te voeren:```javascript
const newman = require('newman');

newman.run({
collection: require('./bonus_postman_collection.json'),
debug: true,
reporters: ['htmlextra','cli'],
reporter: {
    'htmlextra': {
        export: './report.html', // export html-extra report
    },
},
}, function (err) {
    if (err) { throw err; }
    console.log('collection run complete!');
});
```### 4. Integratie van Newman in CI/CD



### 5. Hoe Pipelines Werken

1. Code Pushen: Ontwikkelaars pushen code naar de repository.
1. Pipeline Uitvoeren: GitLab detecteert automatisch het .gitlab-ci.yml bestand en voert de pipeline uit.
1. Uitvoering van Jobs: Jobs worden uitgevoerd in fasen, met jobs in dezelfde fase die parallel lopen en fasen die sequentieel lopen.
1. Review: Ontwikkelaars beoordelen het resultaat van de pipeline. Als alle jobs succesvol zijn, kunnen de wijzigingen worden samengevoegd in de hoofdtak.


## Artefacten



Artefacten zijn de bestanden die worden gemaakt wanneer een job in een pipeline wordt uitgevoerd. Deze kunnen worden gebruikt om binaire bestanden, testresultaten of enige andere informatie op te slaan die op een later tijdstip kan worden opgehaald.



* Stel in uw CI/CD configuratiebestand een job in om het Newman testscript uit te voeren. Hieronder is een voorbeeldconfiguratie voor GitLab CI/CD:```javascript
image: node:18

stages:
 - test

before_script:
 - npm install newman
 - npm install newman-reporter-htmlextra --legacy-peer-deps

test_newman:
 stage: test
 script:
   - node runnewmanci.js
 artifacts:
   paths:
     - report.html
```Vertaal de volgende tekst naar het Nederlands:

na de synchronisatie in vs code zou het in de repo moeten staan

wanneer de gitlabrun wordt uitgevoerd zou je resultaten moeten zien

Wanneer de taak wordt uitgevoerd, zou je een artefact moeten zien

hey de test ging fout, laten we het probleem analyseren:

newman dashboard zal definiƫren hoeveel testcases fout gingen

In postman hebben we de functionele testcases gecorrigeerd en ook de collectievariabele die niet correct was ingesteld en dus een 0 resultaat 0 * 0 gaf

de variabelen gecorrigeerd

Nu slaagt de taak

de bonus calc command line output is gecorrigeerd

en ook het html-rapport

Ik hoopte dat het je heeft geholpen hoe gemakkelijk het eigenlijk is om een postman-script via newman in CI te zetten, gelukkig testen!



gitlab-project is hier te vinden

https://gitlab.com/learnautomatedtesting/postmanbonuscalculator.

De api-sleutel in deze collectie is beperkt tot maximaal 1000 verzoeken per dag. Dit is de api-sleutel: 2yCN3fpzSl2rptL24RLlaEF1XrIxAbz1WPkoYOQh op dit moment (x-api) en kan alleen worden gebruikt voor 400 verzoeken per dag



## Conclusie

Door Newman te integreren met je CI/CD-pijplijn, kun je het testen van je Postman-collecties automatiseren en ervoor zorgen dat je API's voldoen aan de gedefinieerde vereisten voor implementatie. Dit verbetert de betrouwbaarheid en stabiliteit van je applicaties, waardoor Newman een waardevol hulpmiddel is in je ontwikkelingsworkflow.



door Ralph Van Der Horst

by Ralph Van Der Horst

arrow right
back to blog

share this article

Relevant articles

API/XPATH/CSS cheatsheet in Google Sheets

2 apr. 2024

API/XPATH/CSS cheatsheet in Google Sheets

Waarom ik Postman-ReadyAPI verkies boven RestAssured voor API-testen

26 feb. 2024

Waarom ik Postman-ReadyAPI verkies boven RestAssured voor API-testen

Winst maken met mijn hobby door testautomation te gebruiken voor de handel

27 mrt. 2024

Winst maken met mijn hobby door testautomation te gebruiken voor de handel