Pam mae TestMace yn well na Postman

Pam mae TestMace yn well na Postman

Helo pawb, dyma chi TestMace! Efallai bod llawer o bobl yn gwybod amdanom ni o'n blaenorol erthyglau. I'r rhai sydd newydd ymuno: rydym yn datblygu DRhA i weithio gyda'r API TestMace. Y cwestiwn a ofynnir amlaf wrth gymharu TestMace â chynhyrchion cystadleuol yw “Sut ydych chi'n wahanol i Postman?” Penderfynasom ei bod yn bryd rhoddi atebiad manwl i'r cwestiwn hwn. Isod rydym wedi amlinellu ein manteision drosodd Postmon.

Rhannu'n nodau

Os ydych chi'n gweithio gyda Postman, yna rydych chi'n gwybod bod y rhyngwyneb cais yn cynnwys yr holl swyddogaethau angenrheidiol. Mae yna sgriptiau, profion, ac, mewn gwirionedd, yr ymholiadau eu hunain. Mae hyn yn ei gwneud hi'n haws i ddechreuwyr, ond mewn senarios mawr nid yw'r dull hwn yn hyblyg. Beth os ydych chi am greu sawl ymholiad a pherfformio agregu arnyn nhw? Beth os ydych chi am weithredu sgript heb gais neu sawl sgript wedi'u gwahanu'n rhesymegol yn olynol? Wedi'r cyfan, byddai'n syniad da gwahanu profion oddi wrth sgriptiau cyfleustodau rheolaidd. Yn ogystal, nid yw'r dull “ychwanegu'r holl ymarferoldeb mewn un nod” yn raddadwy - mae'r rhyngwyneb yn cael ei orlwytho'n gyflym.

I ddechrau, mae TestMace yn rhannu'r holl swyddogaethau'n wahanol fathau o nodau. Hoffech chi wneud cais? Mae i chi cais cam nôd Ydych chi eisiau ysgrifennu sgript? Mae i chi sgript nôd Angen profion? Os gwelwch yn dda - Cadarnhad nôd O ie, gallwch chi ddal i lapio'r holl beth hwn i mewn ffolder nôd A gellir cyfuno hyn i gyd yn hawdd â'i gilydd. Mae'r dull hwn nid yn unig yn hyblyg iawn, ond hefyd, yn unol â'r egwyddor o gyfrifoldeb sengl, yn caniatáu ichi ddefnyddio dim ond yr hyn sydd ei angen arnoch chi ar hyn o bryd. Pam fod angen sgriptiau a phrofion arnaf os ydw i eisiau gwneud cais yn unig?

Fformat prosiect y gall pobl ei ddarllen

Mae gwahaniaeth cysyniadol rhwng TestMace a Postman yn y ffordd y cânt eu storio. Yn Postman, mae pob cais yn cael ei storio yn rhywle mewn storfa leol. Os oes angen rhannu ceisiadau rhwng sawl defnyddiwr, yna mae angen i chi ddefnyddio'r cydamseriad adeiledig. Mewn gwirionedd, mae hwn yn ddull a dderbynnir yn gyffredinol, ond nid heb ei anfanteision. Beth am ddiogelwch data? Wedi'r cyfan, efallai na fydd polisi rhai cwmnïau yn caniatáu storio data gyda thrydydd partïon. Fodd bynnag, credwn fod gan TestMace rywbeth gwell i'w gynnig! Ac enw’r gwelliant hwn yw “fformat prosiect y gall pobl ei ddarllen.”

Gadewch i ni ddechrau gyda'r ffaith bod TestMace, mewn egwyddor, yn endid “prosiect”. A datblygwyd y cymhwysiad i ddechrau gyda llygad ar storio prosiectau mewn systemau rheoli fersiwn: mae coeden y prosiect bron yn un-i-un wedi'i rhagamcanu ar y strwythur ffeiliau, defnyddir yaml fel y fformat storio (heb fracedi a choma ychwanegol), a'r Disgrifir cynrychiolaeth ffeil pob nod yn fanwl yn y ddogfennaeth gyda sylwadau . Ond yn y rhan fwyaf o achosion ni fyddwch yn edrych yno - mae gan bob enw maes enwau rhesymegol.

