Çima TestMace ji Postman çêtir e

Çima TestMace ji Postman çêtir e

Silav her kes, li vir hûn diçin TestMace! Dibe ku gelek kes ji me dizanin yên me pêşî gotarên. Ji bo kesên ku nû tevlî bûne: em IDE-yek pêşve dikin ku bi TestMace API-yê re bixebitin. Dema ku TestMace bi hilberên hevrik re berhev dikin pirsa herî pir tê pirsîn ev e "Hûn ji Postman çawa cûda ne?" Me biryar da ku dem hatiye ku em bersiveke berfireh bidin vê pirsê. Li jêr me avantajên xwe li ser diyar kiriye Postevan.

Parçebûna nav girêkan

Ger hûn bi Postman re bixebitin, wê hingê hûn dizanin ku pêwendiya daxwaznameyê hemî fonksiyonên pêwîst dihewîne. Skrîpt, ceribandin, û bi rastî, pirs bi xwe hene. Ev ji bo destpêkan hêsantir dike, lê di senaryoyên mezin de ev nêzîkatî ne maqûl e. Ger hûn bixwazin gelek pirsan biafirînin û li ser wan kombûnê bikin? Ger hûn bixwazin skrîptek bêyî daxwazek an çend nivîsarên bi mentiqî yên ji hev veqetandî li pey hev bicîh bikin? Beriya her tiştî, ramanek baş e ku hûn ceribandinan ji nivîsarên karûbarê birêkûpêk veqetînin. Digel vê yekê, nêzîkatiya "hemû fonksiyonê li yek nodê zêde bike" ne berbelav e - navbeynkar zû zêde bar dibe.

TestMace di destpêkê de hemî fonksîyonê li cûrbecûr girêkan dabeş dike. Ma hûn dixwazin daxwazek bikin? Ew ji bo we ye gavê daxwaz node Ma hûn dixwazin senaryoyek binivîsin? Ew ji bo we ye nivîs node Pêdiviya testan heye? Ji kerema xwe ve - Îddîa node Oh, erê, hûn hîn jî dikarin vê hemî tiştî di nav xwe de bipêçin peldanka node Û ev hemî bi hêsanî bi hev re têne hev kirin. Ev nêzîkatî ne tenê pir maqûl e, lê di heman demê de, li gorî prensîba berpirsiyariya yekane, dihêle hûn tenê tiştê ku hûn di vê gavê de bi rastî hewce ne bikar bînin. Ger ez tenê daxwazek bikim çima ez hewceyê skrîpt û ceribandinan dikim?

Forma projeya mirov-xwende

Di awayê hilanîna wan de di navbera TestMace û Postman de cûdahiyek têgehî heye. Di Postman de, hemî daxwaz li cîhek di hilanîna herêmî de têne hilanîn. Ger hewceyê parvekirina daxwazan di navbera çend bikarhêneran de hebe, wê hingê hûn hewce ne ku hevrêziya çêkirî bikar bînin. Bi rastî, ev nêzîkatiyek bi gelemperî tête pejirandin, lê ne bê kêmasiyên wê ye. Li ser ewlehiya daneyê çi ye? Beriya her tiştî, polîtîkaya hin pargîdaniyan dibe ku nehêle daneyên bi aliyên sêyemîn re hilîne. Lêbelê, em difikirin ku TestMace tiştek çêtir heye ku pêşkêşî bike! Û navê vê pêşveçûnê "forma projeya ku ji hêla mirovan ve tê xwendin" e.

Ka em bi vê rastiyê dest pê bikin ku di TestMace de, di prensîbê de, saziyek "proje" heye. Û serîlêdan di destpêkê de bi çavê hilanîna projeyan di pergalên kontrolkirina guhertoyê de hate pêşve xistin: dara projeyê hema hema yek-bi-yek li ser avahiya pelê tê pêşandan, yaml wekî forma hilanînê tê bikar anîn (bê bend û komikên zêde), û Nûnertiya pelê ya her girêk bi hûrgulî di belgeyê de bi şîroveyan re tê vegotin. Lê di pir rewşan de hûn ê li wir negerin - hemî navên zeviyê navên mentiqî hene.

