{"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\/et\/blog\/news\/chem-testmace-luchshe-postman","title":{"rendered":"Miks on TestMace parem kui Postman","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/4b61986c287c32a4cefeb2f805fc228f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tere k\u00f5ik, siin on <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/\">TestMace<\/a><\/noindex>! V\u00f5ib-olla teavad paljud meist <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458372\/\">meie<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/462585\/\">eelnevatest<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458964\/\">artikleid<\/a><\/noindex>. Neile, kes just liitusid: me arendame IDE-d API TestMace\u2019iga t\u00f6\u00f6tamiseks. K\u00f5ige sagedasem k\u00fcsimus TestMace\u2019i ja konkurentide toodete v\u00f5rdlemisel on \u00abMillest te Postmanist erinevate?\u00bb. Otsustasime, et on aeg anda sellele k\u00fcsimusele p\u00f5hjalik vastus. Allpool oleme loetelenud meie eelised. <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\">S\u00f5lmedeks jagamine<\/h2>\n<p><\/p>\n<p>Kui te t\u00f6\u00f6tate Postmaniga, siis teate, et p\u00e4ringu liides sisaldab kogu vajalikku funktsionaalsust. Siia kuuluvad nii skriptid, testid kui ka tegelikud p\u00e4ringud. See lihtsustab algajate t\u00f6\u00f6d, kuid suurte stsenaariumide puhul ei ole selline l\u00e4henemine paindlik. Mis siis, kui soovite luua mitu p\u00e4ringut ja teha nende p\u00f5hjal agregatsiooni? Mis siis, kui soovite k\u00e4ivitada skripti ilma p\u00e4ringuta v\u00f5i mitu loogiliselt eraldatud skripti j\u00e4rjest? L\u00f5ppude-l\u00f5puks oleks hea eristada teste tavalisest utilitaarsest skriptist. Lisaks sellele on l\u00e4henemine \u00ablisame kogu funktsionaalsuse \u00fchte s\u00f5lmesse\u00bb mitteskaleeritav \u2014 liides muutub kiiresti \u00fclekoormatud.<\/p>\n<p><\/p>\n<p>TestMace jagab algselt kogu funktsionaalsuse erinevate t\u00fc\u00fcpidega s\u00f5lmedeks. Soovid teha p\u00e4ringu? Siin on <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/requeststep\">p\u00e4ringusamm<\/a><\/noindex> s\u00f5lm. Soovid kirjutada skripti? Siin on <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/script\">script<\/a><\/noindex> s\u00f5lm. Vajad teste? Palun - <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/assertion\">Kinnitus<\/a><\/noindex> s\u00f5lm. Ah jaa, sa saad selle k\u00f5ik keerata <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/folder\">kaust<\/a><\/noindex> s\u00f5lme. Ja k\u00f5ik see on lihtsalt omavahel kombineeritav. Selline l\u00e4henemine on mitte ainult v\u00e4ga paindlik, vaid ka koosk\u00f5las vastutuse jaotamise p\u00f5him\u00f5ttega, lubades kasutada ainult seda, mis on t\u00f5eliselt vajalik hetkel. Miks mul on skripte ja teste vaja, kui ma tahan lihtsalt p\u00e4ringut teha?<\/p>\n<p><\/p>\n<h2 id=\"chelovekochitaemyy-format-proekta\">Inimesele arusaadav projekti formaat<\/h2>\n<p><\/p>\n<p>TestMace\u2019i ja Postmani vahel on kontseptuaalne erinevus salvestamise viisis. Postmanis salvestatakse k\u00f5ik p\u00e4ringud kuskil lokaalses salvestuses. Kui on vaja jagada p\u00e4ringud mitme kasutaja vahel, siis tuleb kasutada sisseehitatud s\u00fcnkroonimist. Tegelikult on see \u00fcldiselt vastu v\u00f5etav l\u00e4henemine, mis ei ole ilma puudusteta. Kuidas on aga andmete turvalisusega? L\u00f5ppude l\u00f5puks ei pruugi paljude ettev\u00f5tete poliitika lubada andmete salvestamist kolmandatele isikutele. Kuid me usume, et TestMace v\u00f5ib pakkuda midagi paremat! Ja selle t\u00e4iustuse nimi on \u00abinimese loetav projekti formaat\u00bb.<\/p>\n<p><\/p>\n<p>Alustame sellest, et TestMace's on p\u00f5him\u00f5tteliselt olemas \u201eprojekt\u201c m\u00f5iste. Rakendus arendati algselt silmas pidades projektide salvestamist versioonihalduse s\u00fcsteemides: projekti struktuur peegeldab praktiliselt t\u00e4pselt failistruktuuri, salvestusformaadina kasutatakse yaml'i (ilma liigsete sulgude ja komadeeta), ning iga s\u00f5lme failiesitus on dokumentatsioonis p\u00f5hjalikult kirjeldatud. Ent enamikul juhtudel te ei pea sinna vaatama \u2014 k\u00f5ik v\u00e4ljade nimed on loogiliselt nimetatud. <\/p>\n<p><\/p>\n<p>Mis kasu see kasutajale annab? See v\u00f5imaldab v\u00e4ga paindlikult muuta meeskonna t\u00f6\u00f6voogu, kasutades tuttavaid l\u00e4henemisi. N\u00e4iteks saavad arendajad hoida projekti samas hoidlas nagu backend. Harudes, peale koodi baasi otsese muutmise, saab arendaja parandada olemasolevaid p\u00e4ringuskeeme ja teste. P\u00e4rast muudatuste salvestamist hoidlas (git, svn, mercurial \u2014 mis teile rohkem meeldib) CI (teie lemmik, mitte kellelegi pealesurutud) k\u00e4ivitab meie k\u00e4surea utiliidi <noindex><a rel=\"nofollow\" href=\"https:\/\/www.npmjs.com\/package\/@testmace\/cli\">testmace-cli<\/a><\/noindex>, ja p\u00e4rast t\u00e4itmist saadud aruanne (nt junit formaadis, mida testmace-cli samuti toetab) saadetakse vastavasse s\u00fcsteemi. Ja eelpool mainitud turvalisuse k\u00fcsimus ei ole enam probleem.<\/p>\n<p><\/p>\n<p>Kuidas n\u00e4ete, TestMace ei kehtesta oma \u00f6kos\u00fcsteemi ja paradigma. Selle asemel integreerub see lihtsalt juba v\u00e4ljakujunenud protsessidesse.<\/p>\n<p><\/p>\n<h2 id=\"dinamicheskie-peremennye\">D\u00fcnaamilised muutujad<\/h2>\n<p><\/p>\n<p>TestMace j\u00e4rgib no-code kontseptsiooni: kui probleemi on v\u00f5imalik lahendada ilma koodi kasutamata, p\u00fc\u00fcame anda selle v\u00f5imaluse. T\u00f6\u00f6 muutujaitega on just see funktsionaalsus, kus enamikul juhtudel suudetakse ilma programmeerimiseta hakkama.<\/p>\n<p><\/p>\n<p>N\u00e4ide: saime serverilt vastuse ja tahame salvestada osa vastusest muutujasse. Postmanis kirjutaksime testskriptis (mis iseenesest on kummaline) midagi taolist:<\/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>Kuid meie arvates tundub skripti kirjutamine nii lihtsa ja sageli kasutatava stsenaariumi jaoks \u00fclem\u00e4\u00e4rane. Seet\u00f5ttu on TestMace'is v\u00f5imalik m\u00e4\u00e4rata muutuja t\u00fckk vastusest, kasutades graafilist liidest. Vaadake, kui lihtne see on:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/2ce8ce2f9aa2964cb5bd1d5eacead423.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ja ja n\u00fc\u00fcd igas p\u00e4ringus uuendatakse seda d\u00fcnaamilist muutujat. Kuid v\u00f5ite v\u00e4ita, et Postmani l\u00e4henemine on paindlikum ning see v\u00f5imaldab mitte ainult m\u00e4\u00e4rata v\u00e4\u00e4rtust, vaid sooritada ka teatud eelprotsessimist. Nii saate eelmist n\u00e4idet muuta:<\/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>Noh, selleks on TestMace'is <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/script\">script<\/a><\/noindex> moodul, mis katab selle stsenaariumi. Eelmise juhtumi kordamiseks TestMace'is tuleb p\u00e4ringu j\u00e4rel luua script moodul ja kasutada j\u00e4rgmist koodi skripti jaoks:<\/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>Nagu n\u00e4ete, on moodulite koostamine ka siin h\u00e4sti toimiv. Ja sellise lihtsa juhtumi puhul, nagu eespool kirjeldatud, saate isegi lihtsalt m\u00e4\u00e4rata v\u00e4ljendi <code>${crypto.MD5($response.data)}<\/code> muutujaks, mis luuakse graafilise liidese kaudu!<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-testov-cherez-gui\">Testide loomine l\u00e4bi GUI<\/h2>\n<p><\/p>\n<p>Postman v\u00f5imaldab testide loomist skriptide kirjutamise kaudu (Postmani puhul on see JavaScript). Sellel l\u00e4henemisel on palju eeliseid \u2014 praktiliselt piiramatud v\u00f5imalused, valmislahenduste olemasolu jne.<\/p>\n<p><\/p>\n<p>Kuid reaalsus on sageli selline (me ei ole sellised, elu on selline), et testijatel ei ole programmeerimisoskusi, kuid sooviks oleks juba praegu meeskonnale kasu tuua. Selliste juhtumite jaoks, j\u00e4rgides no-code kontseptsiooni, v\u00f5imaldab TestMace luua lihtsaid teste l\u00e4bi graafilise liidese, ilma skriptide kirjutamiseta. N\u00e4iteks, kuidas n\u00e4eb v\u00e4lja testimise loomise protsess, mis v\u00f5rdleb v\u00e4\u00e4rtusi v\u00f5rdsuse osas:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/c0a8ce4cbe264dd76e3b5d90594eeff5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kuid testide loomine graafilises redaktoris ei v\u00e4lista <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/assertion\/script\">testide kirjutamist koodis<\/a><\/noindex>. Siin on k\u00f5ik samad raamatukogud, mis on script moodulis, ja <noindex><a rel=\"nofollow\" href=\"https:\/\/www.chaijs.com\/\">chai<\/a><\/noindex> testide kirjutamiseks.<\/p>\n<p><\/p>\n<h2 id=\"vozmozhnost-zapustit-uzhe-suschestvuyuschiy-scenariy-po-ssylke-link-uzel\">V\u00f5imalus k\u00e4ivitada juba olemasolev stsenaarium lingi kaudu (Link moodul)<\/h2>\n<p><\/p>\n<p>Sageli tekivad olukorrad, kus teatud p\u00e4ringut v\u00f5i isegi tervet stsenaariumi tuleb mitu korda teostada erinevates projektiosades. N\u00e4iteks v\u00f5ivad sellised p\u00e4ringud olla kohandatud mitmeastmelised autentimised, keskkonna viimine soovitud olekusse jne. \u00dcldiselt, kui r\u00e4\u00e4kida programmeerimiskeelte terminoloogias, siis tahaks omada funktsioone, mida saab taaskasutada erinevates rakenduse osades. TestMace'is t\u00e4idab seda funktsiooni <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/node-types\/link\">link<\/a><\/noindex> solm. Kasutamine on v\u00e4ga lihtne:<br \/>\n1) loo p\u00e4ring v\u00f5i skript<br \/>\n2) loo Link t\u00fc\u00fcpi solm<br \/>\n3) m\u00e4\u00e4ra parameetrites skripti link, mille l\u00f5id esimesel sammul<\/p>\n<p><\/p>\n<p>Edasij\u00f5udnud variandis saad m\u00e4\u00e4rata, milliseid d\u00fcnaamilisi muutujaid skriptist t\u00f5sta k\u00f5rgemal seoses lingiga. K\u00f5lab segaselt? Oletame, et oleme loonud kausta nimega <strong>create-post<\/strong>, mille sees m\u00e4\u00e4ratakse antud solmi d\u00fcnaamiline muutuja <code>postId<\/code>. N\u00fc\u00fcd saad Link solmis <strong>create-post-link<\/strong> selges\u00f5naliselt m\u00e4\u00e4rata, et muutuja <code>postId<\/code> m\u00e4\u00e4ra vanemale <strong>create-post-link<\/strong>. Seda mehhanismi (taas kord, v\u00e4ljendudes programmeerijakeeles) saab kasutada tulemuse tagastamiseks \u00abfunktsioonist\u00bb. \u00dches\u00f5naga, suurep\u00e4rane, DRY t\u00e4ies ulatuses ja taas kord ei ole \u00fckski koodirida kannatanud.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/5235473a43e5bc2e05aeb2779846245f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Postmani osas on funktsioonin\u00f5ue p\u00e4ringute taaskasutamiseks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1535\">rippunud alates 2015. aastast<\/a><\/noindex>, ja tundub, et isegi on <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1535#issuecomment-280305898\">m\u00f5ningaid vihjeid<\/a><\/noindex>, et selle probleemiga tegeletakse. Praeguses vormis on Postmanil muidugi v\u00f5imalus t\u00e4itmise voogu muuta, mis teoorias v\u00f5imaldab sellist k\u00e4itumist rakendada, kuid see on pigem r\u00e4pane nipp kui t\u00f5eliselt toimiv l\u00e4henemine. <\/p>\n<p><\/p>\n<h2 id=\"prochie-otlichiya\">Muud erinevused<\/h2>\n<p><\/p>\n<ul>\n<li>Suurem kontroll muutujate n\u00e4htavuse \u00fcle. Postmanis saab muutuja m\u00e4\u00e4rata k\u00f5ige v\u00e4iksemasse ulatusse, mis on kogum. TestMace v\u00f5imaldab m\u00e4\u00e4rata muutujaid iga p\u00e4ringu v\u00f5i kausta jaoks. Postman Share kogum v\u00f5imaldab eksportida ainult kogusid, samas kui TestMace jagamine t\u00f6\u00f6tab iga solmi jaoks.<\/li>\n<li>TestMace toetab <noindex><a rel=\"nofollow\" href=\"https:\/\/docs-ru.testmace.com\/other\/default-http-headers\">p\u00e4randpealkiri<\/a><\/noindex>, mis v\u00f5ivad vaikimisi alla laadida lastesse p\u00e4ringutesse. Postmanil on selle kohta olemas <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1947\">\u00fclesanne<\/a><\/noindex>, ja see on isegi suletud, kuid lahenduseks pakutakse\u2026 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/postmanlabs\/postman-app-support\/issues\/1947#issuecomment-292741840\">kasutada skripte<\/a><\/noindex>. TestMace'is konfigureeritakse see k\u00f5ik GUI kaudu ja on v\u00f5imalus valikuline p\u00e4randipealkirjade v\u00e4ljal\u00fclitamine konkreetsetes j\u00e4reltulijates.<\/li>\n<li>Tagasi\/edasi. See t\u00f6\u00f6tab mitte ainult solmade redigeerimisel, vaid ka liigutamisel, kustutamisel, \u00fcmbernimetamisel ja muudel toimingutel, mis muudavad projekti struktuuri.<\/li>\n<li>P\u00e4ringutele kinnitatud failid muutuvad projekti osaks ja salvestatakse koos sellega, samas kui need s\u00fcnkroonitakse suurep\u00e4raselt erinevalt Postmanist. (Jah, pole enam vaja igal korral k\u00e4sitsi faile valida iga k\u00e4ivitamise ajal ja edastada kolleegidele arhive.)<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"fichi-kotorye-uzhe-na-podhode\">V\u00f5imalused, mis juba ukse ees<\/h2>\n<p><\/p>\n<p>Me ei suutnud vastu panna kiusatusel p\u00e4eva valgele tuua v\u00e4ikene saladus j\u00e4rgmiste v\u00e4ljalasetega, eriti kuna funktsionaalsus on v\u00e4ga meeldiv ja on juba eelv\u00e4ljaande lihvimise faasis. Nii et, tervitame.<\/p>\n<p><\/p>\n<h3 id=\"funkcii\">Funktsioonid<\/h3>\n<p><\/p>\n<p>Nagu teada, kasutatakse Postmanis v\u00e4\u00e4rtuste genereerimiseks nn d\u00fcnaamilisi muutujaid. <noindex><a rel=\"nofollow\" href=\"https:\/\/learning.getpostman.com\/docs\/postman\/variables-and-environments\/variables-list\/\">Nende loetelu on muljetavaldav<\/a><\/noindex> ja enamik funktsioone teenib valeandmete genereerimise eesm\u00e4rki. N\u00e4iteks, et genereerida juhuslikku e-posti aadressi, tuleb kirjutada:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">{{$randomEmail}}<\/code><\/pre>\n<p><\/p>\n<p>Kuid kuna need on muutujad (kuigi d\u00fcnaamilised), ei saa neid kasutada nagu funktsioone: need ei ole parametriseeritavad, seega ei saa stringilt r\u00e4sida.<\/p>\n<p><\/p>\n<p>TestMace\u2019is plaanime lisada \u00abausad\u00bb funktsioonid. Otse ${} sees saab mitte ainult p\u00f6\u00f6rduda muutuja poole, vaid ka kutsuda funktsiooni. T.e. kui on vaja genereerida kuulsat valeemaili, kirjutame lihtsalt<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">${faker.internet.email()}<\/code><\/pre>\n<p><\/p>\n<p>Lisaks sellele, et see on funktsioon, on m\u00e4rgata, et on v\u00f5imalik kutsuda objekti meetodit. Ja suurte tasapindade d\u00fcnaamiliste muutujate loendi asemel on meil loogiliselt r\u00fchmitatud objektide kogum.<\/p>\n<p><\/p>\n<p>Ent mis saab siis, kui tahame arvutada stringi r\u00e4sida? Lihtne!<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">${crypto.MD5($dynamicVar.data)}<\/code><\/pre>\n<p><\/p>\n<p>On m\u00e4rgata, et parametriks v\u00f5ib isegi edastada muutujaid! Siin v\u00f5ib uudishimu lugeja kahtlustada midagi kahtlast... <\/p>\n<p><\/p>\n<h3 id=\"ispolzovanie-javascript-v-vyrazheniyah\">JavaScripti kasutamine v\u00e4ljendites<\/h3>\n<p><\/p>\n<p>... ja mitte ilmaasjata! Kui funktsioonide n\u00f5uded s\u00fcndisid, j\u00f5udsime \u00e4kki arusaamisele, et v\u00e4ljendites on vaja lubada kehtiv JavaScript. Seega on n\u00fc\u00fcd teil vabadus kirjutada v\u00e4ljendeid stiilis:<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">${1 + '' + crypto.MD5('asdf')}<\/code><\/pre>\n<p><\/p>\n<p>Ja k\u00f5ik see ilma skriptideta otse sisestusv\u00e4ljade sees!<\/p>\n<p><\/p>\n<p>Mis puudutab Postmanit, siis siin saab kasutada ainult muutujaid ja p\u00fc\u00fcdes kirjutada v\u00e4himatki v\u00e4ljendit, protestib validatsioon ja keelab selle arvutamise.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/b301760640ff15ea682e9dfb1462116b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"prodvinutoe-avtodopolnenie\">T\u00e4pne automaatne t\u00e4iendamine<\/h3>\n<p><\/p>\n<p>Praegu sisaldab TestMace standardset automaatset t\u00e4iendamist, mis n\u00e4eb v\u00e4lja j\u00e4rgmiselt:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/1f5ec38a6a6da29e8308882d271b6b14.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Siin on lisaks automaatselt t\u00e4iendatavale reale n\u00e4idatud, kellele see rida kuulub. See mehhanism t\u00f6\u00f6tab ainult v\u00e4ljendites, mis on \u00fcmbritsetud sulgudega ${}.<\/p>\n<p><\/p>\n<p>Nagu m\u00e4rkida v\u00f5ib, on lisandunud visuaalsed m\u00e4rgid, mis osutavad muutujate t\u00fc\u00fcbile (n\u00e4iteks string, number, massiiv jne). Samuti on v\u00f5imalik muuta automaatse t\u00e4iendamise re\u017eiime (n\u00e4iteks saab valida automaatse t\u00e4iendamise muutujate v\u00f5i pealkirjade j\u00e4rgi). Kuid isegi see ei ole veel k\u00f5ige t\u00e4htsam!<\/p>\n<p><\/p>\n<p>Esiteks, automaatne t\u00e4iendamine t\u00f6\u00f6tab isegi v\u00e4ljendites (kui see on v\u00f5imalik). Nii see v\u00e4lja n\u00e4eb:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/676721c8d12f6c43970ed335deb238f7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ja teiseks, n\u00fc\u00fcd on automaatne t\u00e4iendamine saadaval ka skriptides. Vaadake, kuidas see t\u00f6\u00f6tab!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Miks on TestMace parem kui Postman\" src=\"\/wp-content\/uploads\/2019\/12\/3b6b4335447c0cbed7044d98831001dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Seda funktsionaalsust ei ole m\u00f5tet Postmaniga v\u00f5rrelda \u2014 seal on automaatne t\u00e4iendamine piiratud ainult staatiliste muutujate, pealkirjade ja nende v\u00e4\u00e4rtuste loetelu (parandage mind, kui ma midagi unustasin). Skripte ei automaatt\u00e4iendata \ud83d\ude41<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Kokkuv\u00f5te<\/h1>\n<p><\/p>\n<p>Oktoobris m\u00f6\u00f6dus aasta meie toote arendamisest. Selle aja jooksul oleme teinud palju ja m\u00f5ningates parameetrites oleme j\u00e4\u00e4nud konkurentide tasemele. Kuid meie eesm\u00e4rk on luua t\u00f5eliselt mugav t\u00f6\u00f6riist API-dega t\u00f6\u00f6tamiseks. Meil on veel palju t\u00f6\u00f6d ees, siin on meie projekti arendusplaan j\u00e4rgmiseks aastaks: <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/roadmap\/\">https:\/\/testmace.com\/roadmap<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Teie tagasiside aitab meil paremini orienteeruda funktsioonide rohkusest, samas kui teie toetus toetab meid ja annab kindlust, et teeme vajalikku t\u00f6\u00f6d. Juhtus nii, et t\u00e4na on meie projekti jaoks t\u00e4htis p\u00e4ev \u2014 TestMace avaldamise p\u00e4ev <noindex><a rel=\"nofollow\" href=\"https:\/\/www.producthunt.com\/posts\/testmace\">ProductHunt<\/a><\/noindex>. Palun toetage meie projekti, see on meile v\u00e4ga oluline. Eriti arvestades, et meie PH lehelt on t\u00e4na ahvatlev pakkumine ja see on piiratud<\/p>\n<p>Allikas: <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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.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\/et\/blog\/news\/chem-testmace-luchshe-postman\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/blog\/news\/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\udd47Miks on TestMace parem kui Postman | ProHoster","description":"Tere k\u00f5ik, siin on","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/chem-testmace-luchshe-postman","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/blog\/news\/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\/et\/wp-json\/wp\/v2\/posts\/54188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=54188"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/54188\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=54188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=54188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=54188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}