Beth mae hyn yn ei roi i'r defnyddiwr? Mae hyn yn caniatáu ichi newid llif gwaith y tîm yn hyblyg iawn, gan ddefnyddio dulliau cyfarwydd. Er enghraifft, gall datblygwyr storio prosiect yn yr un ystorfa â'r backend. Mewn canghennau, yn ogystal â newid y sylfaen cod ei hun, gall y datblygwr gywiro sgriptiau a phrofion ymholiad presennol. Ar ôl gwneud newidiadau i'r ystorfa (git, svn, mercurial - beth bynnag yr hoffech chi orau), mae CI (eich hoff, heb ei orfodi gan unrhyw un) yn lansio ein cyfleustodau consol testmace-cli, ac anfonir yr adroddiad a dderbynnir ar ôl ei weithredu (er enghraifft, mewn fformat junit, sydd hefyd yn cael ei gefnogi yn testmace-cli) i'r system briodol. Ac nid yw'r mater diogelwch uchod yn broblem bellach.

Fel y gallwch weld, nid yw TestMace yn gosod ei ecosystem a'i baradeim. Yn lle hynny, mae'n cyd-fynd yn hawdd â phrosesau sefydledig.

Newidynnau Dynamig

Mae TestMace yn dilyn y cysyniad dim cod: os gellir datrys problem heb ddefnyddio cod, rydym yn ceisio darparu'r cyfle hwn. Gweithio gyda newidynnau yw'r union fath o ymarferoldeb lle gallwch chi ei wneud heb raglennu yn y rhan fwyaf o achosion.

Enghraifft: cawsom ymateb gan y gweinydd, ac rydym am gadw rhan o'r ymateb yn newidyn. Yn Postman, mewn sgript brawf (sy'n rhyfedd ynddo'i hun) byddem yn ysgrifennu rhywbeth fel:

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

Ond yn ein barn ni, mae ysgrifennu sgript ar gyfer senario mor syml a ddefnyddir yn aml yn edrych yn ddiangen. Felly, yn TestMace mae'n bosibl aseinio darn o'r ateb i newidyn gan ddefnyddio'r rhyngwyneb graffigol. Edrychwch pa mor syml ydyw:

Pam mae TestMace yn well na Postman

Ac yn awr gyda phob cais bydd y newidyn deinamig hwn yn cael ei ddiweddaru. Ond gallwch wrthwynebu, gan ddadlau bod y dull Postman yn fwy hyblyg ac yn caniatáu ichi nid yn unig wneud aseiniad, ond hefyd i berfformio rhywfaint o ragbrosesu. Dyma sut i addasu'r enghraifft flaenorol:

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

Wel, at y diben hwn mae gan TestMace sgript nod, sy'n cwmpasu'r senario hwn. Er mwyn atgynhyrchu'r achos blaenorol, ond sydd eisoes wedi'i weithredu gan TestMace, mae angen i chi greu nod sgript yn dilyn y cais a defnyddio'r cod canlynol fel sgript:

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

Fel y gallwch weld, roedd cyfansoddiad y nodau yn gwasanaethu'n dda yma hefyd. Ac ar gyfer achos mor syml fel y disgrifir uchod, gallwch chi neilltuo'r mynegiant yn syml ${crypto.MD5($response.data)} newidyn wedi'i greu trwy'r GUI!

Creu profion trwy GUI

Mae Postman yn caniatáu ichi greu profion trwy ysgrifennu sgriptiau (yn achos Postman, JavaScript yw hwn). Mae gan y dull hwn lawer o fanteision - hyblygrwydd bron yn ddiderfyn, argaeledd datrysiadau parod, ac ati.

Fodd bynnag, mae'r realiti yn aml yn gymaint (nid ydym fel 'na, mae bywyd fel 'na) nad oes gan brofwr sgiliau rhaglennu, ond hoffai ddod â budd i'r tîm ar hyn o bryd. Ar gyfer achosion o'r fath, gan ddilyn y cysyniad dim cod, mae TestMace yn caniatáu ichi greu profion syml trwy GUI heb droi at ysgrifennu sgriptiau. Dyma, er enghraifft, sut olwg sydd ar y broses o greu prawf sy’n cymharu gwerthoedd ar gyfer cydraddoldeb:

Pam mae TestMace yn well na Postman

Fodd bynnag, nid yw creu profion mewn golygydd graffigol yn dileu'r posibilrwydd ysgrifennu profion mewn cod. Mae'r un llyfrgelloedd yma i gyd ag yn y nod sgript, a chai ar gyfer profion ysgrifennu.

Mae sefyllfaoedd yn aml yn codi pan fydd angen cyflawni ymholiad penodol neu hyd yn oed sgript gyfan sawl gwaith mewn gwahanol rannau o'r prosiect. Enghraifft o geisiadau o'r fath fyddai awdurdodiad aml-gam wedi'i deilwra, gan ddod â'r amgylchedd i'r cyflwr dymunol, ac ati. Yn gyffredinol, a siarad o ran ieithoedd rhaglennu, hoffem gael swyddogaethau y gellir eu hailddefnyddio mewn gwahanol rannau o'r cais. Yn TestMace cyflawnir y swyddogaeth hon gan cyswllt nôd Mae'n hawdd iawn i'w ddefnyddio:
1) creu ymholiad neu sgript
2) creu nod o fath Cyswllt
3) yn y paramedrau, nodwch ddolen i'r sgript a grëwyd yn y cam cyntaf