Ev çi dide bikarhêner? Ev dihêle hûn bi karanîna nêzîkatiyên naskirî, herikîna xebata tîmê pir bi nermî biguhezînin. Mînakî, pêşdebir dikarin projeyek di heman depoya paşîn de hilînin. Di şaxan de, ji bilî guheztina bingeha kodê bixwe, pêşdebir dikare nivîsar û ceribandinên pirsê yên heyî rast bike. Piştî ku guheztinên depo (git, svn, mercurial - ya ku hûn çêtirîn jê hez dikin), CI (ya weya bijare, ji hêla kesek ve nehatiye ferz kirin) kargêriya konsolê me dide destpêkirin. testmace-cli, û rapora ku piştî darvekirinê hatî wergirtin (mînak, di forma junit, ku di testmace-cli de jî tê piştgirî kirin) ji pergala guncan re tê şandin. Û kêşeya ewlehiyê ya jorîn jî êdî pirsgirêk nîne.

Wekî ku hûn dibînin, TestMace ekosîstem û paradîgmaya xwe ferz nake. Di şûna wê de, ew bi hêsanî di pêvajoyên sazkirî de cih digire.

Guherbarên Dînamîk

TestMace konsepta bê-kodê dişopîne: heke pirsgirêk bêyî karanîna kodê were çareser kirin, em hewl didin ku vê derfetê peyda bikin. Karkirina bi guherbaran re tam celebek fonksiyonê ye ku di pir rewşan de hûn dikarin bêyî bernamekirinê bikin.

Mînak: me bersivek ji pêşkêşkerê wergirt, û em dixwazin beşek bersivê di guhêrbarekê de hilînin. Di Postman de, di skrîptek ceribandinê de (ku bi serê xwe xerîb e) em ê tiştek weha binivîsin:

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

Lê bi dîtina me, nivîsandina senaryoyek wusa sade û pir caran tê bikar anîn, pir zêde xuya dike. Ji ber vê yekê, di TestMace de gengaz e ku bi karanîna navbeynkariya grafîkî ve perçeyek bersivê ji guhêrbar re were veqetandin. Binêrin ew çiqas hêsan e:

Çima TestMace ji Postman çêtir e

Û naha bi her daxwazê ​​re dê ev guhêrbara dînamîkî were nûve kirin. Lê hûn dikarin îtîraz bikin, bi argûmana ku nêzîkatiya Postman maqûltir e û dihêle hûn ne tenê peywirek bikin, lê di heman demê de hin pêş-processing jî pêk bînin. Li vir e ku meriv mînaka berê çawa biguhezîne:

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

Welê, ji bo vê armancê TestMace heye nivîs node, ku vê senaryoyê vedigire. Ji bo ku hûn doza berê ji nû ve hilberînin, lê jixwe ji hêla TestMace ve hatî darve kirin, hûn hewce ne ku li dû daxwazê ​​girêkek skrîptê biafirînin û koda jêrîn wekî skrîptê bikar bînin:

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

Wekî ku hûn dibînin, pêkhatina girêkan li vir jî baş xizmet kir. Û ji bo dozek wusa hêsan a ku li jor hatî destnîşan kirin, hûn dikarin bi hêsanî îfadeyê bidin ${crypto.MD5($response.data)} guhêrbar bi navgîniya GUI ve hatî afirandin!

Afirandina testan bi GUI

Postman dihêle hûn bi nivîsandina nivîsan ceribandinan biafirînin (di doza Postman de, ev JavaScript e). Vê nêzîkatiyê gelek avantajên xwe hene - nermbûna hema bêsînor, hebûna çareseriyên amade, hwd.

Lêbelê, rastî pir caran wusa ye (em ne wusa ne, jiyan wusa ye) ku ceribandinek jêhatîbûna bernamekirinê tune ye, lê ew dixwaze aniha sûdê bide tîmê. Ji bo rewşên weha, li pey têgîna bê-kod, TestMace dihêle hûn bi navgîniya GUI-yê ceribandinên hêsan biafirînin bêyî ku serî li nivîsandina nivîsan bidin. Li vir, mînakî, pêvajoya afirandina ceribandinek ku nirxan ji bo wekheviyê berhev dike çawa xuya dike:

Çima TestMace ji Postman çêtir e

Lêbelê, çêkirina ceribandinên di edîtorek grafîkî de îmkanê ji holê ranake nivîsandina testên di kodê de. Hemî heman pirtûkxane li vir in wekî di girêka skrîptê de, û chai ji bo testên nivîsandinê.

