{"id":54188,"date":"2019-12-20T00:00:00","date_gmt":"2019-12-19T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/chem-testmace-luchshe-postman"},"modified":"2020-02-18T14:02:10","modified_gmt":"2020-02-18T11:02:10","slug":"chem-testmace-luchshe-postman","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/chem-testmace-luchshe-postman","title":{"rendered":"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/4b61986c287c32a4cefeb2f805fc228f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve, k\u00ebtu <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/\">TestMace<\/a><\/noindex>! Ndoshta, shum\u00eb prej jush na njihni nga <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458372\/\">tonat<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/462585\/\">lajmeve t\u00eb m\u00ebparshme<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458964\/\">artikujsh<\/a><\/noindex>. P\u00ebr ata q\u00eb sapo jan\u00eb lidhur: ne zhvillojm\u00eb IDE p\u00ebr pun\u00ebn me API TestMace. Pyetja m\u00eb e shpesht\u00eb kur krahasohet TestMace me produktet konkurrente \u00ebsht\u00eb: '\u00c7far\u00eb ju ndryshon nga Postman?'. Vendos\u00ebm q\u00eb \u00ebsht\u00eb koha t\u00eb japim nj\u00eb p\u00ebrgjigje t\u00eb detajuar p\u00ebr k\u00ebt\u00eb pyetje. M\u00eb posht\u00eb, kemi renditur p\u00ebrfitimet tona ndaj <noindex><a rel=\"nofollow\" href=\"https:\/\/www.getpostman.com\/\">Postman<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"razdelenie-na-uzly\">Ndarja n\u00eb nyje<\/h2>\n<p><\/p>\n<p>N\u00ebse punoni me Postman, e dini se nd\u00ebrfaqja e k\u00ebrkes\u00ebs p\u00ebrmban t\u00eb gjith\u00eb funksionalitetin e nevojsh\u00ebm. Aty ka skripte, teste dhe, n\u00eb thelb, k\u00ebrkesat vet\u00eb. Kjo e thjeshton pun\u00ebn p\u00ebr fillestar\u00ebt, megjithat\u00eb, n\u00eb skenar\u00eb t\u00eb m\u00ebdhenj, ky qasje nuk \u00ebsht\u00eb fleksib\u00ebl. \u00c7far\u00eb n\u00ebse d\u00ebshiron t\u00eb krijosh disa k\u00ebrkesa dhe t\u00eb b\u00ebsh agregimin mbi to? \u00c7far\u00eb n\u00ebse do t\u00eb ekzekutosh nj\u00eb skript pa k\u00ebrkes\u00eb ose disa skripte t\u00eb ndara logjikisht radhazi? N\u00eb fund t\u00eb fundit, nuk do t\u00eb ishte keq t\u00eb ndaheshin testet nga skriptet e zakonshme utilitare. P\u00ebrve\u00e7 k\u00ebsaj, qasja 'shtojm\u00eb t\u00eb gjith\u00eb funksionalitetin n\u00eb nj\u00eb nyje' \u00ebsht\u00eb e pa shkall\u00ebzuar \u2014 nd\u00ebrfaqja shpejt b\u00ebhet e ngarkuar.<\/p>\n<p><\/p>\n<p>TestMace fillimisht ndan t\u00eb gjith\u00eb funksionalitetin n\u00eb lloje t\u00eb ndryshme nyjesh. D\u00ebshiron t\u00eb b\u00ebsh nj\u00eb k\u00ebrkes\u00eb? Ja ku je <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/requeststep\">hapi i k\u00ebrkes\u00ebs<\/a><\/noindex> nyje. D\u00ebshiron t\u00eb shkruash nj\u00eb skript? Ja ku je <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/script\">script<\/a><\/noindex> nyje. T\u00eb nevojiten teste? Po \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/assertion\">Assertion<\/a><\/noindex> nyje. Oh, po, ti gjithashtu mund ta mb\u00ebshtjell\u00ebsh k\u00ebt\u00eb n\u00eb nj\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/folder\">folder<\/a><\/noindex> nyje. Dhe e gjith\u00eb kjo leht\u00eb kombinon me nj\u00ebra-tjetr\u00ebn. Kjo qasje jo vet\u00ebm q\u00eb \u00ebsht\u00eb shum\u00eb fleksib\u00ebl, por edhe, n\u00eb p\u00ebrputhje me parimin e p\u00ebrgjegj\u00ebsis\u00eb unike, lejon t\u00eb p\u00ebrdoret vet\u00ebm ajo q\u00eb t\u00eb nevojitet v\u00ebrtet n\u00eb at\u00eb moment. Pse t\u00eb m\u00eb duhen skripte dhe teste, n\u00ebse thjesht dua t\u00eb b\u00ebj nj\u00eb k\u00ebrkes\u00eb?<\/p>\n<p><\/p>\n<h2 id=\"chelovekochitaemyy-format-proekta\">Formati i lexuesh\u00ebm p\u00ebr njeriun i projektit<\/h2>\n<p><\/p>\n<p>Mes TestMace dhe Postman ka nj\u00eb dallim konceptual n\u00eb m\u00ebnyr\u00ebn e ruajtjes. N\u00eb Postman t\u00eb gjitha k\u00ebrkesat ruhen diku n\u00eb ruajtjen lokale. N\u00ebse ka nevoj\u00eb p\u00ebr t\u00eb ndar\u00eb k\u00ebrkesat midis disa p\u00ebrdoruesve, duhet t\u00eb p\u00ebrdoren sinkronizimi i nd\u00ebrtuar. N\u00eb t\u00eb v\u00ebrtet\u00eb, kjo \u00ebsht\u00eb nj\u00eb qasje e zakonshme, por jo pa disavantazhe. Si p\u00ebr sigurin\u00eb e t\u00eb dh\u00ebnave? Politika e disa kompanive mund t\u00eb mos lejoj\u00eb ruajtjen e t\u00eb dh\u00ebnave te pal\u00ebt e treta. Megjithat\u00eb, ne mendojm\u00eb se TestMace mund t\u00eb ofroj\u00eb di\u00e7ka m\u00eb t\u00eb mir\u00eb! Dhe emri i k\u00ebtij p\u00ebrmir\u00ebsimi \u00ebsht\u00eb 'formati i lexuesh\u00ebm p\u00ebr njeriun i projektit'.<\/p>\n<p><\/p>\n<p>Le t\u00eb fillojm\u00eb me faktin se n\u00eb TestMace ka n\u00eb thelb entitetin \u201cprojekt\u201d. Dhe aplikacioni \u00ebsht\u00eb zhvilluar n\u00eb parim p\u00ebr ruajtjen e projekteve n\u00eb sistemet e kontrollit t\u00eb versioneve: struktura e projektit pothuajse projektohet nj\u00eb n\u00eb nj\u00eb me struktur\u00ebn e skedar\u00ebve, formati i ruajtjes p\u00ebrdor yaml (pa shenj\u00eb t\u00eb panevojshme dhe presje), dhe paraqitja e skedar\u00ebve t\u00eb \u00e7do nyje p\u00ebrshkruhet n\u00eb detaje n\u00eb dokumentacion me komentet. Por n\u00eb shumic\u00ebn e rasteve nuk do t\u00eb keni nevoj\u00eb t\u00eb shikoni atje \u2014 t\u00eb gjitha emrat e fushave kan\u00eb emra t\u00eb arsyesh\u00ebm. <\/p>\n<p><\/p>\n<p>\u00c7far\u00eb i sjell p\u00ebrdoruesit? Kjo lejon t\u00eb ndryshoni shum\u00eb fleksib\u00ebl rrjedh\u00ebn e pun\u00ebs s\u00eb ekipit duke p\u00ebrdorur qasje t\u00eb njohura. P\u00ebr shembull, zhvilluesit mund t\u00eb ruajn\u00eb projektin n\u00eb t\u00eb nj\u00ebjtin depo si backend. N\u00eb deg\u00eb, p\u00ebrve\u00e7 ndryshimit t\u00eb baz\u00ebs s\u00eb kodit, zhvilluesi mund t\u00eb rregulloj\u00eb skenar\u00ebt ekzistues t\u00eb k\u00ebrkesave dhe testet. Pas regjistrimit t\u00eb ndryshimeve n\u00eb depo (git, svn, mercurial \u2014 \u00e7far\u00ebdo q\u00eb ju p\u00eblqen) CI (e preferuara juaj, e cila s'iu \u00ebsht\u00eb imponuar) aktivizon mjetin ton\u00eb konsol\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/package\/@testmace\/cli\">testmace-cli<\/a><\/noindex>, dhe raporti i marr\u00eb pas ekzekutimit (p\u00ebr shembull, n\u00eb formatin junit, i cili gjithashtu mb\u00ebshtetet n\u00eb testmace-cli) d\u00ebrgohet n\u00eb sistemin p\u00ebrkat\u00ebs. Dhe, pyetja e p\u00ebrmendur m\u00eb lart p\u00ebr sigurin\u00eb tashm\u00eb s'\u00ebsht\u00eb problem.<\/p>\n<p><\/p>\n<p>Si\u00e7 shihni, TestMace nuk imponon ekosistemin dhe paradigm\u00ebn e saj. N\u00eb vend t\u00eb k\u00ebsaj, ajo leht\u00eb integrohet n\u00eb proceset e themeluara.<\/p>\n<p><\/p>\n<h2 id=\"dinamicheskie-peremennye\">Variablat dinamike<\/h2>\n<p><\/p>\n<p>TestMace ndjek konceptin no-code: n\u00ebse problemi mund t\u00eb zgjidhet pa p\u00ebrdorimin e kodit, ne p\u00ebrpiqemi t\u00eb ofrojm\u00eb k\u00ebt\u00eb mund\u00ebsi. Puna me variablat \u00ebsht\u00eb pik\u00ebrisht funksionaliteti ku n\u00eb shumic\u00ebn e rasteve mund t\u00eb kaloni pa programim.<\/p>\n<p><\/p>\n<p>Shembuj: mor\u00ebm nj\u00eb p\u00ebrgjigje nga serveri dhe duam t\u00eb ruajm\u00eb nj\u00eb pjes\u00eb t\u00eb p\u00ebrgjigjes n\u00eb nj\u00eb variab\u00ebl. N\u00eb Postman do t\u00eb shkruanim n\u00eb skenarin e testit (\u00e7ka vet\u00eb \u00ebsht\u00eb e \u00e7uditshme) di\u00e7ka si:<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">var jsonData = JSON.parse(responseBody);\npostman.setEnvironmentVariable(\"data\", jsonData.data);<\/code><\/pre>\n<p><\/p>\n<p>Por sipas mendimit ton\u00eb, shkruarja e nj\u00eb skripti p\u00ebr nj\u00eb skenar kaq t\u00eb thjesht\u00eb dhe t\u00eb p\u00ebrdorur shpesh duket e tepruar. Prandaj n\u00eb TestMace ka mund\u00ebsin\u00eb p\u00ebr t\u00eb caktuar nj\u00eb pjes\u00eb t\u00eb p\u00ebrgjigjes nj\u00eb variabli duke p\u00ebrdorur nd\u00ebrfaqen grafike. Shihni sa e thjesht\u00eb \u00ebsht\u00eb:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/2ce8ce2f9aa2964cb5bd1d5eacead423.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dhe tani, me \u00e7do k\u00ebrkes\u00eb, ky variab\u00ebl dinamik do t\u00eb p\u00ebrdit\u00ebsohet. Por ju mund t\u00eb kund\u00ebrshtoni, duke argumentuar se qasja e Postman \u00ebsht\u00eb m\u00eb fleksibile dhe lejon t\u00eb b\u00ebni jo vet\u00ebm caktimin, por gjithashtu t\u00eb kryeni nj\u00eb p\u00ebrpunim paraprak. Ja si mund t\u00eb modifikoni shembullin e m\u00ebparsh\u00ebm:<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">var jsonData = JSON.parse(responseBody);\npostman.setEnvironmentVariable(\"data\", CryptoJS.MD5(jsonData.data));<\/code><\/pre>\n<p><\/p>\n<p>Epo, p\u00ebr k\u00ebt\u00eb n\u00eb TestMace ka <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/script\">script<\/a><\/noindex> nj\u00eb nod, i cili mbulon k\u00ebt\u00eb skenar. P\u00ebr t\u00eb riprodhuar rastin e m\u00ebparsh\u00ebm, por tashm\u00eb n\u00eb implementimin e TestMace, \u00ebsht\u00eb e nevojshme pas k\u00ebrkes\u00ebs t\u00eb krijoni nj\u00eb nod script dhe si skript t\u00eb p\u00ebrdorni kodin e m\u00ebposht\u00ebm:<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">const data = tm.currentNode.prev.response.body.data;\ntm.currentNode.parent.setDynamicVar('data', crypto.MD5(data));<\/code><\/pre>\n<p><\/p>\n<p>Si\u00e7 e shihni, kompozita e node-ve k\u00ebtu ka sh\u00ebrbyer mir\u00eb. Dhe p\u00ebr nj\u00eb rast kaq t\u00eb thjesht\u00eb, si\u00e7 \u00ebsht\u00eb p\u00ebrshkruar m\u00eb sip\u00ebr, ju madje mund t\u00eb p\u00ebrcaktoni thjesht shprehjen <code>${crypto.MD5($response.data)}<\/code> p\u00ebr nj\u00eb variab\u00ebl, e cila krijohet p\u00ebrmes nd\u00ebrfaqes grafike!<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-testov-cherez-gui\">Krijimi i testeve p\u00ebrmes GUI<\/h2>\n<p><\/p>\n<p>Postman lejon krijimin e testeve p\u00ebrmes shkruarjes s\u00eb skripteve (n\u00eb rastin e Postman \u00ebsht\u00eb JavaScript). Ky qasje ka vet\u00ebm avantazhe \u2014 fleksibilitet t\u00eb pakufizuar, zgjidhje t\u00eb gatshme, etj.<\/p>\n<p><\/p>\n<p>Megjithat\u00eb, realitetet shpesh jan\u00eb t\u00eb tilla (nuk jemi ne k\u00ebshtu, \u00ebsht\u00eb k\u00ebshtu jeta), q\u00eb testuesi nuk ka aft\u00ebsi programimi, nd\u00ebrsa do t\u00eb donte t\u00eb kontribuonte n\u00eb ekip q\u00eb tani. P\u00ebr k\u00ebto raste, duke ndjekur konceptin no-code, TestMace lejon krijimin e testeve t\u00eb thjeshta p\u00ebrmes nj\u00eb nd\u00ebrfaqe grafike, pa u nevojitur t\u00eb shkruani skripte. Ja si duket procesi i krijimit t\u00eb nj\u00eb testi q\u00eb krahason vlerat p\u00ebr barazim:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/c0a8ce4cbe264dd76e3b5d90594eeff5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Megjithat\u00eb, krijimi i testeve n\u00eb redaktorin grafik nuk anullon mund\u00ebsin\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/assertion\/script\">e shkruarjes s\u00eb testeve n\u00eb kod<\/a><\/noindex>. K\u00ebtu jan\u00eb t\u00eb nj\u00ebjtat biblioteka si n\u00eb nyj\u00ebn script, dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.chaijs.com\/\">chai<\/a><\/noindex> p\u00ebr shkruarjen e testeve.<\/p>\n<p><\/p>\n<h2 id=\"vozmozhnost-zapustit-uzhe-suschestvuyuschiy-scenariy-po-ssylke-link-uzel\">Mund\u00ebsia p\u00ebr t\u00eb nisur nj\u00eb skenar ekzistues p\u00ebrmes lidhjes (nyja Link)<\/h2>\n<p><\/p>\n<p>Shpesh ndodhin situata t\u00eb tilla, kur nj\u00eb k\u00ebrkes\u00eb ose madje nj\u00eb skenar i t\u00ebr\u00eb duhet t\u00eb ekzekutohet disa her\u00eb n\u00eb pjes\u00eb t\u00eb ndryshme t\u00eb projektit. Nj\u00eb shembull i till\u00eb p\u00ebr k\u00ebrkesat mund t\u00eb jet\u00eb autorizimi personal i shum\u00eb hapave, p\u00ebrshtatja e mjedisit n\u00eb gjendjen e duhur etj. N\u00eb p\u00ebrgjith\u00ebsi, n\u00eb terma t\u00eb gjuh\u00ebve t\u00eb programimit, do t\u00eb doja t\u00eb kisha funksione q\u00eb mund t\u00eb rishfryt\u00ebzohen n\u00eb pjes\u00eb t\u00eb ndryshme t\u00eb aplikacionit. N\u00eb TestMace, kjo funksion kryhet nga <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/link\">link<\/a><\/noindex> nyja. Ta p\u00ebrdor\u00ebsh at\u00eb \u00ebsht\u00eb shum\u00eb e thjesht\u00eb:<br \/>\n1) krijoni nj\u00eb k\u00ebrkes\u00eb ose skenar<br \/>\n2) krijoni nj\u00eb nyje t\u00eb tipit Link<br \/>\n3) n\u00eb parametrat specifikoni lidhjen me skenarin q\u00eb u krijua n\u00eb hapin e par\u00eb<\/p>\n<p><\/p>\n<p>N\u00eb nj\u00eb variant m\u00eb t\u00eb avancuar, mund t\u00eb shkruani cilat variabla dinamike nga skenari duhet t\u00eb kalohen n\u00eb nivelin e sip\u00ebrm n\u00eb lidhje me lidhjen. Duket e komplikuar? Le t\u00eb themi se ne kemi krijuar nj\u00eb Folder me emrin <strong>create-post<\/strong>, brenda t\u00eb cilit i caktohet nj\u00eb variabl\u00eb dinamike <code>postId<\/code>. Tani n\u00eb nyj\u00ebn Link <strong>create-post-link<\/strong> mund t\u00eb specifikoni qart\u00eb q\u00eb variabla <code>postId<\/code> t\u00eb caktohej paraardh\u00ebsit <strong>create-post-link<\/strong>. Ky mekaniz\u00ebm (s\u00ebrish, duke folur n\u00eb gjuh\u00ebn e programuesve) mund t\u00eb p\u00ebrdoret p\u00ebr t\u00eb kthyer rezultatin nga \"funksioni\". N\u00eb p\u00ebrgjith\u00ebsi, \u00ebsht\u00eb super, DRY n\u00eb mas\u00ebn e plot\u00eb dhe s\u00ebrish asnj\u00eb rresht kodi nuk \u00ebsht\u00eb d\u00ebmtuar.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/5235473a43e5bc2e05aeb2779846245f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sa i p\u00ebrket Postman, k\u00ebrkesa p\u00ebr funksionalitetin e rishfryt\u00ebzimit t\u00eb k\u00ebrkesave <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1535\">ka qen\u00eb n\u00eb diskutim q\u00eb nga viti 2015<\/a><\/noindex>, dhe duket se madje ka <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1535#issuecomment-280305898\">disa aludime<\/a><\/noindex>, q\u00eb kjo problematik\u00eb po punohet. N\u00eb form\u00ebn e tanishme, Postman sigurisht ka mund\u00ebsin\u00eb e ndryshimit t\u00eb rrjedh\u00ebs s\u00eb ekzekutimit, e cila teorikisht, ndoshta, lejon realizimin e nj\u00eb sjelljeje t\u00eb till\u00eb, por kjo \u00ebsht\u00eb m\u00eb shum\u00eb nj\u00eb hack i papast\u00ebr, sesa nj\u00eb qasje e v\u00ebrtet\u00eb funksionale. <\/p>\n<p><\/p>\n<h2 id=\"prochie-otlichiya\">Dallime t\u00eb tjera<\/h2>\n<p><\/p>\n<ul>\n<li>Kontroll m\u00eb t\u00eb madh mbi fush\u00ebn e dukshm\u00ebris\u00eb s\u00eb variablave. Fush\u00eb m\u00eb e vog\u00ebl, brenda s\u00eb cil\u00ebs mund t\u00eb p\u00ebrcaktohet nj\u00eb variabl\u00eb n\u00eb Postman, \u00ebsht\u00eb koleksioni. TestMace lejon p\u00ebrcaktimin e variablave p\u00ebr \u00e7do k\u00ebrkes\u00eb ose folder. N\u00eb Postman, Share collection lejon eksportimin vet\u00ebm t\u00eb koleksioneve, nd\u00ebrsa n\u00eb TestMace ndarja funksionon p\u00ebr \u00e7do nyje.<\/li>\n<li>TestMace mb\u00ebshtet <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/other\/default-http-headers\">tituj t\u00eb trash\u00ebguar<\/a><\/noindex>, t\u00eb cil\u00ebt mund t\u00eb p\u00ebrshtaten automatikisht n\u00eb k\u00ebrkesat e f\u00ebmij\u00ebve. N\u00eb k\u00ebt\u00eb drejtim, Postman ka diskutime. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1947\">detyra<\/a><\/noindex>, dhe \u00ebsht\u00eb madje e mbyllur, por si zgjidhje propozohet\u2026 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1947#issuecomment-292741840\">t\u00eb p\u00ebrdoren skriptet<\/a><\/noindex>. N\u00eb TestMace, gjith\u00e7ka konfigurohet p\u00ebrmes GUI dhe ka mund\u00ebsin\u00eb p\u00ebr t\u00eb \u00e7aktivizuar titujt e trash\u00ebguar n\u00eb pasardh\u00ebsit e caktuar<\/li>\n<li>Undo\/Redo. Funksionon jo vet\u00ebm gjat\u00eb redaktimit t\u00eb nod\u00ebve, por edhe gjat\u00eb l\u00ebvizjes, fshirjes, rinrenimit dhe operacioneve t\u00eb tjera q\u00eb ndryshojn\u00eb struktur\u00ebn e projektit<\/li>\n<li>Skedar\u00ebt e bashkangjitur me k\u00ebrkesat b\u00ebhen pjes\u00eb e projektit dhe ruhen s\u00eb bashku me t\u00eb, dhe sinkronizohen n\u00eb m\u00ebnyr\u00eb perfekte, ndryshe nga Postman. (Po, m\u00eb nuk \u00ebsht\u00eb nevoja q\u00eb \u00e7do her\u00eb t\u00eb zgjidhni skedar\u00ebt manualisht gjat\u00eb \u00e7do ekzekutimi dhe t'i d\u00ebrgoni koleg\u00ebve n\u00eb arkiva)<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"fichi-kotorye-uzhe-na-podhode\">Karakteristika q\u00eb tashm\u00eb jan\u00eb n\u00eb prag<\/h2>\n<p><\/p>\n<p>Nuk mund\u00ebm t'i rezistojm\u00eb tundimit p\u00ebr t\u00eb hapur pak perden e misterit mbi versionet e ardhshme, sidomos kur funksionaliteti \u00ebsht\u00eb shum\u00eb t\u00ebrheq\u00ebs dhe tashm\u00eb po kalon n\u00eb shk\u00eblqimin para l\u00ebshimit. Pra, mir\u00ebseardhje.<\/p>\n<p><\/p>\n<h3 id=\"funkcii\">Funksionet<\/h3>\n<p><\/p>\n<p>Si\u00e7 dihet, p\u00ebr t\u00eb gjeneruar vlera n\u00eb Postman p\u00ebrdoren variablat dinamik\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/learning.getpostman.com\/docs\/postman\/variables-and-environments\/variables-list\/\">Lista e tyre \u00ebsht\u00eb mbres\u00ebl\u00ebn\u00ebse<\/a><\/noindex> dhe shumica d\u00ebrrmuese e funksioneve sh\u00ebrbejn\u00eb p\u00ebr t\u00eb gjeneruar vlera t\u00eb rreme. P\u00ebr shembull, p\u00ebr t\u00eb gjeneruar nj\u00eb email t\u00eb rast\u00ebsish\u00ebm duhet t\u00eb shkruhet:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">{{$randomEmail}}<\/code><\/pre>\n<p><\/p>\n<p>Megjithat\u00eb, pasi q\u00eb k\u00ebto jan\u00eb variabla (edhe pse dinamik\u00eb), nuk mund t\u00eb p\u00ebrdoren si funksione: ato nuk jan\u00eb parametrizueshme, p\u00ebr pasoj\u00eb nuk mund t\u00eb merrni hash nga nj\u00eb varg.<\/p>\n<p><\/p>\n<p>N\u00eb TestMace planifikojm\u00eb t\u00eb shtojm\u00eb funksione \"t\u00eb ndershme\". Drejt brenda ${} do t\u00eb jet\u00eb e mundur jo vet\u00ebm t\u00eb iu drejtohemi nj\u00eb variabli, por edhe t\u00eb th\u00ebrrasim nj\u00eb funksion. Pra, n\u00ebse duam t\u00eb gjenerojm\u00eb email-in e famsh\u00ebm t\u00eb rrem\u00eb, ne thjesht do t\u00eb shkruajm\u00eb<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">${faker.internet.email()}<\/code><\/pre>\n<p><\/p>\n<p>P\u00ebrve\u00e7 faktit q\u00eb \u00ebsht\u00eb nj\u00eb funksion, mund t\u00eb v\u00ebrehet se ka mund\u00ebsin\u00eb e thirrjes s\u00eb metod\u00ebs s\u00eb objektit. Dhe n\u00eb vend t\u00eb nj\u00eb liste t\u00eb madhe t\u00eb planifikat e dinamik\u00ebve, kemi nj\u00eb grup objektesh t\u00eb organizuara logjikisht.<\/p>\n<p><\/p>\n<p>E \u00e7far\u00eb n\u00ebse duam t\u00eb llogarisim hashin e nj\u00eb vargu? Leht\u00eb!<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">${crypto.MD5($dynamicVar.data)}<\/code><\/pre>\n<p><\/p>\n<p>V\u00ebrehet se si parametra mund t\u00eb kalohen edhe variabla! N\u00eb k\u00ebt\u00eb pik\u00eb, lexuesi kureshtar mund t\u00eb dyshoj\u00eb p\u00ebr di\u00e7ka q\u00eb nuk shkon... <\/p>\n<p><\/p>\n<h3 id=\"ispolzovanie-javascript-v-vyrazheniyah\">P\u00ebrdorimi i JavaScript n\u00eb shprehje<\/h3>\n<p><\/p>\n<p>... Dhe jo pa arsye! Kur u formuluan k\u00ebrkesat p\u00ebr funksionet, ne papritur arrit\u00ebm n\u00eb p\u00ebrfundimin se n\u00eb shprehje duhej t\u00eb lejohej shkrimi i JavaScript valid. Prandaj tani jeni t\u00eb lir\u00eb t\u00eb shkruani shprehje n\u00eb frym\u00ebn e:<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">${1 + '' + crypto.MD5('asdf')}<\/code><\/pre>\n<p><\/p>\n<p>Dhe gjith\u00e7ka pa skripte direkt n\u00eb fushat e hyrjes!<\/p>\n<p><\/p>\n<p>Sa i p\u00ebrket Postman, k\u00ebtu mund t\u00eb p\u00ebrdoren vet\u00ebm variablat, dhe, kur p\u00ebrpiqeni t\u00eb shkruani nj\u00eb shprehje t\u00eb vog\u00ebl, validuesi proteston dhe refuzon ta llogaris\u00eb at\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/b301760640ff15ea682e9dfb1462116b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"prodvinutoe-avtodopolnenie\">Autocompletim i avancuar<\/h3>\n<p><\/p>\n<p>Momentalisht, TestMace ka autocompletim standard, i cili duket si m\u00eb posht\u00eb:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/1f5ec38a6a6da29e8308882d271b6b14.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>K\u00ebtu, p\u00ebrve\u00e7 vargjes autocompletive, tregohet se \u00e7far\u00eb i p\u00ebrket ky varg. Ky mekaniz\u00ebm funksionon vet\u00ebm n\u00eb shprehjet e rrethuar me kllapa ${}.<\/p>\n<p><\/p>\n<p>Si mund ta vini re, jan\u00eb shtuar tregues vizual\u00eb q\u00eb tregojn\u00eb llojin e variablit (p\u00ebr shembull, varg, num\u00ebr, mas\u00eb, etj.). Po ashtu, ka mund\u00ebsi p\u00ebr t\u00eb ndryshuar modet e sugjerimit automatik (p\u00ebr shembull, mund t\u00eb zgjidhni sugjerimin me variabla ose tituj). Por as kjo nuk \u00ebsht\u00eb m\u00eb e r\u00ebnd\u00ebsishmja!<\/p>\n<p><\/p>\n<p>S\u00eb pari, sugjerimi automatik funksionon edhe n\u00eb shprehje (ku \u00ebsht\u00eb e mundur). K\u00ebshtu e shikoni:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/676721c8d12f6c43970ed335deb238f7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dhe s\u00eb dyti, tani sugjerimi automatik \u00ebsht\u00eb n\u00eb dispozicion edhe n\u00eb skriptet. Shihni se si funksionon!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb e b\u00ebn TestMace m\u00eb t\u00eb mir\u00eb se Postman\" src=\"\/wp-content\/uploads\/2019\/12\/3b6b4335447c0cbed7044d98831001dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nuk ka kuptim ta krahasosh k\u00ebt\u00eb funksionalitet me Postman \u2014 aty sugjerimi automatik \u00ebsht\u00eb i kufizuar vet\u00ebm n\u00eb lista statike variablash, titujsh dhe vlerash t\u00eb tyre (m\u00eb korigjoni n\u00ebse kam harruar di\u00e7ka). Skriptet nuk plot\u00ebsohen automatikisht \ud83d\ude41<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">P\u00ebrfundimi<\/h1>\n<p><\/p>\n<p>N\u00eb tetor u mbush nj\u00eb vit q\u00eb nga fillimi i zhvillimit t\u00eb produktit ton\u00eb. Gjat\u00eb k\u00ebsaj periudhe ne arrit\u00ebm t\u00eb b\u00ebjm\u00eb shum\u00eb gj\u00ebra dhe n\u00eb disa parameter arrit\u00ebm t\u00eb rivalizojm\u00eb me konkurrent\u00ebt tan\u00eb. Por si\u00e7 \u00ebsht\u00eb, q\u00ebllimi yn\u00eb \u00ebsht\u00eb t\u00eb krijojm\u00eb nj\u00eb mjet v realmente t\u00eb leverdish\u00ebm p\u00ebr pun\u00eb me API. Na pret shum\u00eb pun\u00eb, k\u00ebtu \u00ebsht\u00eb nj\u00eb plan i p\u00ebraf\u00ebrt p\u00ebr zhvillimin e projektit ton\u00eb p\u00ebr vitin e ardhsh\u00ebm: <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/roadmap\/\">https:\/\/testmace.com\/roadmap<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Feedback-u juaj do t\u00eb na ndihmoj\u00eb t\u00eb orientohemi m\u00eb mir\u00eb n\u00eb morin\u00eb e tipareve, dhe mb\u00ebshtetja juaj na jep forc\u00eb dhe besim se po b\u00ebjm\u00eb di\u00e7ka t\u00eb drejt\u00eb. K\u00ebshtu ndodhi q\u00eb sot \u00ebsht\u00eb nj\u00eb dit\u00eb e r\u00ebnd\u00ebsishme p\u00ebr projektin ton\u00eb \u2014 dita e publikimit t\u00eb TestMace n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.producthunt.com\/posts\/testmace\">ProductHunt<\/a><\/noindex>. Ju lutemi, mb\u00ebshtetni projektin ton\u00eb, \u00ebsht\u00eb shum\u00eb e r\u00ebnd\u00ebsishme p\u00ebr ne. Sidomos tani q\u00eb n\u00eb faqen ton\u00eb n\u00eb PH ekziston nj\u00eb ofert\u00eb t\u00ebrheq\u00ebse dhe ajo \u00ebsht\u00eb e kufizuar.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/480734\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043d\u0430 \u0441\u0432\u044f\u0437\u0438 TestMace! \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043c\u043d\u043e\u0433\u0438\u0435 \u0437\u043d\u0430\u044e\u0442 \u043e \u043d\u0430\u0441 \u0438\u0437 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439. \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f: \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API TestMace. \u0421\u0430\u043c\u044b\u0439 \u0447\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 TestMace \u0441 \u043a\u043e\u043d\u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u043c\u0438 \u2014 &#171;\u0427\u0435\u043c \u0432\u044b \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0435\u0441\u044c \u043e\u0442 Postman?&#187;. \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e \u043f\u043e\u0440\u0430 \u0434\u0430\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u041d\u0438\u0436\u0435 \u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-54188","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043d\u0430 \u0441\u0432\u044f\u0437\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/chem-testmace-luchshe-postman\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0435\u043c TestMace \u043b\u0443\u0447\u0448\u0435 Postman | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043d\u0430 \u0441\u0432\u044f\u0437\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/chem-testmace-luchshe-postman\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-19T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Si TestMace \u00ebsht\u00eb m\u00eb i mir\u00eb se Postman | ProHoster","description":"P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve, k\u00ebtu","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/chem-testmace-luchshe-postman","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0435\u043c TestMace \u043b\u0443\u0447\u0448\u0435 Postman | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043d\u0430 \u0441\u0432\u044f\u0437\u0438","og:url":"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/chem-testmace-luchshe-postman","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-19T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54188","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 10:21:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:10:33","updated":"2026-01-24 10:21:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=54188"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54188\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=54188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=54188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=54188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}