10 sammu, kuidas tõhusalt automatiseerida oma API testimist ~

Enne selle postituse lugemist veenduge, et teil on vähemalt üks järgmistest probleemidest:

  1. Kas teil on probleeme või teete endiselt API käsitsi testimist?
  2. Kas töötate QA / QE / TE / SET-na, kasutades Postman / Insomnia / Paw sageli REST API lõpp-punktide testimiseks, kuna te ei tea täpselt, kuidas oma lõpp-punkte automaatselt testida?
  3. Kas töötate QA / QE / TE / SET abil, kes soovib testi rakendusest eraldada?

Selle postituse peamine eesmärk on lahendada kõik ülalnimetatud probleemid, automatiseerides API testimist ja integreerides selle Jenkins CI-ga. See on lihtsam kui arvate, kui valite selle töö jaoks sobivad tööriistad ja tehnikad.

EELNÕUDED

  1. Node.js: Node.js on JavaScripti käitusaeg, mis on ehitatud Chrome'i V8 JavaScripti mootorile. Node.js kasutab sündmuspõhist mitteblokeerivat I / O-mudelit, mis muudab selle kergeks ja tõhusaks. Node.js-i paketi ökosüsteem npm on suurim avatud lähtekoodiga raamatukogude ökosüsteem maailmas.
  2. Mocha: Mocha on javascripti testimisraamistik, mis muudab asünkroonse testimise lihtsaks.
  3. Chai: Erinevalt Jasmiinist tuleb Mocha täiendamiseks kasutada täiendavat väitekogu. Chai on väitekogu, mis võimaldab teil valida kõige meeldivama väite kasutajaliidese, sealhulgas „väita”, „oodata” ja „peaks”.
  4. SuperTest: SuperTest on SuperAgent, mis on kerge HTTP AJAX päringute teegi laiendus. SuperTest pakub node.js API lõpp-punkti vastuste testimiseks kõrgetasemelisi abstraktsioone, millest on hõlpsasti arusaadavad väited.
  5. Docker: Docker on arendajatele ja süsteemiadministraatoritele avatud platvorm hajutatud rakenduste loomiseks, saatmiseks ja käitamiseks kas sülearvutites, andmekeskuse VM-ides või pilves.
  6. Jenkins CI: Jenkins on Java-keeles kirjutatud avatud lähtekoodiga automatiseerimisserver. Jenkins aitab automatiseerida kogu tarkvara arendamise protsessi, mis pole inimene, vaid nüüdseks tavaliste asjadega nagu pidev integreerimine, kuid annab meeskondadele veelgi volituse rakendada pideva tarnimise tehnilist osa.

Selles õpetuses eeldatakse, et teil juba on:

  1. Teie masinasse on installitud Node.js ja dokk.
  2. Rakendus koos API-ga, mida soovite juba töötavat testida. (Siin on näiterakendus https://github.com/rifkyalikiki/näide-api-app)
  3. Jenkins CI on juba installitud.

ALUSTAME

  1. Looge oma prooviprojekti kaust. Näiteks: näide-api-testimine
  2. Kõigi sõltuvuste lisamiseks looge fail pack.json.

3. Installige kõik sõltuvused, käivitades need käsud.

cd your_test_project_folder
npm install -g mokka
npm installimine

Kaust node_modules tuleks lisada teie testprojekti kausta ja kõik sõltuvused tuleks edukalt installida.

4. Looge testprojekti kausta testkaust.

cd your_test_project_folder
mkdir test

Käivitatavate testfailide leidmiseks tuleb kataloog Mocha jaoks nimetada testiks.

5. Looge oma esimene API-testfail

Võite oma mokkafailidele midagi nimetada. Kui katsetate aga mitut mudelikomplektidega seotud lõpp-punkti, soovitan neil nimetada “omaModel_test.js”. Selle näite jaoks looge testkataloogis lihtsalt kasutaja_test.js fail. Ärge unustage seada ka oma API URL globaalsele muutujale. Teile helistatakse sellele muutujale, kui esitate RESTful taotlusi SuperTesti abil.

6. Käitame teie esimese API testi, käivitades need käsud

cd your_test_project_folder
npm algus
või
cd your_test_project_folder
JUNIT_REPORT_PATH = testi tulemus / tulemus.xml JUNIT_REPORT_STACK = 1 mokk - aeg 25000 - värvid - teataja mokk-jenkins-reporter

Siin on testi tulemus

testi tulemused terminaalisttulemus.xml

7. Looge testpoint jooksja käsu loomiseks entrypoint.sh.

8. Looge dokkripaili fail, mida kasutatakse Jenkins CI-s.

9. Looge oma Jenkins Job Items

Uus Jenkinsi töökohtJenkinsi töökoht (1)Jenkinsi töökoht (2)Jenkinsi töökoht (3)

Esiteks võite testi tulemuse hoiatust eirata, see kaob pärast töö käivitamist.

Pärast seda klõpsake töö loomiseks nuppu Salvesta.

10. Käivitage oma Jenkins Job ja vaadake testi tulemusi.

Käivitage jenkinsi töö, klõpsates esitusnuppuTesti tulemus jenkinsi töölt

Minu testi tulemused erinevad teist, kuna ma juba jooksin seda postitust kirjutades tööd.

Palju õnne, olete oma API-testimise nüüd edukalt automatiseerinud. Järgmisel postitamisel annan ülevaate oma ideest luua oma testimisraamistik.

Head proovimist!

Allikas: http://developmentnow.com/2015/02/05/make-your-node-js-api-bulletproof-how-to-test-with-mocha-chai-and-supertest/