Zergatik da TestMace Postman baino hobea

Zergatik da TestMace Postman baino hobea

Kaixo guztioi, hemen duzue TestMace! Agian jende askok gutaz ezagutzen du gurea aurrekoa artikulu. Sartu berri direnentzat: TestMace APIarekin lan egiteko IDE bat garatzen ari gara. TestMace produktu lehiakideekin alderatzean gehien egiten den galdera "Zer ezberdintzen zara Postman-ekin?" Galdera honi erantzun zehatza emateko garaia zela erabaki genuen. Jarraian, gure abantailak azaldu ditugu Postaria.

Nodoetan zatitzea

Postman-ekin lan egiten baduzu, badakizu eskaera-interfazeak beharrezko funtzionalitate guztiak dituela. Badira gidoiak, probak eta, hain zuzen ere, eskaerak berak. Horrek erraztu egiten die hasiberriei, baina eszenatoki handietan ikuspegi hori ez da malgua. Zer gertatzen da hainbat kontsulta sortu eta horien gainean agregazioa egin nahi baduzu? Zer gertatzen da script bat eskaerarik gabe edo logikoki bereizitako hainbat script segidan exekutatu nahi baduzu? Azken finean, komenigarria litzateke probak ohiko erabilgarritasun-scriptetatik bereiztea. Horrez gain, "gehitu funtzionaltasun guztiak nodo batean" ikuspegia ez da eskalagarria - interfazea azkar gainkargatzen da.

TestMace-k hasiera batean funtzionalitate guztiak nodo mota desberdinetan banatzen ditu. Eskaera bat egin nahi al duzu? Zuretzat da eskaera urratsa nodoa Gidoi bat idatzi nahi duzu? Zuretzat da script nodoa Probak behar dituzu? Mesedez - Baieztapena nodoa Bai, oraindik ere bildu dezakezu gauza hau guztia karpeta nodoa Eta hori guztia erraz konbina daiteke elkarren artean. Ikuspegi hau oso malgua ez ezik, erantzukizun bakarraren printzipioaren arabera, momentuan benetan behar duzuna bakarrik erabiltzeko aukera ematen du. Zergatik behar ditut scriptak eta probak eskaera bat egin nahi badut?

Gizakiek irakurtzeko moduko proiektu-formatua

TestMace eta Postman-en artean desberdintasun kontzeptual bat dago gordetzeko moduan. Postman-en, eskaera guztiak tokiko biltegian gordetzen dira. Hainbat erabiltzaileren artean eskaerak partekatzeko beharra badago, integratutako sinkronizazioa erabili behar duzu. Izan ere, orokorrean onartutako ikuspegia da, baina ez dituen eragozpenik gabe. Zer gertatzen da datuen segurtasunarekin? Azken finean, baliteke enpresa batzuen politikak ez du baimendu hirugarrenekin datuak gordetzea. Hala ere, uste dugu TestMace-k zerbait hobea duela eskaintzeko! Eta hobekuntza horren izena "gizakiek irakur daitekeen proiektuaren formatua" da.

Has gaitezen TestMace-n, printzipioz, "proiektu" entitate bat dagoela. Eta aplikazioa hasiera batean proiektuak bertsio-kontrol sistemetan gordetzeko asmoz garatu zen: proiektuaren zuhaitza ia banan-banan proiektatzen da fitxategi-egituran, yaml erabiltzen da biltegiratze formatu gisa (kortxete eta koma gehigarririk gabe), eta Nodo bakoitzaren fitxategien irudikapena xehetasunez deskribatzen da dokumentazioan iruzkinekin. Baina kasu gehienetan ez duzu hor begiratuko - eremu-izen guztiek izen logikoak dituzte.

