Af hverju TestMace er betri en Postman

Af hverju TestMace er betri en Postman

Halló allir, komdu TestMace! Kannski vita margir um okkur frá af okkar fyrri greinar. Fyrir þá sem eru nýkomnir með: við erum að þróa IDE til að vinna með TestMace API. Algengasta spurningin þegar TestMace er borið saman við samkeppnisvörur er „Hvernig ertu öðruvísi en Postman? Við ákváðum að það væri kominn tími til að gefa ítarlegt svar við þessari spurningu. Hér að neðan höfum við lýst yfir kostum okkar Póstþjónn.

Skiptist í hnúta

Ef þú vinnur með Postman, þá veistu að beiðniviðmótið inniheldur alla nauðsynlega virkni. Það eru handrit, próf og reyndar beiðnirnar sjálfar. Þetta gerir það auðveldara fyrir byrjendur, en í stórum tilfellum er þessi nálgun ekki sveigjanleg. Hvað ef þú vilt búa til nokkrar fyrirspurnir og framkvæma samansöfnun á þeim? Hvað ef þú vilt keyra handrit án beiðni eða nokkur rökrétt aðskilin forskrift í röð? Þegar öllu er á botninn hvolft væri góð hugmynd að aðgreina próf frá venjulegum tólaforskriftum. Að auki er nálgunin „bæta öllum virkni í einn hnút“ ekki skalanleg - viðmótið verður fljótt of mikið.

TestMace skiptir upphaflega allri virkni í mismunandi gerðir af hnútum. Viltu leggja fram beiðni? Það er fyrir þig beiðni skref hnút Viltu skrifa handrit? Það er fyrir þig handrit hnút Þarftu próf? Vinsamlegast - Staðhæfing hnút Ó já, þú getur samt pakkað þessu öllu inn mappa hnút Og allt þetta er auðvelt að sameina hvert við annað. Þessi nálgun er ekki aðeins mjög sveigjanleg, heldur einnig, í samræmi við meginregluna um eina ábyrgð, gerir þér kleift að nota aðeins það sem þú raunverulega þarfnast í augnablikinu. Af hverju þarf ég forskriftir og próf ef ég vil bara leggja fram beiðni?

Mannlæsilegt verkefnasnið

Það er hugmyndalegur munur á TestMace og Postman í því hvernig þau eru geymd. Í Postman eru allar beiðnir geymdar einhvers staðar í staðbundinni geymslu. Ef það er þörf á að deila beiðnum á milli nokkurra notenda, þá þarftu að nota innbyggðu samstillinguna. Í raun er þetta almennt viðurkennd nálgun, en ekki án galla. Hvað með gagnaöryggi? Þegar öllu er á botninn hvolft getur verið að stefna sumra fyrirtækja leyfi ekki að geyma gögn hjá þriðja aðila. Hins vegar teljum við að TestMace hafi eitthvað betra að bjóða! Og nafn þessarar endurbóta er „læsilegt verkefnissnið“.

Við skulum byrja á þeirri staðreynd að í TestMace er í grundvallaratriðum „verkefni“ eining. Og forritið var upphaflega þróað með það fyrir augum að geyma verkefni í útgáfustýringarkerfum: verkefnatrénu er næstum einn-á-einn varpað á skráarskipulagið, yaml er notað sem geymslusnið (án auka sviga og kommu) og skráarframsetningu hvers hnúts er lýst í smáatriðum í skjölunum með athugasemdum. En í flestum tilfellum muntu ekki líta þangað - öll svæðisnöfn hafa rökrétt nöfn.