Pir caran rewş çêdibin dema ku pirsek an jî tewra nivîsarek pêdivî ye ku çend caran di beşên cûda yên projeyê de were darve kirin. Nimûneyek ji daxwazên weha dikare destûrnameya pir-qonaxa xwerû be, anîna jîngehê berbi rewşa xwestî, hwd. Bi gelemperî, di warê zimanên bernamekirinê de diaxivin, em dixwazin fonksiyonên ku di beşên cihêreng ên serîlêdanê de ji nû ve werin bikar anîn hebin. Di TestMace de ev fonksiyon ji hêla pêk tê pêvek node Bikaranîna wê pir hêsan e:
1) pirsek an skrîptekê biafirîne
2) girêkek ji celebê Girêdanê biafirîne
3) di pîvanan de, girêdanek bi skrîpta ku di gava yekem de hatî çêkirin ve diyar bikin

Di guhertoyek pêşkeftî de, hûn dikarin diyar bikin ka kîjan guhêrbarên dînamîkî yên ji skrîptê li gorî girêdanê derbasî astek bilindtir dibin. Deng tevlihev? Ka em bibêjin me Peldankek bi navê xwe çêkir afirandin-post, ku di hundurê wê de guhêrbarek dînamîkî ji vê girêkê re tê veqetandin postId. Niha di girêka Link afirandin-post-girêdan hûn dikarin bi eşkere diyar bikin ku guhêrbar postId ji bavekî re hatiye tayînkirin afirandin-post-girêdan. Ev mekanîzma (dîsa, di zimanê bernamesaziyê de) dikare ji bo vegerandina encamek ji "fonksiyonê" were bikar anîn. Bi gelemperî, ew xweş e, DRY bi tevahî tevger e û dîsa yek rêzek kodê zirarê nekiriye.

Çima TestMace ji Postman çêtir e

Wekî ku ji bo Postman, daxwazek taybetmendiyek ji bo ji nû ve karanîna daxwazan heye ji sala 2015'an ve tê daliqandin, û dixuye jî heye hin nîşanku ew li ser vê pirsgirêkê dixebitin. Di forma xweya heyî de, Postman, bê guman, xwedan şiyana guheztina mijara darvekirinê ye, ku di teorîyê de dibe ku pêkanîna behreyên bi vî rengî mumkun e, lê ev ji nêzîkatiyek bi rastî karekî pirtir hackek qirêj e.

Cudahiyên din

  • Kontrolek mezintir li ser çarçoveya guherbaran. Qada herî piçûk a ku di nav Postman de guhêrbar dikare were destnîşankirin berhevok e. TestMace destûrê dide te ku hûn ji bo her pirs an peldankê guherbaran diyar bikin. Di berhevoka Postman Share de dihêle hûn tenê berhevokan derxînin, dema ku di TestMace de parvekirina ji bo her nodê dixebite
  • TestMace piştgirî dike sernivîsên mîras, ku ji hêla xwerû ve dikare di nav pirsên zarokan de were veguheztin. Postman li ser vê yekê tiştek heye: karê, û ew jî girtî ye, lê wekî çareseriyek tê pêşkêş kirin ... skrîptan bikar bînin. Di TestMace de, ev hemî bi navgîniya GUI-yê ve hatî mîheng kirin û vebijarkek heye ku bi rengek vebijarkî sernavên mîras ên di neviyên taybetî de neçalak bike.
  • Vegere/Vegere. Ne tenê dema guheztina girêkan, lê di heman demê de dema barkirin, jêbirin, binavkirin û operasyonên din ên ku avahiya projeyê diguherînin jî dixebite.
  • Pelên ku bi daxwazan ve têne girêdan dibin beşek projeyê û bi wê re têne hilanîn, di heman demê de ku bi rengek bêkêmasî têne hevdem kirin, berevajî Postman. (Erê, êdî ne hewce ye ku hûn her gava ku hûn dest pê dikin bi destan pelan hilbijêrin û wan ji hevkarên arşîvan re veguhezînin)

Taybetmendiyên ku jixwe di rê de ne

Me nikarîbû li hember ceribandina rakirina perdeya nepenîtiyê li ser weşanên din bisekinin, nemaze dema ku fonksiyon pir xweş e û jixwe di bin pîskirina pêş-serbestberdanê de ye. Ji ber vê yekê, werin em hev bibînin.

Karkerên

Wekî ku hûn dizanin, Postman bi vî rengî guhêrbarên dînamîkî bikar tîne da ku nirxan biafirîne. Lîsteya wan balkêş e û pirraniya fonksiyonan ji bo afirandina nirxên sexte têne bikar anîn. Mînakî, ji bo afirandina e-nameyek rasthatî hûn hewce ne ku binivîsin:

{{$randomEmail}}