Zer ematen dio honek erabiltzaileari? Honi esker, taldearen lan-fluxua oso malgutasunez alda dezakezu, planteamendu ezagunak erabiliz. Adibidez, garatzaileek proiektu bat backend-aren biltegi berean gorde dezakete. Adarretan, kodearen oinarria bera aldatzeaz gain, garatzaileak lehendik dauden kontsulta-scriptak eta probak zuzendu ditzake. Biltegian aldaketak egin ondoren (git, svn, mercurial - gehien gustatzen zaizuna), CI (zure gogokoena, inork ez duena) gure kontsolaren erabilgarritasuna abiarazten du. testmace-cli, eta exekutatu ondoren jasotako txostena (adibidez, junit formatuan, testmace-cli-n ere onartzen dena) dagokion sistemara bidaltzen da. Eta lehen aipatutako segurtasun-arazoa ez da arazo bat.

Ikus dezakezunez, TestMace-k ez du bere ekosistema eta paradigma inposatzen. Horren ordez, erraz sartzen da ezarritako prozesuetan.

Aldagai dinamikoak

TestMace-k koderik gabeko kontzeptua jarraitzen du: arazoren bat kodea erabili gabe konpon badaiteke, aukera hau ematen saiatzen gara. Aldagaiekin lan egitea kasu gehienetan programaziorik gabe egin dezakezun funtzionaltasun mota da.

Adibidea: zerbitzariaren erantzuna jaso dugu, eta erantzunaren zati bat aldagai batean gorde nahi dugu. Postman-en, probako gidoi batean (berez arraroa dena) honelako zerbait idatziko genuke:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", jsonData.data);

Baina gure ustez, hain sinple eta maiz erabiltzen den eszenatoki baterako gidoia idazteak sobera dirudi. Beraz, TestMace-n aldagai bati erantzunaren zati bat esleitzea posible da interfaze grafikoa erabiliz. Begira zein erraza den:

Zergatik da TestMace Postman baino hobea

Eta orain eskaera bakoitzarekin aldagai dinamiko hau eguneratuko da. Baina aurka egin dezakezu, Postman ikuspegia malguagoa dela eta esleipen bat egiteaz gain, aurreprozesaketa batzuk egiteko aukera ematen duela argudiatuta. Hona hemen aurreko adibidea nola aldatu:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", CryptoJS.MD5(jsonData.data));

Beno, horretarako TestMace-k du script nodoa, eszenatoki hau estaltzen duena. Aurreko kasua erreproduzitzeko, baina TestMace-k dagoeneko exekutatuta, eskaerari jarraituz script-nodo bat sortu behar duzu eta hurrengo kodea erabili script gisa:

const data = tm.currentNode.prev.response.body.data;
tm.currentNode.parent.setDynamicVar('data', crypto.MD5(data));

Ikus dezakezunez, nodoen konposizioak ondo balio zuen hemen ere. Eta goian deskribatutako kasu sinple baterako, adierazpena esleitu dezakezu ${crypto.MD5($response.data)} GUI bidez sortutako aldagaia!

GUI bidez probak sortzea

Postman-ek gidoiak idatziz probak sortzeko aukera ematen du (Postman-en kasuan, hau JavaScript da). Ikuspegi honek abantaila asko ditu: ia mugarik gabeko malgutasuna, prestatutako soluzioen erabilgarritasuna, etab.

Hala ere, errealitatea sarritan halakoa da (ez gara horrela, bizitza horrela da) probatzaile batek ez duela programazio gaitasunik, baina taldeari onura ekarri nahiko lioke oraintxe bertan. Horrelako kasuetarako, koderik gabeko kontzeptuari jarraituz, TestMace-k GUI baten bidez proba errazak sortzeko aukera ematen du, script-ak idatzi gabe. Hona, adibidez, berdintasunerako balioak konparatzen dituen proba sortzeko prozesua nolakoa den:

Zergatik da TestMace Postman baino hobea

Hala ere, editore grafiko batean probak sortzeak ez du aukera kentzen probak kodean idaztea. Liburutegi berdin guztiak hemen daude script-nodoan bezala, eta chai idazketa probak egiteko.