Hvað gefur þetta notandanum? Þetta gerir þér kleift að breyta vinnuflæði teymisins á mjög sveigjanlegan hátt með því að nota kunnuglegar aðferðir. Til dæmis geta verktaki geymt verkefni í sömu geymslu og bakendinn. Í útibúum, auk þess að breyta kóðagrunninum sjálfum, getur verktaki leiðrétt núverandi fyrirspurnarforskriftir og próf. Eftir að hafa framkvæmt breytingar á geymslunni (git, svn, mercurial - hvað sem þér líkar best), CI (uppáhaldið þitt, ekki sett af neinum) opnar leikjatölvuforritið okkar testmace-cli, og skýrslan sem berst eftir framkvæmd (til dæmis á junit sniði, sem einnig er stutt í testmace-cli) er send í viðeigandi kerfi. Og ofangreint öryggismál er ekki lengur vandamál.

Eins og þú sérð, þröngvar TestMace ekki vistkerfi sínu og hugmyndafræði. Þess í stað passar það auðveldlega inn í staðfest ferli.

Dynamic Variables

TestMace fylgir hugmyndinni án kóða: ef hægt er að leysa vandamál án þess að nota kóða, reynum við að veita þetta tækifæri. Vinna með breytur er einmitt virknin þar sem þú getur í flestum tilfellum gert án forritunar.

Dæmi: við fengum svar frá þjóninum og við viljum vista hluta af svarinu í breytu. Í Postman, í prófunarhandriti (sem er skrítið í sjálfu sér) myndum við skrifa eitthvað eins og:

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

En að okkar mati lítur það út fyrir að skrifa handrit fyrir svona einfalda og oft notaða atburðarás. Þess vegna er í TestMace hægt að úthluta hluta af svarinu við breytu með því að nota grafíska viðmótið. Sjáðu hvað það er einfalt:

Af hverju TestMace er betri en Postman

Og nú með hverri beiðni verður þessi kraftmikla breyta uppfærð. En þú getur andmælt með því að halda því fram að Postman nálgunin sé sveigjanlegri og gerir þér ekki aðeins kleift að gera verkefni heldur einnig að framkvæma smá forvinnslu. Svona á að breyta fyrra dæminu:

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

Jæja, í þessum tilgangi hefur TestMace handrit hnút, sem nær yfir þessa atburðarás. Til þess að endurskapa fyrra tilvikið, en það er þegar keyrt af TestMace, þarftu að búa til skriftuhnút í kjölfar beiðninnar og nota eftirfarandi kóða sem skriftu:

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

Eins og þú sérð þjónaði samsetning hnútanna líka vel hér. Og fyrir svo einfalt tilvik eins og lýst er hér að ofan geturðu einfaldlega úthlutað tjáningunni ${crypto.MD5($response.data)} breyta búin til í gegnum GUI!

Að búa til próf í gegnum GUI

Postman gerir þér kleift að búa til próf með því að skrifa forskriftir (í tilviki Postman er þetta JavaScript). Þessi nálgun hefur marga kosti - nánast ótakmarkaðan sveigjanleika, framboð á tilbúnum lausnum o.s.frv.

Hins vegar er raunveruleikinn oft þannig (við erum ekki svona, lífið er þannig) að prófari hefur ekki forritunarkunnáttu, en hann vill gjarnan koma liðinu til góða núna. Í slíkum tilvikum, eftir hugmyndinni án kóða, gerir TestMace þér kleift að búa til einföld próf í gegnum GUI án þess að grípa til þess að skrifa forskriftir. Hér er til dæmis hvernig ferlið við að búa til próf sem ber saman gildi fyrir jafnrétti lítur út:

Af hverju TestMace er betri en Postman

Hins vegar útilokar það ekki möguleikann að búa til próf í grafískum ritli skrifa próf í kóða. Öll sömu söfnin eru hér og í handritshnútnum, og chai til að skrifa próf.