Lêbelê, ji ber ku ev guhêrbar in (her çend dînamîk in), ew nikarin wekî fonksiyon werin bikar anîn: ew ne parameterîzasyon in, ji ber vê yekê dê ne gengaz be ku meriv haşek ji rêzek were girtin.

Em plan dikin ku fonksiyonên "rast" li TestMace zêde bikin. Hema di hundurê ${} de ne tenê guheztina guhêrbarek, lê bangkirina fonksiyonek jî gengaz e. Ewan. heke hûn hewce ne ku e-nameya derewîn a navdar biafirînin, em ê tenê binivîsin

${faker.internet.email()}

Digel vê yekê ku ew fonksiyonek e, hûn ê bibînin ku gengaz e ku meriv rêbazek li ser tiştekê bang bike. Û li şûna navnîşek mezin a guhêrbarên dînamîkî, me komek tiştên bi mentiqî komkirî hene.

Ger em bixwazin heşê xêzekê hesab bikin? Bi hêsanî!

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

Hûn ê bala xwe bidin ku hûn dikarin guhêrbaran jî wekî parameteran derbas bikin! Di vê nuqteyê de, xwendevanek lêkolîner dibe ku guman bike ku tiştek xelet e ...

Bikaranîna JavaScript di îfadeyan de

... Û ji bo sedemek baş! Dema ku hewcedariyên fonksiyonan çêdibûn, em ji nişkê ve gihîştin wê encamê ku javascript derbasdar divê di îfadeyan de were nivîsandin. Ji ber vê yekê niha hûn azad in ku hûn îfadeyên wekî:

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

Û ev hemî bêyî nivîsar, rast di qadên têketinê de!

Wekî ku ji bo Postman, li vir hûn tenê dikarin guhêrbaran bikar bînin, û gava ku hûn hewl didin ku îfadeya herî piçûk binivîsin, erêker nifiran dike û red dike ku wê hesab bike.

Çima TestMace ji Postman çêtir e

Xweseriya pêşkeftî

Heya nuha TestMace xwedan qedandinek standard heye ku bi vî rengî xuya dike:

Çima TestMace ji Postman çêtir e

Li vir, ji bilî xêza xweser-temamkirî, tê destnîşan kirin ku ev rêz ji kîjan e. Ev mekanîzma tenê di biwêjên ku li dora ${}-bendan hatine dorpêçkirin de dixebite.

Wekî ku hûn dikarin bibînin, nîşankerên dîtbar hatine zêdekirin ku celebê guhêrbar destnîşan dikin (mînak, rêz, hejmar, rêz, hwd.). Her weha hûn dikarin modên temamkirina otomatîkî biguhezînin (mînak, hûn dikarin bi guhêrbar an sernivîsan ve temamkirina otomatîkî hilbijêrin). Lê ev jî ne ya herî girîng e!

Pêşîn, ototemamkirin di nav îfadeyan de jî dixebite (ku gengaz be). Ya ku xuya dike ev e:

Çima TestMace ji Postman çêtir e

Ya duyemîn jî, temamkirina otomatîkî naha di nivîsan de heye. Binêrin ka ew çawa dixebite!

Çima TestMace ji Postman çêtir e

Ti xala berhevkirina vê fonksiyonê bi Postman re tune - temamkirina otomatîkî tenê bi navnîşên statîk ên guhêrbar, sernav û nirxên wan re sînorkirî ye (ger min tiştek ji bîr kir min rast bike). Skrîpt bixwe nayên temam kirin :)

encamê

Cotmeh salek ji destpêka pêşveçûna hilberê me re derbas bû. Di vê demê de, me gelek tişt kir û, ji hin aliyan ve, bi hevrikên xwe re girtin. Lê wusa be, mebesta me ev e ku em amûrek bi rastî hêsan ji bo xebata bi API-yan re çêbikin. Hîn gelek karê me heye ku em bikin, li vir ji bo pêşkeftina projeya me ji bo sala pêş planek hişk heye: https://testmace.com/roadmap.

Bersivdana we dê rê bide me ku em di pirbûna taybetmendiyan de çêtir rêve bibin, û piştgiriya we hêz û pêbaweriyê dide me ku em tiştê rast dikin. Wusa çêbû ku îro ji bo projeya me rojek girîng e - roja ku TestMace tê weşandin Hunt Product. Ji kerema xwe piştgirî bidin projeya me, ji bo me pir girîng e. Wekî din, îro li ser rûpela meya PH-ê pêşniyarek ceribandî heye, û ew tixûbdar e

Source: www.habr.com

Add a comment