Egoerak askotan sortzen dira proiektuaren atal ezberdinetan kontsulta jakin bat edo baita script oso bat ere hainbat aldiz exekutatu behar denean. Eskaeren adibide bat etapa anitzeko baimen pertsonalizatua, ingurunea nahi den egoerara eramatea, etab. Oro har, programazio lengoaiez hitz eginez, aplikazioaren atal ezberdinetan berrerabili daitezkeen funtzioak izatea gustatuko litzaiguke. TestMace-n funtzio hau egiten du lotura nodoa Oso erraza da erabiltzeko:
1) Sortu kontsulta edo script bat
2) Link motako nodo bat sortu
3) parametroetan, zehaztu lehen urratsean sortutako scripterako esteka

Bertsio aurreratuago batean, script-eko zein aldagai dinamiko pasatzen diren estekarekiko maila altuago batera zehaztu dezakezu. Nahasia? Demagun Karpeta bat sortu dugula izenarekin sortu-post, zeinaren barruan aldagai dinamiko bat esleitzen zaio nodo honi postId. Orain Link nodoan sortu-post-esteka aldagaia esplizituki zehaztu dezakezu postId arbaso bati esleitu zaio sortu-post-esteka. Mekanismo hau (berriz ere, programazio-lengoaian) "funtzio" baten emaitza itzultzeko erabil daiteke. Oro har, polita da, DRY sasoi betean dago eta berriro ere ez zen kode lerro bakar bat ere kaltetu.

Zergatik da TestMace Postman baino hobea

Postman-i dagokionez, eskaerak berrerabiltzeko eginbide eskaera dago 2015etik zintzilik, eta badirudi ere badagoela aholku batzukarazo honetan lanean ari direla. Gaur egungo forman, Postman-ek, noski, exekuzioaren haria aldatzeko gaitasuna du, teorian ziurrenik antzeko portaera ezartzea posible egiten duena, baina hau hack zikin bat da benetan laneko ikuspegia baino.

Beste desberdintasun batzuk

  • Aldagaien esparruaren gaineko kontrol handiagoa. Postman-en aldagai bat defini daitekeen esparrurik txikiena bilketa da. TestMace-k edozein kontsulta edo karpetatarako aldagaiak definitzeko aukera ematen du. Postman Share bilduman bildumak soilik esportatzeko aukera ematen du, TestMace-n partekatzeak edozein nodotarako balio du
  • TestMace-k onartzen du heredagarriak diren goiburuak, lehenespenez seme-alaben kontsultetan ordezka daitekeena. Postariak badu zerbait honetaz: zeregina, eta itxita ere badago, baina irtenbide gisa eskaintzen da... gidoiak erabili. TestMace-n, hau guztia GUI bidez konfiguratuta dago eta ondorengo zehatzetan heredatutako goiburuak aukeran desgaitzeko aukera dago.
  • Desegin/Berregin. Nodoak editatzean ez ezik, proiektuaren egitura aldatzen duten beste eragiketetan mugitzean, ezabatzean, izena aldatzean eta beste eragiketetan ere funtzionatzen du.
  • Eskaerei atxikitako fitxategiak proiektuaren parte bihurtzen dira eta horrekin gordetzen dira, ezin hobeto sinkronizatuta dauden bitartean, Postman ez bezala. (Bai, jada ez duzu fitxategiak eskuz hautatu behar hasten zaren bakoitzean eta artxiboetako lankideei transferitu)

Dagoeneko bidean dauden ezaugarriak

Ezin izan genion eutsi hurrengo argitalpenetan sekretuaren beloa altxatzeko tentazioari, batez ere funtzionaltasuna oso zaporetsua denean eta dagoeneko argitaratu aurretik leuntzen ari denean. Beraz, elkartu gaitezen.

funtzio

Dakizuenez, Postman-ek aldagai dinamikoak deiturikoak erabiltzen ditu balioak sortzeko. Horien zerrenda ikusgarria da eta funtzio gehien-gehienak balio faltsuak sortzeko erabiltzen dira. Adibidez, ausazko mezu elektroniko bat sortzeko idatzi behar duzu:

{{$randomEmail}}

Hala ere, hauek aldagaiak direnez (dinamikoak bada ere), ezin dira funtzio gisa erabili: ez dira parametrizagarriak, beraz, ezin izango da kate batetik hash bat hartu.

