TestMace. Hasiera azkarra

TestMace. Hasiera azkarra

Kaixo guztioi. Poliki-poliki itzaletatik ateratzen ari gara eta gure produktuari buruzko artikulu sortarekin jarraitzen ari gara. Ondoren aurreko berrikuspen artikulua, iritzi asko jaso ditugu (gehienetan positiboak), iradokizunak eta akatsen txostenak. Gaur erakutsiko dugu TestMace ekintzan eta gure aplikazioaren ezaugarri batzuk baloratu ahal izango dituzu. Murgiltze osoagoa lortzeko, gure dokumentazioa helbidean jotzea gomendatzen dizut http://docs-ru.testmace.com. Beraz, goazen!

Instalazio-

Has gaitezen banalitatetik. Aplikazioa eskuragarri dago eta hiru plataformetan probatu da: Linux, Windows, MacOS. Interesatzen zaizun sistema eragilearen instalatzailea deskargatu dezakezu gure webgunea. Linux erabiltzaileentzat posible da instalatzea snap paketea. Benetan espero dugu Microsoft Store eta App Store laster bertaraino iristea (Beharrezkoa al da? Zer uste duzu?).

Eszenatoki esperimentala

Ondoko eszenatoki estandar hau aukeratu dugu proba-gai gisa:

  • Saioa: erabiltzailea - admin, pasahitza - pasahitza
  • gehitu sarrera berri bat
  • Egiazta dezagun erregistroa behar bezala gehitu dela

Proba egingo dugu https://testmace-quick-start.herokuapp.com/. Hau normala da json-zerbitzaria, ezin hobea horrelako aplikazioak probatzeko. Token bidezko baimena gehitu berri dugu json-zerbitzariaren ibilbide guztietan eta saioa hasteko metodo bat sortu dugu token hau jasotzeko. Progresiboki mugituko gara, pixkanaka gure proiektua hobetuz.

Proiektu bat sortzea eta baimenik gabe entitate bat sortzen saiatzea

Lehenik eta behin, sortu dezagun proiektu berri bat (File->Proiektu berria). Aplikazioa lehen aldiz abiarazten ari bazara, proiektu berri bat irekiko da automatikoki. Lehenik eta behin, saia gaitezen erregistro berri bat sortzeko eskaera egiten (erregistroak sortzea baimenik gabe badago). Hautatu elementuak Proiektu-nodoaren laster-menuan Gehitu nodoa -> Eskatu Urratsera. Ezarri nodoaren izena sortu-post. Ondorioz, nodo berri bat sortuko da zuhaitzean eta nodo honen fitxa irekiko da. Ezar ditzagun eskaera-parametro hauek:

TestMace. Hasiera azkarra

Hala ere, eskaera betetzen saiatzen bagara, zerbitzariak 401 kodea itzuliko du eta baimenik gabe ez dugu zerbitzari honetan ezer lortuko. Tira, oro har, espero bezala).

Baimen eskaera bat gehitzea

Esan bezala, POST amaierako puntua dugu /login, json formako eskaera gorputz gisa hartzen duena: {"username": "<username>", "password": "<password>"}Non username ΠΈ password (berriz ere, goiko sarrerako paragrafotik) esanahiak dituzte admin ΠΈ password hurrenez hurren. Erantzun gisa, amaiera puntu honek json bezalakoa itzultzen du {"token": "<token>"}. Baimenerako erabiliko dugu. Sor dezagun Eskatu Urratsera izena duen nodoa saioa hasi, arbaso gisa jokatuko du Proiektua nodoa Arrastatu eta jaregin erabiliz, mugitu zuhaitzeko nodo jakin bat nodoa baino gorago sortu-post. Ezar ditzagun parametro hauek sortu berri den eskaerari:

Exekutatu dezagun eskaera eta jaso dezagun erantzunean tokenarekin berrehungarren kodea. Honelako zerbait:

TestMace. Hasiera azkarra

Refactoring: domeinuen bikoizketa kentzea

Orain arte eskaerak ez daude script bakar batean lotuta. Baina hau ez da eragozpen bakarra. Arretaz begiratuz gero, ohartuko zara bi eskaeretan gutxienez domeinua bikoiztuta dagoela. Ez ona. Etorkizuneko gidoiaren zati hau birfaktorizatzeko garaia da, eta aldagaiek lagunduko digute horretan.

Lehen hurbilketa batean, aldagaiek antzeko beste tresna eta programazio lengoai batzuetan duten funtzio bera betetzen dute - bikoizketak ezabatuz, irakurgarritasuna areagotuz, etab. Aldagaiei buruz gehiago irakur dezakezu hemen gure dokumentazioa. Kasu honetan, erabiltzaile-aldagaiak beharko ditugu.

