Postman uruchamianie testów na Azure DevOps

Postman

Loading

Postman uruchamianie testów na Azure DevOps to wpis pokazujący w jaki sposób w kilku krótkich krokach dokonać integracji i uruchamiać testy Postmana na Azure DevOps. Uruchamiaj automatycznie swoje testy API na Azure i monitorują aplikację. Dodatkowo twórz raporty, by móc w przystępny sposób prezentować je zespołowi.

Wstęp

Założeniem wpisu, jest wskazanie w jaki sposób, szybko i skutecznie umożliwić uruchamianie testów Postmana na Azure . Przed wpisem, konieczne jest wykonanie kilka kroków.
a) stworzenie testowego repozytorium na Azure.
b) upewnienie się, że mamy działającego runnera na Azure do uruchamiania testów.

Kwestie jak instalacja Postmana, weryfikacja workflow – Azure – lokalna maszyna, pozostawiam jako oczywistość.

Pierwszy krok

Stwórz lokalnie swój test poprzez utworzenie kolekcji. W przypadku gdy nie masz żadnego API z którego możesz skorzystać – spróbuj swoich sił z https://reqres.in/ – gdzie możemy uczyć się pracy z testami API.

Po stworzeniu pierwszego requestu, dobrze dodać jakąś asercję (zakładka Tests), co później się przyda. Przykładem najprostszej może być status odpowiedzi czy czas odpowiedzi danego requesta.

Postman uruchamianie testów na Gitlabie - snippet

Więcej przykładów różnych rodzajów testów znajdziesz w dedykowanym wpisie o snippetach. Gdy mamy pewność, że test działa przejdziemy do drugiego etapu.

Drugi krok

<p>W drugiej kolejności mając działający test lokalnie, należy po pierwsze wyeksportować naszą kolekcję do pliku JSON i umieścić w katalogu który później umieścimy na Azure .

Postman uruchamianie testów na Gitlabie - export collection

Trzeci krok

Konieczne jest stworzenie pliku azure-pupelines.yml aby móc uruchamiać testy na Azure.

trigger:
- main

schedules:
- cron: "0 6 * * *"
displayName: "Every day run at 6:00 UTC"
branches:
  include:
  - master
  - main
  always: true

pool:
vmImage: 'ubuntu-latest'
  name: your-runner-name

variables:
collectionFile: 'test.json'
  environmentFile: 'env.json'

steps:
- task: NodeTool@0
inputs:
  versionSpec: '18.x'
  displayName: 'Install Node.js'

- script: |
  echo "=== NPM version ==="
    npm --version

  echo "=== Install Newman ==="
  npm install -g newman
    newman --version

  echo "=== Install htmlextra reporter ==="
  npm install -g newman-reporter-htmlextra

  echo "=== Install additional dependencies ==="
  npm install har-validator@latest
  npm install uuid@latest
    npm install @faker-js/faker@latest

  echo "=== Verify Newman version ==="
  newman --version

  echo "=== Run NPM audit ==="
    npm audit

  displayName: 'Prepare Newman and dependencies'

- script: |

    mkdir -p $(System.DefaultWorkingDirectory)/newman

  timestamp=$(date +"%Y-%m-%d_%H-%M-%S")
    reportFile="$(System.DefaultWorkingDirectory)/newman/Postman_Report_${timestamp}.html"

    echo "Generated report file: $reportFile"

  newman run "$(System.DefaultWorkingDirectory)/$(collectionFile)" \
    -e "$(System.DefaultWorkingDirectory)/$(environmentFile)" \
    -r htmlextra,cli \
      --reporter-htmlextra-export "$reportFile"

  displayName: 'Run Newman collection with HTML report'

- publish: $(System.DefaultWorkingDirectory)/newman
artifact: newman-reports
  displayName: 'Publish Newman HTML report'
 

Stworzenie takiego pliku, pozwoli Wam uruchomić test na poziomie Azure. W zakresie uruchomienia na Azure trzeba zwrócić uwagę na kilka obszarów.

  • image – wskazujemy jaki obraz dockerowy chcemy wykorzystać do naszego testu.
  • b) script:
    newman –version – sprawdzamy tylko wersję Newmana – może przydać się gdy coś będzie trzeba zdebugować;
    npm install -g newman-reporter-htmlextra – instalacja newmana i reportera do tworzenia raportów.
    newman run test.json -r htmlextra,cli – uruchomienie naszego testu o nazwie test.json.
    -r htmlextra,cli – stworzenie raportu.
  • artifact – dodanie naszych raportów jako artefaktów abyśmy mieli możliwość ich pobrania. 

Postman uruchamianie testów na Gitlabie - newman report

Pobranie raportu znajduje się w informacji na temat Waszego runa w kolumnie Related => 1 published.

Skrypt ten pozwoli Wam uruchomić Wasze testy o nazwie test.json i środowisku o nazwie env.json. Dodatkowo możecie sobie wygenerować w/wym. raporty. Ponadto z racji bezpieczeństwa zainstalowaliśmy elementy w postaci:

    npm install har-validator@latest
    npm install uuid@latest
oraz
    npm install @faker-js/faker@latest

Gdyż systemy oznaczały że poprzednie wersje (defaultowe dla Postman Newmana) miały pewne podatności. 

Dodaliśmy też timestampa do nazwy raportu – łatwiej będzie to wykorzystać jak pobierzemy raporty:

  timestamp=$(date +”%Y-%m-%d_%H-%M-%S”)

Co daje nam np.:  Postman_Report_2025-07-16_06-00-49.html

Podsumowanie

Postman uruchamianie testów na Azure DevOps to kolejny wpis nawiązujący do Postmana. Postman z racji swojej popularności, będzie miał serię większej ilości artykułów, które będą sukcesywnie powstawać.. W dziale inne narzędzia opisujemy wiele innych przydatnych narzędzi, które być może pomogą Wam w bieżącej pracy.