Oft koma upp aðstæður þegar framkvæma þarf ákveðna fyrirspurn eða jafnvel heilt handrit nokkrum sinnum á mismunandi hlutum verkefnisins. Dæmi um slíkar beiðnir gætu verið sérsniðin fjölþrepa heimild, að koma umhverfinu í æskilegt ástand o.s.frv. Almennt séð, þegar við tölum um forritunarmál, viljum við hafa aðgerðir sem hægt er að endurnýta í mismunandi hlutum forritsins. Í TestMace er þessi aðgerð framkvæmd af tengjast hnút Það er mjög auðvelt í notkun:
1) búa til fyrirspurn eða handrit
2) búðu til hnút af gerðinni Link
3) í breytunum, tilgreindu tengil á handritið sem búið var til í fyrsta skrefi

Í fullkomnari útgáfu er hægt að tilgreina hvaða dynamic breytur úr handritinu eru sendar á hærra stig miðað við tengilinn. Hljómar ruglingslegt? Segjum að við höfum búið til möppu með nafninu búa til færslu, þar sem kvik breytu er úthlutað á þennan hnút postId. Nú í Link hnút búa til-póst-tengil þú getur beinlínis tilgreint að breytan postId úthlutað forföður búa til-póst-tengil. Þetta kerfi (aftur, á forritunarmáli) er hægt að nota til að skila niðurstöðu úr „falli“. Almennt séð er það flott, DRY er í fullum gangi og aftur skemmdist ekki ein lína af kóða.

Af hverju TestMace er betri en Postman

Hvað Postman varðar, þá er til eiginleikabeiðni um að endurnýta beiðnir hangandi síðan 2015, og það virðist vera jafnvel nokkrar ábendingarað þeir séu að vinna í þessum vanda. Í núverandi mynd hefur Postman auðvitað hæfileikann til að breyta útfærsluþræðinum, sem fræðilega gerir það líklega mögulegt að innleiða svipaða hegðun, en þetta er frekar óhreint hakk en raunverulega vinnuaðferð.

Annar munur

  • Meiri stjórn á umfangi breyta. Minnsta svið sem hægt er að skilgreina breytu innan í Postman er safn. TestMace gerir þér kleift að skilgreina breytur fyrir hvaða fyrirspurn eða möppu sem er. Í Postman Share safn leyfir þér aðeins að flytja út söfn, en í TestMace virkar samnýting fyrir hvaða hnút sem er
  • TestMace styður erfanlegir hausar, sem sjálfgefið er að skipta út í barnafyrirspurnir. Postman hefur eitthvað um þetta: verkefnið, og það er jafnvel lokað, en það er boðið sem lausn ... nota forskriftir. Í TestMace er þetta allt stillt í gegnum GUI og það er möguleiki að slökkva á erfðum hausum í sérstökum afkomendum
  • Afturkalla/Afturkalla. Virkar ekki aðeins þegar hnútum er breytt, heldur einnig þegar verið er að flytja, eyða, endurnefna og aðrar aðgerðir sem breyta uppbyggingu verkefnisins
  • Skrár sem fylgja beiðnum verða hluti af verkefninu og eru geymdar með því, á meðan þær eru fullkomlega samstilltar, ólíkt Postman. (Já, þú þarft ekki lengur að velja skrár handvirkt í hvert skipti sem þú byrjar og flytja þær til samstarfsmanna í skjalasafni)

Eiginleikar sem eru þegar á leiðinni

Við gátum ekki staðist þá freistingu að lyfta hulunni af leynd yfir næstu útgáfur, sérstaklega þegar virknin er mjög bragðgóð og er þegar í forútgáfa. Svo, við skulum hittast.

Aðgerðir

Eins og þú veist notar Postman svokallaðar dynamic breytur til að búa til gildi. Listinn yfir þá er áhrifamikill og langflestar aðgerðir eru notaðar til að búa til fölsuð gildi. Til dæmis, til að búa til handahófskenndan tölvupóst þarftu að skrifa:

{{$randomEmail}}

Hins vegar, þar sem þetta eru breytur (að vísu kvikar), er ekki hægt að nota þær sem föll: þær eru ekki breytanlegar, þess vegna verður ekki hægt að taka kjötkássa úr streng.