Definitu dezagun aldagai bat Proiektuaren nodo mailan domain esanahiarekin https://testmace-quick-start.herokuapp.com. Horretarako beharrezkoa da

  • Ireki nodo honekin fitxa eta egin klik goiko eskuineko kalkulagailuaren ikonoan
  • Egin klik + GEHITU ALDAGAIA
  • Sartu aldagaiaren izena eta balioa
    Gure kasuan, gehitutako aldagaiaren elkarrizketa-koadroa honela izango da:

TestMace. Hasiera azkarra

ADOS. Orain, herentzia dela eta, aldagai hau edozein habia-mailako ondorengoetan erabil dezakegu. Gure kasuan hauek nodoak dira saioa hasi ΠΈ sortu-post. Testu-eremu batean aldagai bat erabiltzeko, idatzi behar duzu ${<variable_name>}. Adibidez, saio-hasiera-url-a bihurtzen da ${domain}/login, hurrenez hurren sortu-post nodoaren url itxura izango du ${domain}/posts.

Horrela, DRY printzipioak gidatuta, eszenatokia zertxobait hobetu dugu.

Gorde tokena aldagai batean

Aldagaiez ari garenez, zabal dezagun gai hau pixka bat. Momentuz, saioa arrakastatsua izanez gero, zerbitzaritik baimen-token bat jasotzen dugu, ondorengo eskaeretan beharko duguna. Gorde dezagun token hau aldagai batean. Zeren aldagaiaren balioa script exekuzioan zehaztuko da, horretarako mekanismo berezi bat erabiltzen dugu - aldagai dinamikoak.

Lehenik eta behin, egin dezagun saioa hasteko eskaera. Fitxan Analizatua erantzun, mugitu kurtsorea tokenaren gainean eta laster-menuan (saguaren eskuineko botoiarekin edo botoian klik eginez ...) hautatu elementua. Esleitu aldagaiari. Elkarrizketa-koadro bat agertuko da eremu hauekin:

  • Path β€” erantzunaren zein zati hartzen den (gure kasuan da body.token)
  • Egungo balioa β€” Zein balio dagoen Bidean (gure kasuan hau da token balioa)
  • Aldagaiaren izena β€” aldagaiaren izena non Egungo balioa gordeko da. Gure kasuan hala izango da token
  • Nodoa β€” arbasoetatik zeinetan sortuko den aldagaia Aldagaiaren izena. Hautatu dezagun Proiektua

Osatutako elkarrizketa-koadroa honelakoa da:

TestMace. Hasiera azkarra

Orain nodoa exekutatzen den bakoitzean saioa hasi aldagai dinamikoa token erantzunaren balio berriarekin eguneratuko da. Eta aldagai hau bertan gordeko da Proiektua nodoa eta, herentziari esker, ondorengoen eskura egongo da.

Aldagai dinamikoetara sartzeko, erabili behar duzu aldagai barneratua $dynamicVar. Adibidez, gordetako token batera sartzeko, deitu behar duzu ${$dynamicVar.token}.

Baimen-tokena eskaeretara pasatzen dugu

Aurreko urratsetan baimen-tokena jaso genuen eta goiburu bat gehitzea besterik ez dugu egin behar Authorization esanahiarekin Bearer <tokenValue> baimena eskatzen duten eskaera guztietan, besteak beste sortu-post. Horretarako hainbat modu daude:

  1. Kopiatu eskuz tokena eta gehitu baimen-goiburua interesgarri diren eskaerei. Metodoak funtzionatzen du, baina bere erabilera "egin eta bota" motako eskaeretara soilik mugatzen da. Ez da egokia scriptak behin eta berriz exekutatzeko
  2. Erabili funtzionaltasuna baimena.
  3. erabiltzea goiburu lehenetsiak

Bigarren metodoa erabiltzea begi-bistakoa dirudi, baina artikulu honen testuinguruan, ikuspegi hau... ez da interesgarri. Beno, egia esan: baimen-mekanismoa gehi minus ezaguna zaizu beste tresnetatik (nahiz eta horrelako gauzak baditugu baimenaren herentzia) eta nekez sortuko ditu galderak.

Beste gauza bat goiburu lehenetsiak dira! Laburbilduz, goiburu lehenetsiak heredatutako HTTP goiburuak dira, eta eskaerari lehenespenez gehitzen zaizkio esplizituki desgaitu ezean. Funtzionalitate hau erabiliz, adibidez, baimen pertsonalizatua ezar dezakezu edo, besterik gabe, scriptetan bikoizketa ken dezakezu. Erabil dezagun funtzio hau goiburuetan token bat pasatzeko.