Mewn fersiwn mwy datblygedig, gallwch chi nodi pa newidynnau deinamig o'r sgript sy'n cael eu trosglwyddo i lefel uwch mewn perthynas â'r ddolen. Sain ddryslyd? Gadewch i ni ddweud ein bod wedi creu Ffolder gyda'r enw creu-bost, lle mae newidyn deinamig wedi'i neilltuo i'r nod hwn postId. Nawr yn y nod Cyswllt creu-post-dolen gallwch nodi'n benodol bod y newidyn postId neilltuo i hynafiaid creu-post-dolen. Gellir defnyddio'r mecanwaith hwn (eto, mewn iaith raglennu) i ddychwelyd canlyniad o “swyddogaeth”. Yn gyffredinol, mae'n cŵl, mae DRY yn ei anterth ac eto ni ddifrodwyd un llinell o god.

Pam mae TestMace yn well na Postman

Yn yr un modd â Postman, mae yna gais nodwedd am geisiadau ailddefnyddio hongian ers 2015, ac mae'n ymddangos bod yna hyd yn oed rhai awgrymiadaueu bod yn gweithio ar y broblem hon. Yn ei ffurf bresennol, mae gan Postman, wrth gwrs, y gallu i newid yr edefyn gweithredu, sydd mewn egwyddor yn ôl pob tebyg yn ei gwneud hi'n bosibl gweithredu ymddygiad tebyg, ond mae hwn yn fwy o haciad budr nag ymagwedd wirioneddol weithredol.

Gwahaniaethau eraill

  • Mwy o reolaeth dros gwmpas y newidynnau. Y cwmpas lleiaf ar gyfer diffinio newidyn yn Postman yw casgliad. Mae TestMace yn caniatáu ichi ddiffinio newidynnau ar gyfer unrhyw ymholiad neu ffolder. Yn Postman Share collection yn caniatáu i chi allforio casgliadau yn unig, tra yn TestMace rhannu yn gweithio ar gyfer unrhyw nod
  • Mae TestMace yn cefnogi penawdau etifeddol, y gellir eu rhoi yn lle ymholiadau plant yn ddiofyn. Mae gan Postman rywbeth am hyn: y dasg, ac mae hyd yn oed ar gau, ond fe'i cynigir fel ateb ... defnyddio sgriptiau. Yn TestMace, mae hyn i gyd wedi'i ffurfweddu trwy'r GUI ac mae opsiwn i analluogi penawdau etifeddol yn ddewisol mewn disgynyddion penodol
  • Dadwneud/Ailwneud. Yn gweithio nid yn unig wrth olygu nodau, ond hefyd wrth symud, dileu, ailenwi a gweithrediadau eraill sy'n newid strwythur y prosiect
  • Mae ffeiliau sydd ynghlwm wrth geisiadau yn dod yn rhan o'r prosiect ac yn cael eu storio gydag ef, tra'n cael eu cysoni'n berffaith, yn wahanol i Postman. (Ie, nid oes angen i chi bellach ddewis ffeiliau â llaw bob tro y byddwch yn dechrau a'u trosglwyddo i gydweithwyr mewn archifau)

Nodweddion sydd eisoes ar y ffordd

Ni allem wrthsefyll y demtasiwn i godi gorchudd cyfrinachedd dros y datganiadau nesaf, yn enwedig pan fo'r swyddogaeth yn flasus iawn ac eisoes yn cael ei sgleinio ymlaen llaw. Felly, gadewch i ni gwrdd.

Swyddogaethau

Fel y gwyddoch, mae Postman yn defnyddio'r hyn a elwir yn newidynnau deinamig i gynhyrchu gwerthoedd. Mae'r rhestr ohonynt yn drawiadol a defnyddir y mwyafrif helaeth o swyddogaethau i gynhyrchu gwerthoedd ffug. Er enghraifft, i gynhyrchu e-bost ar hap mae angen i chi ysgrifennu:

{{$randomEmail}}

Fodd bynnag, gan mai newidynnau yw'r rhain (er eu bod yn ddeinamig), ni ellir eu defnyddio fel ffwythiannau: nid oes modd eu paramedr, felly ni fydd yn bosibl cymryd hash o linyn.