Við ætlum að bæta „heiðarlegum“ aðgerðum við TestMace. Innan ${} verður ekki aðeins hægt að fá aðgang að breytu, heldur einnig að kalla á fall. Þeir. ef þú þarft að búa til alræmda falsa tölvupóstinn munum við einfaldlega skrifa

${faker.internet.email()}

Auk þess að það er fall, munt þú taka eftir því að það er hægt að kalla aðferð á hlut. Og í stað þess að vera stór flatur listi af kvikum breytum, höfum við safn af rökréttum hópum hlutum.

Hvað ef við viljum reikna kjötkássa strengs? Auðveldlega!

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

Þú munt taka eftir því að þú getur jafnvel sent breytur sem breytur! Á þessum tímapunkti gæti forvitinn lesandi grunað að eitthvað sé að...

Notkun JavaScript í tjáningum

... Og ekki að ástæðulausu! Þegar kröfurnar um aðgerðir voru að mótast komumst við skyndilega að þeirri niðurstöðu að gilt javascript ætti að vera skrifað í tjáningu. Svo nú er þér frjálst að skrifa orðasambönd eins og:

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

Og allt þetta án forskrifta, beint í innsláttarreitnum!

Varðandi Postman, hér er aðeins hægt að nota breytur, og þegar þú reynir að skrifa minnstu tjáningu, bölvar löggildingarmaðurinn og neitar að reikna það út.

Af hverju TestMace er betri en Postman

Háþróuð sjálfvirk útfylling

Eins og er er TestMace með staðlaða sjálfvirka útfyllingu sem lítur svona út:

Af hverju TestMace er betri en Postman

Hér er, auk sjálfvirkrar útfyllingarlínu, tilgreint hverju þessi lína tilheyrir. Þessi aðferð virkar aðeins í tjáningum sem eru umkringd sviga ${}.

Eins og þú sérð hefur sjónrænum merkjum verið bætt við sem gefa til kynna tegund breytu (til dæmis streng, tala, fylki o.s.frv.). Þú getur líka breytt sjálfvirkum útfyllingarhamum (til dæmis geturðu valið sjálfvirka útfyllingu með breytum eða hausum). En jafnvel þetta er ekki það mikilvægasta!

Í fyrsta lagi virkar sjálfvirk útfylling jafnvel í tjáningum (þar sem hægt er). Svona lítur það út:

Af hverju TestMace er betri en Postman

Og í öðru lagi er sjálfvirk útfylling nú fáanleg í forskriftum. Skoðaðu hvernig það virkar!

Af hverju TestMace er betri en Postman

Það þýðir ekkert að bera þessa virkni saman við Postman - sjálfvirk útfylling þar er aðeins takmörkuð við fasta lista yfir breytur, hausa og gildi þeirra (leiðréttið mig ef ég gleymdi einhverju). Forskriftir eru ekki sjálfvirkar útfylltar :)

Ályktun

Október var ár frá því að þróun vörunnar okkar hófst. Á þessum tíma náðum við að gera ýmislegt og að sumu leyti náðum við keppinautum okkar. En hvernig sem það er, markmið okkar er að búa til virkilega þægilegt tól til að vinna með API. Við eigum enn mikið verk fyrir höndum, hér er gróf áætlun um þróun verkefnisins okkar fyrir komandi ár: https://testmace.com/roadmap.

Athugasemdir þínar munu gera okkur kleift að fara betur yfir gnægð eiginleika og stuðningur þinn gefur okkur styrk og traust á að við séum að gera rétt. Það vill svo til að dagurinn í dag er mikilvægur dagur fyrir verkefnið okkar - dagurinn sem TestMace var birtur á Vöruleit. Endilega styðjið verkefnið okkar, það er okkur mjög mikilvægt. Þar að auki er freistandi tilboð á PH síðunni okkar í dag og það er takmarkað

Heimild: www.habr.com

Bæta við athugasemd