TestMace-ri funtzio "zintzoak" gehitzeko asmoa dugu. ${}-ren barruan aldagai batera atzitzeaz gain, funtzio bati deitzea ere posible izango da. Horiek. mezu elektroniko faltsu ezaguna sortu behar baduzu, idatzi besterik ez dugu egingo

${faker.internet.email()}

Funtzio bat izateaz gain, objektu bati metodo bati deitzea posible dela ohartuko zara. Eta aldagai dinamikoen zerrenda lau handi baten ordez, logikoki multzokaturiko objektu multzo bat dugu.

Zer gertatzen da kate baten hash-a kalkulatu nahi badugu? Erraz!

${crypto.MD5($dynamicVar.data)}

Konturatuko zara aldagaiak parametro gisa ere pasa ditzakezula! Une honetan, irakurle jakintsu batek zerbait gaizki dagoela susma dezake...

JavaScript erabiltzea Adierazpenetan

... Eta arrazoi onagatik! Funtzioen eskakizunak osatzen ari zirenean, bat-batean javascript baliozko adierazpenetan idatzi behar zela ondorioztatu genuen. Beraz, orain askatasuna zara honelako esamoldeak idazteko:

${1 + '' + crypto.MD5('asdf')}

Eta hori guztia scriptik gabe, sarrera-eremuetan bertan!

Postman-i dagokionez, hemen aldagaiak soilik erabil ditzakezu, eta adierazpen txikiena idazten saiatzen zarenean, baliozkotzaileak madarikatu egiten du eta kalkulatzeari uko egiten dio.

Zergatik da TestMace Postman baino hobea

Osaketa automatiko aurreratua

Gaur egun TestMace-k osatze automatiko estandar bat du, itxura hau duena:

Zergatik da TestMace Postman baino hobea

Hemen, osatze automatikoko lerroaz gain, lerro hori zeini dagokion adierazten da. Mekanismo honek ${} kortxetez inguratutako esamoldeetan bakarrik funtzionatzen du.

Ikus dezakezunez, aldagai mota adierazten duten ikus-markagailuak gehitu dira (adibidez, katea, zenbakia, array, etab.). Osatze automatikoaren moduak ere alda ditzakezu (adibidez, aldagaiekin edo goiburuekin osatze automatikoa hauta dezakezu). Baina hau ere ez da garrantzitsuena!

Lehenik eta behin, osatze automatikoak esamoldeetan ere funtzionatzen du (ahal denean). Honela dirudi:

Zergatik da TestMace Postman baino hobea

Eta bigarrenik, osaketa automatikoa eskuragarri dago orain scriptetan. Begiratu nola funtzionatzen duen!

Zergatik da TestMace Postman baino hobea

Ez du balio funtzionalitate hau Postman-ekin alderatzeak - osaketa automatikoa aldagaien, goiburuen eta haien balioen zerrenda estatikoetara mugatzen da (zuzendu zerbait ahaztu badut). Scriptak ez dira automatikoki osatzen :)

Ondorioa

Urrian urtebete bete zen gure produktua garatzen hasi zenetik. Denbora horretan, gauza asko egitea lortu genuen eta, zenbait alderditan, lehiakideak harrapatu genituen. Baina dena den, gure helburua APIekin lan egiteko tresna benetan erosoa egitea da. Oraindik lan asko dugu egiteko, hona hemen datorren urterako gure proiektua garatzeko plan labur bat: https://testmace.com/roadmap.

Zure iritziak funtzio ugarien artean hobeto nabigatzeko aukera emango digu, eta zure laguntzak indarra eta konfiantza ematen digu ongi egiten ari garela. Gertatzen da gaur egun garrantzitsua dela gure proiekturako - TestMace argitaratu zen eguna ProductHunt. Mesedez, lagundu gure proiektua, oso garrantzitsua da guretzat. Gainera, eskaintza tentagarri bat dago gaur gure PH orrian, eta mugatua da

Iturria: www.habr.com

Gehitu iruzkin berria