Rydym yn bwriadu ychwanegu swyddogaethau “onest” i TestMace. Y tu mewn i ${} bydd yn bosibl nid yn unig i gael mynediad at newidyn, ond hefyd i alw swyddogaeth. Y rhai. os oes angen i chi gynhyrchu'r e-bost ffug drwg-enwog, byddwn yn ysgrifennu

${faker.internet.email()}

Yn ogystal â'r ffaith ei fod yn swyddogaeth, byddwch yn sylwi ei bod yn bosibl galw dull ar wrthrych. Ac yn lle rhestr fflat fawr o newidynnau deinamig, mae gennym set o wrthrychau wedi'u grwpio'n rhesymegol.

Beth os ydym am gyfrifo hash llinyn? Yn hawdd!

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

Fe sylwch y gallwch chi hyd yn oed basio newidynnau fel paramedrau! Ar y pwynt hwn, gall darllenydd chwilfrydig amau ​​bod rhywbeth o'i le ...

Defnyddio JavaScript mewn Mynegiadau

... Ac am reswm da! Pan oedd y gofynion ar gyfer ffwythiannau yn cael eu ffurfio, daethom i'r casgliad yn sydyn y dylid ysgrifennu javascript dilys mewn ymadroddion. Felly nawr rydych chi'n rhydd i ysgrifennu ymadroddion fel:

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

A hyn i gyd heb sgriptiau, reit yn y meysydd mewnbwn!

O ran Postman, yma dim ond newidynnau y gallwch chi eu defnyddio, a phan fyddwch chi'n ceisio ysgrifennu'r mynegiant lleiaf, mae'r dilysydd yn melltithio ac yn gwrthod ei gyfrifo.

Pam mae TestMace yn well na Postman

Awto-gwblhau uwch

Ar hyn o bryd mae gan TestMace awtolenwi safonol sy'n edrych fel hyn:

Pam mae TestMace yn well na Postman

Yma, yn ogystal â'r llinell auto-gyflawn, nodir i beth mae'r llinell hon yn perthyn. Mae'r mecanwaith hwn ond yn gweithio mewn mynegiadau sydd wedi'u hamgylchynu gan fracedi ${}.

Fel y gwelwch, mae marcwyr gweledol wedi'u hychwanegu sy'n nodi'r math o newidyn (er enghraifft, llinyn, rhif, arae, ac ati). Gallwch hefyd newid y moddau awtogwblhau (er enghraifft, gallwch ddewis awto-gwblhau gyda newidynnau neu benawdau). Ond hyd yn oed nid dyma'r peth pwysicaf!

Yn gyntaf, mae awtolenwi yn gweithio hyd yn oed mewn ymadroddion (lle bo modd). Dyma sut mae'n edrych:

Pam mae TestMace yn well na Postman

Ac yn ail, mae awtolenwi bellach ar gael mewn sgriptiau. Cymerwch olwg ar sut mae'n gweithio!

Pam mae TestMace yn well na Postman

Nid oes unrhyw bwynt cymharu'r swyddogaeth hon â Postman - mae awtolenwi yn gyfyngedig i restrau statig o newidynnau, penawdau a'u gwerthoedd yn unig (cywirwch fi os anghofiais rywbeth). Nid yw sgriptiau wedi'u cwblhau'n awtomatig :)

Casgliad

Roedd mis Hydref yn nodi blwyddyn ers dechrau datblygu ein cynnyrch. Yn ystod y cyfnod hwn, rydym wedi llwyddo i wneud llawer o bethau ac, mewn rhai ffyrdd, dal i fyny gyda'n cystadleuwyr. Ond boed hynny fel y gall, ein nod yw gwneud offeryn gwirioneddol gyfleus ar gyfer gweithio gydag APIs. Mae gennym lawer o waith i’w wneud o hyd, dyma gynllun bras ar gyfer datblygu ein prosiect ar gyfer y flwyddyn i ddod: https://testmace.com/roadmap.

Bydd eich adborth yn ein galluogi i lywio'r cyfoeth o nodweddion yn well, ac mae eich cefnogaeth yn rhoi cryfder a hyder inni ein bod yn gwneud y peth iawn. Mae'n digwydd felly bod heddiw yn ddiwrnod pwysig i'n prosiect - y diwrnod y cyhoeddwyd TestMace arno ProductHunt. Cefnogwch ein prosiect, mae'n bwysig iawn i ni. Ar ben hynny, mae yna gynnig demtasiwn ar ein tudalen PH heddiw, ac mae'n gyfyngedig

Ffynhonnell: hab.com

Ychwanegu sylw