TestMace. Kiire algus

TestMace. Kiire algus

Tere kĂ”igile. Me hakkame tasapisi vĂ€lja tulema varjust ja jĂ€tkame artiklite seeriat meie tootest. PĂ€rast eelnevas ĂŒlevaateartiklit saime palju tagasisidet (enamasti positiivset), ettepanekuid ja veateateid. TĂ€na nĂ€itame TestMace rakendust töös ja teil on vĂ”imalus hinnata mĂ”ningaid meie rakenduse funktsioone. Kogu teabe saamiseks soovitan tutvuda meie dokumentatsiooniga aadressil http://docs-ru.testmace.com. Nii et lĂ€hme edasi!

Installeerimine

Alustame banaalsusest. Rakendus on saadaval ja seda saab testida kolmel platvormil — Linux, Windows, MacOS. Saate huvipakkuva operatsioonisĂŒsteemi installifaili alla laadida meie veebisaidilt. Linuxi kasutajatele on olemas vĂ”imalus installida snap-pakett. Loodame, et peagi jĂ”uame ka Microsoft Store'i ja App Store'i (aga kas see on vajalik? Mida arvate?).

Katseteema

Katses kasutame jÀrgmist tavalist stsenaariumit:

  • logime sisse: kasutaja — admin, parool — password
  • lisame uue kirje
  • kontrollime, kas kirje on Ă”igesti lisatud

Testime rakendust https://testmace-quick-start.herokuapp.com/. See on tavaline json-server, suurepÀrane rakenduste testimiseks. Oleme just lisanud JSON-serveri kÔigile teedele tokeni autentimise ja loonud login meetodi selle tokeni saamiseks. JÀtkame samm-sammult, et jÀrk-jÀrgult tÀiustama oma projekti.

Projekti loomine ja proovimine luua ĂŒksus ilma autentimiseta

Alustame uue projekti loomisega (File->Uus projekt). Kui kĂ€ivitate rakenduse esmakordselt, avaneb uus projekt automaatselt. Esmalt proovime teha pĂ€ringu uue kirje loomiseks (juhtudel, kui kirje loomine on vĂ”imalik ilma autentimiseta). Valige kontekstimenĂŒĂŒs projektis punkte Lisa sĂ”lm -> RequestStep. SĂ”lme nimeks paneme create-post. Tulemuseks luuakse puusse uus sĂ”lm ja avatakse antud sĂ”lme vahekaart. MÀÀrame jĂ€rgmised pĂ€ringu parameetrid:

  • PĂ€ringu tĂŒĂŒp: POST
  • URL: https://testmace-quick-start.herokuapp.com/posts
  • PĂ€ringu keha: JSON vÀÀrtusega {"title": "Uus testmace kiire alguse postitus"}
    Kui kÔik on Ôigesti tehtud, nÀeb liides vÀlja jÀrgmine:

TestMace. Kiire algus

Siiski, kui proovime pÀringut teostada, naaseb server koodi 401 ja ilma autentimiseta ei ole meil sellel serveril midagi teha. Noh, see on muidugi ootuspÀrane).

Lisame autentimise pÀringu

Nagu juba mainitud, on meil POST lÔpp-punkt /login, mis aktsepteerib pÀringu kehas jÀrgmise kujuga json: {"username": "", "password": ""}, kus username ja password (taas, eelnevast sissejuhatusest) omavad vÀÀrtusi admin ja password vastavalt. Vastuseks tagastab see lÔpp-punkt jÀrgmise kujuga json {"token": ""}. Kasutame seda autentimiseks. Loome RequestStep sÔlme nimega login, milleks vanemaks on Projekt sÔlm. Asetage see sÔlm lohista ja viska funktsiooni abil puu struktuuris kÔrgemale kui sÔlm create-post. Seadistame Àsja loodud pÀringule jÀrgmised parameetrid:

Teeme pÀringu ja saame vastuseks kahesaja koodi koos tokeniga. Nii see vÀlja nÀeb:

TestMace. Kiire algus

Refaktoreerimine: eemaldame domeeni dubleerimise

Praegu ei ole pĂ€ringud seotud ĂŒhtseks stsenaariumiks. Kuid see ei ole ainus puudus. Kui hoolikalt vaadata, vĂ”ib mĂ€rkida, et vĂ€hemalt domeen on dubleeritud mĂ”lemas pĂ€ringus. See ei ole hea. On aeg refaktoreerida see osa tulevases stsenaariumis ning selleks aitavad meid muutujad.

Esialgu tĂ€idavad muutujad sama rolli nagu teistes sarnastes tööriistades ja programmeerimiskeeltes — dubleerimise kĂ”rvaldamine, loetavuse tĂ”stmine jms. TĂ€iendavat teavet muutujate kohta leiate meie dokumentatsioonis. Sel juhul on meil vaja kasutaja muutujaid.