Aurretik, zuhurtziaz gorde genuen tokena aldagai dinamiko batean $dynamicVar.token Proiektuaren nodo mailan. Honako hau egitea besterik ez da geratzen:

  1. Izenburu lehenetsia zehaztu Authorization esanahiarekin Bearer ${$dynamicVar.token} Proiektuaren nodo mailan. Horretarako, nodoaren Proiektuaren interfazean elkarrizketa-koadro bat ireki behar duzu goiburu lehenetsiekin (botoia Headers goiko eskuineko izkinan) eta gehitu dagokion izenburua. Betetako balioekin elkarrizketa-koadroa honela izango da:
    TestMace. Hasiera azkarra
  2. Desgaitu goiburu hau saioa hasteko eskaeratik. Hau ulergarria da: saioa hasteko unean, oraindik ez dugu tokenrik eta eskaera honekin instalatuko dugu. Hori dela eta, fitxako eskaeraren saioa hasteko interfazean Headers eremuan heredatutako desmarkatu Baimenaren goiburua.

Hori da dena. Orain baimenaren goiburua gehituko da Proiektuaren nodoaren seme-alaba diren eskaera guztietan, saioa hasteko nodoan izan ezik. Ematen du fase honetan dagoeneko prest dugula gidoia eta abiaraztea besterik ez zaigu geratzen. Scripta exekutatu dezakezu hautatuta Korrika egin Proiektuaren nodoaren testuinguru-menuan.

Posta sortzearen zuzentasuna egiaztatzea

Fase honetan, gure script-ak saioa hasi eta, baimen-token bat erabiliz, argitalpen bat sor dezake. Hala ere, sortu berri den mezuak izen zuzena duela ziurtatu behar dugu. Hau da, funtsean, honako hau egitea besterik ez da geratzen:

  • Bidali mezu bat jasotzeko eskaera id bidez,
  • Egiaztatu zerbitzaritik jasotako izena mezua sortzerakoan bidalitako izenarekin bat datorrela

Ikus dezagun lehen urratsa. Id balioa script exekuzioan zehazten denez, aldagai dinamiko bat sortu behar duzu (dei diezaiogun postId) nodotik sortu-post Proiektuaren nodo mailan. Dagoeneko badakigu nola egin, atala jo besterik ez dago Gorde tokena aldagai batean. ID hau erabiliz mezu bat jasotzeko eskaera sortzea besterik ez da geratzen. Horretarako, sor dezagun RequestStep get-post parametro hauekin:

  • Eskaera mota: GET
  • URLa: ${domain}/posts/${$dynamicVar.postId}

Bigarren urratsa ezartzeko, ezagutu behar dugu Baieztapena korapilo. Baieztapen-nodoa eskaera zehatzetarako egiaztapenak idazteko aukera ematen duen nodo bat da. Baieztapen-nodo bakoitzak hainbat baieztapen (txeke) izan ditzake. Mota guztietako baieztapenei buruz gehiago irakur dezakezu gurean dokumentazioa. Erabiliko dugu Compare operadorearekin baieztapena equal. Baieztapenak sortzeko hainbat modu daude:

  1. Luzea. Sortu eskuz Assertion nodo bat RequestStep nodoaren testuinguru-menutik. Sortutako baieztapen-nodoan, gehitu interesa duen baieztapena eta bete eremuak.
  2. Azkar. Sortu Assertion nodo bat RequestStep nodoaren erantzunaren baieztapenarekin batera testuinguru-menua erabiliz

Erabili dezagun bigarren metodoa. Hauxe izango da gure kasurako.

TestMace. Hasiera azkarra

Ulertzen ez dutenentzat, hona hemen gertatzen ari dena:

  1. Egin eskaera nodoan get-post
  2. Fitxan Analizatua erantzun, deitu testuinguru menura eta hautatu Sortu baieztapena -> Konparatu -> Berdintasuna

Zorionak, gure lehen proba sortu dugu! Sinplea, ezta? Orain scripta guztiz exekutatu dezakezu eta emaitzaz gozatu. Apur bat refactorizatu eta ateratzea besterik ez da geratzen title aldagai bereizi batean. Baina hau etxerako lan gisa utziko dizugu)

Ondorioa

Gida honetan, eszenatoki oso bat sortu dugu eta, aldi berean, gure produktuaren ezaugarri batzuk berrikusi ditugu. Jakina, ez ditugu funtzionalitate guztiak erabili eta hurrengo artikuluetan TestMace-ren gaitasunen ikuspegi zehatza emango dugu. Egon adi!

PS Pauso guztiak erreproduzitzeko alferrak direnentzat, atsegin handiz grabatu dugu biltegia artikuluko proiektuarekin. Honekin ireki dezakezu File -> Proiektu irekia eta hautatu Proiektuaren karpeta.

Iturria: www.habr.com

Gehitu iruzkin berria