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:
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:
Eskaeraren gorputza: json balioarekin {"title": "New testmace quick start post"}
Dena ondo egin baduzu, interfazea honela izango da:
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:
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:
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:
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:
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
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:
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:
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:
Luzea. Sortu eskuz Assertion nodo bat RequestStep nodoaren testuinguru-menutik. Sortutako baieztapen-nodoan, gehitu interesa duen baieztapena eta bete eremuak.
Azkar. Sortu Assertion nodo bat RequestStep nodoaren erantzunaren baieztapenarekin batera testuinguru-menua erabiliz
Erabili dezagun bigarren metodoa. Hauxe izango da gure kasurako.
Ulertzen ez dutenentzat, hona hemen gertatzen ari dena:
Egin eskaera nodoan get-post
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.