MÀÀratleme muutuja tasemel Project sÔlme domain vÀÀrtusega https://testmace-quick-start.herokuapp.com. Selleks on vajalik

  • Avage selle sĂ”lme vahekaart ja klĂ”psake paremas ĂŒlaservas kalkulaatori ikoonil
  • KlĂ”psake + ADD VARIABLE
  • Sisestage muutuja nimi ja vÀÀrtus
    Meie puhul nÀeb dialoog lisatud muutuja puhul vÀlja jÀrgmiselt:

TestMace. Kiire algus

OK. NĂŒĂŒd pĂ€rimise tĂ”ttu saame seda muutuja kasutada mis tahes tasandi alluvates. login ja create-postSelleks, et tekstivĂ€ljas kasutada muutujat, tuleb kirjutada ${}. NĂ€iteks, sisselogimise URL muutub ${domain}/login, seega create-post sĂ”lme URL nĂ€eb vĂ€lja nagu ${domain}/posts.

Sel viisil oleme DRY pÔhimÔtet jÀrgides stsenaariumi veidi parandanud.

Salvestame tokeni muutuja

Kuna juba rÀÀgime muutujatest, arendame seda teemat veidi rohkem. Praegu saame eduka sisselogimise korral serverilt autentimise tokeni, mida vajame edaspidistes pĂ€ringutes. Salvestame selle tokeni muutujasse. Kuna muutujate vÀÀrtus mÀÀratakse skripti kĂ€itumise ajal, kasutame selleks spetsiaalset mehhanismi — dĂŒnaamilised muutujad.

KĂ”igepealt teeme sisselogimise pĂ€ringu. Vahekaardil Parsed kursoriga tokenile ja kontekstimenĂŒĂŒs (mida saab avada kas hiire parema nupuga vĂ”i vajutades nuppu 
) valige koht, Assign to variable. Avaneb dialoog jĂ€rgmiste vĂ€ljadega:

  • Path — millist osa vastusest vĂ”etakse (meie puhul see on body.token)
  • Praegune vÀÀrtus — milline vÀÀrtus asub teel Path (meie puhul see on tokeni vÀÀrtus)
  • Variable name — muutuja nimi, kuhu Praegune vÀÀrtus salvestatakse. Meie puhul on see token
  • SĂ”lm — millises esivanemas muutuja luuakse Variable name. Valime Project

TÀidetud dialoog nÀeb vÀlja jÀrgmine:

TestMace. Kiire algus

NĂŒĂŒd, iga kord, kui sĂ”lm login dĂŒnaamiline muutuja token uuendatakse uue vÀÀrtusega vastusest. Ja see muutuja salvestatakse Projekt sĂ”lm ja tĂ€nu pĂ€rimisele on see saadaval jĂ€rglastele.

Kuidas pöörduda dĂŒnaamiliste muutujate juurde tuleb kasutada sisseehitatud muutujat $dynamicVar. NĂ€iteks, et pÀÀseda juurde salvestatud tokenile, tuleb kutsuda ${$dynamicVar.token}.

edastame autoriseerimise tokeni pÀringutesse.

Eelmistel etappidel saime autoriseerimise tokeni ja kÔik, mida tuleb teha, on lisada Authorization. pÀisega Bearer kÔigisse autoriseerimist nÔudvatesse pÀringutesse, sealhulgas create-post. Selleks on mitu vÔimalust:

  1. KĂ€sitsi kopeerida token ja lisada autoriseerimise pĂ€is huvipakkuvatesse pĂ€ringutesse. See meetod on toimiv, kuid selle rakendamine piirneb ainult selliste pĂ€ringutega nagu „tegin ja viskasin Ă€ra”. Korduvate stsenaariumite jaoks ei sobi.
  2. Kasuta funktsionaalsust autoriseerimiseks.
  3. Kasutage vaikesÀtetes

Teise meetodi kasutamine nĂ€ib iseenesestmĂ”istetav, kuid antud artikli kontekstis ei tundu selline lĂ€henemine... igav. TĂ”de on see, et autoriseerimise mehhanism on teile vĂ€hemal vĂ”i rohkemal mÀÀral tuttav teistest tööriistadest (kuigi meil on sellised asjad nagu autoriseerimise pĂ€rimine) ja ei tekita Ă€kki kĂŒsimusi.

Teised pealkirjad on muud! Ühte kokku vĂ”ttes on vaikimisi pealkirjad pĂ€ritud HTTP-pealkirjad, mis lisatakse pĂ€ringule vaikimisi, kui neid selgesĂ”naliselt ei keelata. Selle funktsiooni abil saab nĂ€iteks rakendada kohandatud autentimist vĂ”i lihtsalt vĂ€ltida dubleerimist stsenaariumites. Rakendame seda funktsiooni tokeni edastamiseks pealkirjades.

Varem oleme ettevaatlikult salvestanud tokeni dĂŒnaamilisse muutujasse $dynamicVar.token projekti sĂ”lme tasemel. JÀÀb veel teha jĂ€rgmine:

  1. MÀÀrata vaikimisi pealkiri Authorization. vÀÀrtusega Bearer ${$dynamicVar.token} projekti sĂ”lme tasemel. Selleks tuleb projekti sĂ”lme liideses avada vaikimisi pealkirjade dialoog (nupp Headers paremas ĂŒlanurgas) ja lisada vastav pealkiri. TĂ€idetud vÀÀrtustega dialoog nĂ€eb vĂ€lja jĂ€rgmine:
    TestMace. Kiire algus
  2. KÀivita see pealkiri login pÀringust. See on arusaadav: logimise ajal ei ole meil veel tokenit ja selle pÀringuga me seda tÀpselt mÀÀrame. Seega, login pÀringu liideses, sakk Headers valdkonnas Inherited eemaldame Authorization pealkirja mÀrgise.

Sellega on kĂ”ik. NĂŒĂŒd lisatakse autoriseerimise pealkiri kĂ”ikidesse pĂ€ringutesse, mis on Project sĂ”lme all, vĂ€lja arvatud login sĂ”lm. See tĂ€hendab, et meil on nĂŒĂŒd stsenaarium valmis ja peame selle vaid kĂ€ivitama. Stsenaariumi kĂ€ivitamiseks valige menĂŒĂŒpunkt Run Project sĂ”lme kontekstimenĂŒĂŒs.

Kontrollime postituse loomise Ôigsust

Sellel etapil oskab meie stsenaarium siseneda ja, kasutades autoriseerimisetokenit, postitust luua. Siiski peame veenduma, et Àsja loodud postitus on Ôige nimega. Nii et pÔhimÔtteliselt on jÀÀnud teha jÀrgmist:

  • Saada pĂ€ring postituse saamiseks id jĂ€rgi,
  • Kontrollida, et serverist saadud nimi vastab postituse loomisel edastatud nimele.

Vaatame esimest sammu. Kuna id vÀÀrtus mÀÀratakse skripti tĂ€itmise ajal, on vajalik luua dĂŒnaamiline muutuja (nimetame selle postId), mis asub sĂ”lmedes create-post Project sĂ”lme tasemel. Kuidas seda teha, teame juba, piisab, kui vaadata jaotist Salvestame tokeni muutuja. JÀÀnud on vaid luua pĂ€ring postituse saamiseks antud id jĂ€rgi. Selleks loome RequestStep get-post jĂ€rgnevate parameetritega:

  • PĂ€ringu tĂŒĂŒp: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

Teiseks sammuks peame tutvuma Kinnitus sÔlmiga. Assertion sÔlm on sÔlm, mis vÔimaldab kirjutada kontrollmoodulite teatud pÀringutele. Igal assertion sÔlmel vÔib olla mitu vÀidet (kontrolli). Lisateavet kÔigi assertion-ite liikide kohta leiate meie dokumentatsioonis. Me kasutame VÔrdle assertionit operaatoriga vÔrdne. Assertion-ite loomiseks on mitu viisi:

  1. Pikk. KĂ€skige kontekstimenĂŒĂŒst RequestStep sĂ”lmes luua Assertion sĂ”lm. Loomisel lisage soovitud assertion ja tĂ€itke vĂ€ljad.
  2. Kiire. Looge Assertion sĂ”lm koos assertion-iga RequestStep sĂ”lme vastusest kontekstimenĂŒĂŒ abil.

Kasutame teist meetodit. Nii see meie juhul vÀlja nÀeb.

TestMace. Kiire algus

Neile, kes ei saanud aru, toimub siin jÀrgmist:

  1. Tehke pÀring sÔlmes get-post
  2. Vahekaardil Parsed vastuse kontekstimenĂŒĂŒs ja valige Loo assertion -> VĂ”rdle -> VĂ”rdne

Palju Ă”nne, me lĂ”ime esimese testi! Lihtne, eks? NĂŒĂŒd saate skripti tĂ€ielikult kĂ€ivitada ja nautida tulemust. JÀÀnud on vaid veidi refaktoreerida ja viia see aadress eraldi muutujasse. Kuid jĂ€tame selle teile kodutööks)

KokkuvÔte

Selles juhendis oleme loonud tĂ€ieliku stsenaariumi ja samal ajal teinud ĂŒlevaate mĂ”nesid meie toote funktsioonidest. Loomulikult ei kasutanud me kaugeltki kogu funktsionaalsust ning jĂ€rgmistes artiklites teeme TestMace'i vĂ”imaluste pĂ”hjaliku ĂŒlevaate. JĂ€lgige uuendusi!

P.S. Neile, kellel on laisk kÔike samme korrata, oleme lahkelt kallanud repo artiklis kajastatud projekti. Selle avamiseks saab kasutada File -> Ava projekt ja valida kaust Project.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster