{"id":54187,"date":"2019-12-20T00:00:00","date_gmt":"2019-12-19T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/testmace-moshhnaya-ide-dlya-raboty-s-api"},"modified":"2020-02-18T14:02:10","modified_gmt":"2020-02-18T11:02:10","slug":"testmace-moshhnaya-ide-dlya-raboty-s-api","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","title":{"rendered":"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere k\u00f5igile! T\u00e4na tahame tutvustada IT-\u00fchiskonnale meie toodet - IDE API-dega t\u00f6\u00f6tamiseks. <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">TestMace<\/a><\/noindex>V\u00f5ib-olla teavad m\u00f5ned teist meist juba <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/blog\/\">eelnevas artiklis<\/a><\/noindex>. Siiski pole olnud p\u00f5hjalikku \u00fclevaadet t\u00f6\u00f6riistast, seega likvideerime selle ebamugava puuduse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/798c0783510a07e7fd162bdf14151c29.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1 id=\"motivaciya\">Motivatsioon<\/h1>\n<p><\/p>\n<p>\u0425\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0442\u043e\u0433\u043e \u043a\u0430\u043a, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u0442\u0430\u043a\u043e\u0439 \u0436\u0438\u0437\u043d\u0438 \u0438 \u0440\u0435\u0448\u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u043b\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API. \u041d\u0430\u0447\u043d\u0435\u043c \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0434\u0443\u043a\u0442, \u043f\u0440\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043f\u043e \u043d\u0430\u0448\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e &#171;IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API&#187;:<\/p>\n<p><\/p>\n<ul>\n<li>P\u00e4ringute ja skriptide (p\u00e4ringute j\u00e4rjekordade) loomine ja t\u00e4itmine<\/li>\n<li>Erinevat t\u00fc\u00fcpi testide kirjutamine<\/li>\n<li>Testide genereerimine<\/li>\n<li>API kirjeldusega t\u00f6\u00f6tamine, sealhulgas importimise v\u00f5imalused sellistest formaatidest nagu Swagger, OpenAPI, WADL jne.<\/li>\n<li>P\u00e4ringute muundamine (moking)<\/li>\n<li>Hea tugi \u00fchele v\u00f5i mitmele programmeerimiskeelele skriptide kirjutamiseks, sealhulgas populaarsate teekide integreerimine.<\/li>\n<li>jne.<\/li>\n<\/ul>\n<p><\/p>\n<p>Nimekirja v\u00f5ib soovi korral t\u00e4iendada. Oluline on luua mitte ainult ise IDE, vaid ka teatud infrastruktuur, nagu n\u00e4iteks pilves\u00fcnkroniseerimine, k\u00e4skliinivahendid, veebi j\u00e4lgimisteenus jne. L\u00f5ppude l\u00f5puks dikteerivad viimaste aastate trendid meile mitte ainult rakenduse v\u00f5imsa funktsionaalsuse, vaid ka selle meeldiva kasutajaliidese.<\/p>\n<p><\/p>\n<p>Kellele on sellist t\u00f6\u00f6riista vaja? Ilmselgelt k\u00f5igile, kes on kuidagi seotud API-de arendamise ja testimisega - arendajad ja testijad =). Samas, kui esimestele piisab sageli \u00fcksikute p\u00e4ringute ja lihtsate skriptide t\u00e4itmisest, siis testijatele on see \u00fcks peamisi t\u00f6\u00f6riistu, mis lisaks muu hulgas peaks sisaldama v\u00f5imsat testide kirjutamise mehhanismi, mis suudab neid CI-s l\u00e4bi viia.<\/p>\n<p><\/p>\n<p>Nii et l\u00e4htudes nendest suunistest, hakkasime looma oma toodet. Vaadakem, mida oleme siiani saavutanud.<\/p>\n<p><\/p>\n<h1 id=\"bystryy-start\">Kiire alustamine<\/h1>\n<p><\/p>\n<p>Alustame rakendusega esimeste tutvumiste tegemist. Saate selle alla laadida <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\/\">meie veebisaidil<\/a><\/noindex>. Praegu toetatakse k\u00f5iki kolme peamist platvormi - Windows, Linux, MacOS. Laadige alla, installige, k\u00e4itage. Esimese k\u00e4ivitamise ajal v\u00f5ite n\u00e4ha j\u00e4rgmist akent:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/dbbd26d8656488cd11716f7dbede9ec7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kl\u00f5psake sisu ala \u00fclemises nurgas plusspainutusele, et luua esimene p\u00e4ring. P\u00e4ringu vahekaart n\u00e4eb v\u00e4lja j\u00e4rgmine:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/d76205f43ec821018642a3d354532e7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vaatame seda l\u00e4hemalt. P\u00e4ringu liides sarnaneb v\u00e4ga populaarsete REST-kliendidega, mis lihtsustab migreerimist sarnastest t\u00f6\u00f6riistadest. Tehkem esimene p\u00e4ring URL-ile <noindex><a rel=\"nofollow\" href=\"https:\/\/next.json-generator.com\/api\/json\/get\/NJv-NT-U8\">https:\/\/next.json-generator.com\/api\/json\/get\/NJv-NT-U8<\/a><\/noindex><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/19e639baa1e0d51f1a40b76ae9144d6c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Esmapilgul ei paku vastuse paneel t\u00f5esti mingeid ootamatuid \u00fcllatusi. Kuid tahaksin juhtida teie t\u00e4helepanu m\u00f5nedele punktidele:<\/p>\n<p><\/p>\n<ol>\n<li>Vastuse keha on esitatud puustruktuurina, mis lisab informatiivsust ning v\u00f5imaldab lisada m\u00f5ned huvitavad funktsioonid, millest allpool r\u00e4\u00e4gin<\/li>\n<li>On olemas vahekaart Assertions, kus kuvatakse testide nimekiri antud p\u00e4ringu jaoks<\/li>\n<\/ol>\n<p><\/p>\n<p>Nagu n\u00e4ha, saab meie t\u00f6\u00f6riista kasutada kui mugavat REST-kliendi. Kuid me ei oleks siin, kui selle v\u00f5imalused piirduksid ainult p\u00e4ringute saatmisega. Edasi tutvustan p\u00f5hik\u00e4siteid ja TestMace funktsionaalsusi.<\/p>\n<p><\/p>\n<h1 id=\"osnovnye-ponyatiya-i-vozmozhnosti\">P\u00f5hik\u00e4siteed ja v\u00f5imalused<\/h1>\n<p><\/p>\n<h2 id=\"uzel\">S\u00f5lm<\/h2>\n<p><\/p>\n<p>TestMace funktsioonid on jagatud erinevat t\u00fc\u00fcpi s\u00f5lmedeks. \u00dclaltoodud n\u00e4ites demonstreerisime RequestStep s\u00f5lme t\u00f6\u00f6d. Kuid praegu on rakenduses saadaval ka j\u00e4rgmised s\u00f5lmet\u00fc\u00fcbid:<\/p>\n<p><\/p>\n<ul>\n<li>RequestStep. See on s\u00f5lm, millega saab luua p\u00e4ringu. Lastelemendina v\u00f5ib see sisaldada ainult \u00fchte Assertion s\u00f5lme.<\/li>\n<li>Assertion. S\u00f5lm, mida kasutatakse testide kirjutamiseks. V\u00f5ib olla ainult RequestStep s\u00f5lme alams\u00f5lm.<\/li>\n<li>Folder. Lubab grupeerida Folder ja RequestStep s\u00f5lmed enda sisse.<\/li>\n<li>Project. See on juuris\u00f5lm, mis luuakse automaatselt projekti loomisel. Muus osas kordab see Folder s\u00f5lme funktsionaalsusi.<\/li>\n<li>Link. Link Folder v\u00f5i RequestStep s\u00f5lmele. Lubab taaskasutada p\u00e4ringuid ja stsenaariume.<\/li>\n<li>jne.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u0423\u0437\u043b\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u0432 scratches (\u043f\u0430\u043d\u0435\u043b\u044c \u0441\u043b\u0435\u0432\u0430 \u0432\u043d\u0438\u0437\u0443, \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f &#171;\u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u044b\u0445&#187; \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432) \u0438 \u0432 project (\u043f\u0430\u043d\u0435\u043b\u044c \u0441\u043b\u0435\u0432\u0430 \u0432\u0432\u0435\u0440\u0445\u0443), \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043f\u043e\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435.<\/p>\n<p><\/p>\n<h2 id=\"proekt\">Projekt<\/h2>\n<p><\/p>\n<p>Rakenduse k\u00e4ivitamisel v\u00f5isite m\u00e4rgata \u00fchte Project rida vasakus \u00fclanurgas. See on projekti puu juur. Projekti k\u00e4ivitamisel luuakse ajutine projekt, mille tee s\u00f5ltub teie operatsioonis\u00fcsteemist. Igand hetkel v\u00f5ite projekti m\u00e4rkida teile sobivasse kohta.<\/p>\n<p><\/p>\n<p>Projekti peamine eesm\u00e4rk on s\u00e4ilitada saavutusi failis\u00fcsteemis ja edasine s\u00fcnkroniseerimine versioonihalduss\u00fcsteemide kaudu, stsenaariumide k\u00e4itamine CI-s, muudatuste \u00fclevaatus jne.<\/p>\n<p><\/p>\n<h2 id=\"peremennye\">Muutujad<\/h2>\n<p><\/p>\n<p>Muudatused on \u00fcks rakenduse v\u00f5tme mehhanisme. Teie seast, kes t\u00f6\u00f6tavad t\u00f6\u00f6riistadega nagu TestMace, on ehk juba aimu, millest jutt k\u00e4ib. Seega, muutujad on viis salvestada \u00fchiseid andmeid ja suhelda nodide vahel. N\u00e4iteks on vastavad keskkonnamuutujad Postmanis v\u00f5i Insomnias. Kuid me l\u00e4ksime kaugemale ja arendasime teemat. TestMace'is saab muutujaid seadistada nodi tasandil. Mis tahes. Samuti on olemas muutuja p\u00e4rimise mehhanism eelk\u00e4ijatest ja muutuja katmine j\u00e4reltulijates. Peale selle on olemas rida sisseehitatud muutujaid, mille nimed algavad <code>$<\/code>. Siin on m\u00f5ned neist:<\/p>\n<p><\/p>\n<ul>\n<li><code>$prevStep<\/code> \u2014 viide eelmise nodi muutujatele<\/li>\n<li><code>$nextStep<\/code> \u2014 viide j\u00e4rgmise nodi muutujatele<\/li>\n<li><code>$parent<\/code> \u2014 sama, kuid eelk\u00e4ija jaoks<\/li>\n<li><code>$response<\/code> \u2014 serverilt saadud vastus<\/li>\n<li><code>$env<\/code> \u2014 praegused keskkonnamuutujad<\/li>\n<li><code>$dynamicVar<\/code> \u2014 d\u00fcnaamilised muutujad, mis luuakse skripti v\u00f5i p\u00e4ringu k\u00e4ivitamisel<\/li>\n<\/ul>\n<p><\/p>\n<p><code>$env<\/code> \u2014 need on sisuliselt tavalised projekti taseme muutujad, kuid keskkonnamuutujate komplekt varieerub s\u00f5ltuvalt valitud keskkonnast. <\/p>\n<p><\/p>\n<p>Muutujasse p\u00e4\u00e4seb juurde l\u00e4bi <code>${variable_name}<\/code><br \/>\nMuutuja v\u00e4\u00e4rtuseks v\u00f5ib olla teine muutuja v\u00f5i isegi terve v\u00e4ljend. N\u00e4iteks v\u00f5ib url muutujana olla j\u00e4rgmine v\u00e4ljend<br \/>\n<code>http:\/\/${host}:${port}\/${endpoint}<\/code>.<\/p>\n<p><\/p>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u0442\u043e\u043a\u0435\u043d \u0438\u043b\u0438 \u0432\u0435\u0441\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0448\u043b\u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0438\u043d\u0430. TestMace \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043f\u0440\u0435\u0434\u043a\u043e\u0432. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439 \u0441 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 &#171;\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438&#187; \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 <code>$dynamicVar<\/code>. <\/p>\n<p><\/p>\n<h2 id=\"scenarii\">Skenaariumid<\/h2>\n<p><\/p>\n<p>Kasutades k\u00f5iki \u00fclaltoodud v\u00f5imalusi, saate teostada terveid p\u00e4ringuskeeme. N\u00e4iteks, \u00fcksuse loomine -&gt; p\u00e4ringu tegemine -&gt; \u00fcksuse eemaldamine. Selles olukorras saate n\u00e4iteks kasutada Folder nodi mitme RequestStep nodi r\u00fchmitamiseks.<\/p>\n<p><\/p>\n<h2 id=\"avtodopolnenie-i-podsvetka-znacheniya-vyrazheniya\">Automaatne t\u00e4iendamine ja v\u00e4ljendi v\u00e4\u00e4rtuse esitlemine<\/h2>\n<p><\/p>\n<p>Mugavaks t\u00f6\u00f6ks muutujate (ja mitte ainult) puhul on vajalik automaatne t\u00e4iendamine. Ja muidugi v\u00e4ljendi v\u00e4\u00e4rtuse esilet\u00f5stmine, et oleks lihtsam ja mugavam t\u00e4psustada, millele mingi muutujat\u00e4pselt vastab. Siin on see juhtum, kus on parem \u00fcks kord n\u00e4ha, kui sada korda kuulda:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/cf9d30c9623b18575825d4282b8fe3e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tuleb m\u00e4rkida, et automaatne t\u00e4iendamine on rakendatud mitte ainult muutujate, vaid ka n\u00e4iteks pealkirjade, teatud pealkirjade v\u00e4\u00e4rtuste (nt Content-Type pealkirja automaatne t\u00e4iendamine), protokollide ja muu kohta. Loend t\u00e4ienevad pidevalt rakenduse arengu k\u00e4igus.<\/p>\n<p><\/p>\n<h2 id=\"undoredo\">Tagasi \/ uuesti<\/h2>\n<p><\/p>\n<p>Muutuste tagasiv\u00f5tmine \/ kordamine on v\u00e4ga mugav funktsioon, kuid mingil p\u00f5hjusel ei rakendata seda kaugeltki igal pool (ja API-de t\u00f6\u00f6riistad ei ole erand). Kuid me pole sellised!) Tagasi\/v\u00f5i uuesti toimingud on meil rakendatud kogu projekti ulatuses, mis v\u00f5imaldab t\u00fchistada mitte ainult teatud s\u00f5lme redigeerimist, vaid ka selle loomist, kustutamist, liigutamist jne. K\u00f5ige kriitilisemad toimingud vajavad kinnitust.<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-testov\">Testide loomine<\/h2>\n<p><\/p>\n<p>Testide loomise eest vastutab Assertion s\u00f5lm. \u00dcks peamisi omadusi on testide loomine ilma programmeerimiseta, kasutades sisseehitatud redaktoreid. <\/p>\n<p><\/p>\n<p>Assertion s\u00f5lm koosneb v\u00e4idete hulgast (assertion-idest). Igal assertion-il on oma t\u00fc\u00fcp, hetkel on saadaval mitu assertion t\u00fc\u00fcpi.<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Compare values \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 2 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f &#171;\u0440\u0430\u0432\u043d\u043e&#187;, &#171;\u043d\u0435 \u0440\u0430\u0432\u043d\u043e&#187;, &#171;\u0431\u043e\u043b\u044c\u0448\u0435&#187;, &#171;\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e&#187;, &#171;\u043c\u0435\u043d\u044c\u0448\u0435&#187;, &#171;\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e&#187;.<\/p>\n<p>\n<\/li>\n<li>\n<p>Sisaldab v\u00e4\u00e4rtust \u2014 kontrollib, kas algtekst sisaldab osalise v\u00e4\u00e4rtuse.<\/p>\n<p>\n<\/li>\n<li>\n<p>XPath \u2014 kontrollib, et XML-i valija j\u00e4rgi on kindel v\u00e4\u00e4rtus.<\/p>\n<p>\n<\/li>\n<li>\n<p>JavaScript assertion \u2014 juhuslik skript JavaScripti keeles, mis tagastab true, kui see on edukas, ja false, kui see eba\u00f5nnestub.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>M\u00e4rgin, et ainult viimane n\u00f5uab kasutajalt programmeerimisoskusi, \u00fclej\u00e4\u00e4nud 3 assertion'i luuakse graafilise liidese abil. N\u00e4iteks kuidas n\u00e4eb v\u00e4lja v\u00f5rreldavate v\u00e4\u00e4rtuste assertion'i loomise dialoog:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/e71e11fb0fb664d1d9751a71fbdcc850.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tordil on kirsiks v\u00e4idete kiire loomine vastusest, lihtsalt vaadake seda!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/3b86084419339a7a05a3548df5c12d6a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kuid sellised v\u00e4ited on ilmsete piirangutega, millega silmitsi seistes saate kasutada JavaScripti v\u00e4idet. Ja siin pakub TestMace mugava keskkonna automaatse t\u00e4iendamise, s\u00fcntaksi esilet\u00f5stmise ja isegi staatilise anal\u00fcsaatoriga.<\/p>\n<p><\/p>\n<h2 id=\"opisanie-api\">API kirjeldus<\/h2>\n<p><\/p>\n<p>TestMace v\u00f5imaldab mitte ainult API-d kasutada, vaid ka selle dokumenteerimist. Kirjeldus on organiseeritud hierarhilisse struktuuri, mis sulandub harmooniliselt \u00fclej\u00e4\u00e4nud projekti. Lisaks sellele on hetkel saadaval v\u00f5imalus importida API kirjeldust Swagger 2.0 \/ OpenAPI 3.0 formaatidest. Kirjeldus ei ole lihtsalt staatiline, vaid on tihedalt integreeritud projekti \u00fclej\u00e4\u00e4nud osadega, sealhulgas pakub automaatset t\u00e4iendamist URL-ide, HTTP-peakirjade, p\u00e4ringute parameetrite ja muu osas. Tulevikus plaanime lisada ka testid API vastuse vastavuse kontrollimiseks.<\/p>\n<p><\/p>\n<h2 id=\"sharing-nod\">Noodide jagamine<\/h2>\n<p><\/p>\n<p>N\u00e4ide: soovite jagada probleemset p\u00e4ringut v\u00f5i isegi tervet stsenaariumi kolleegile v\u00f5i lihtsalt kinnitada see vea kirjeldusse. TestMace katab ka selle juhtumi: rakendus v\u00f5imaldab serialiseerida igasuguse nodi ja isegi alampuu URL-ina. Kopeerige ja kleepige ning te olete mugavalt kantud p\u00e4ringu teise masinasse v\u00f5i projekti.<\/p>\n<p><\/p>\n<h2 id=\"chelovekochitaemyy-format-hraneniya-proekta\">Inimesele arusaadav projektihalduse formaat<\/h2>\n<p><\/p>\n<p>Hetkel hoiab iga s\u00f5lm eraldi failis, millel on laiend .yml (nagu Assertion nodi puhul), v\u00f5i kaustas, mille nimeks on s\u00f5lm ja sises fail index.yml.<br \/>\nN\u00e4iteks n\u00e4eb p\u00e4ringufail v\u00e4lja selline, mille me \u00fclevaates tegime:<\/p>\n<p>\n<b class=\"spoiler_title\">index.yml<\/b><\/p>\n<pre><code class=\"ruby\">children: []\nvariables: {}\ntype: RequestStep\nassignVariables: []\nrequestData:\n  request:\n    method: GET\n    url: 'https:\/\/next.json-generator.com\/api\/json\/get\/NJv-NT-U8'\n  headers: []\n  disabledInheritedHeaders: []\n  params: []\n  body:\n    type: Json\n    jsonBody: ''\n    xmlBody: ''\n    textBody: ''\n    formData: []\n    file: ''\n    formURLEncoded: []\n  strictSSL: Inherit\nauthData:\n  type: inherit\nname: Scratch 1<\/code><\/pre>\n<p><\/p>\n<p>Nagu n\u00e4ete, on k\u00f5ik \u00e4\u00e4rmiselt selge. Soovi korral saab sellist formaati t\u00e4iesti mugavalt ka k\u00e4sitsi redigeerida.<\/p>\n<p><\/p>\n<p>Kaalutud kaustade hierarhia failis\u00fcsteemis kordab t\u00e4ielikult s\u00f5lmede hierarhiat projektis. N\u00e4iteks selline stsenaarium:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/8f08d934a977e4fdacd269f4ea0c34b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kardinaal s\u00f5ltub failis\u00fcsteemis j\u00e4rgnevast struktuurist (n\u00e4idatud on vaid kaustade hierarhia, kuid olemus on selge)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks\" src=\"\/wp-content\/uploads\/2019\/12\/60a54704979f5a77ee05735fd8ebe824.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>See lihtsustab projekti \u00fclevaatamise protsessi.<\/p>\n<p><\/p>\n<h2 id=\"import-iz-postman\">Import Postman-st<\/h2>\n<p><\/p>\n<p>Lugedes eeltoodut, tahavad m\u00f5ned kasutajad proovida (n\u00f5us?), uut toodet v\u00f5i (miks mitte!) maksimumi kasutada oma projektis. Siiski v\u00f5ib migratsioon takerduda suur hulk olemasolevaid t\u00f6\u00f6de Postman-is. Sellistel juhtudel toetab TestMace Postman-i kogumite importi. Hetkel toetame importi ilma testideta, kuid tulevikus ei v\u00e4lista me ka nende toetust.<\/p>\n<p><\/p>\n<h1 id=\"plany\">Plaane<\/h1>\n<p><\/p>\n<p>Loodetavasti meeldib meie toode paljudele, kes on siiani j\u00f5udnud. Kuid see ei ole veel k\u00f5ik! Tootearendus k\u00e4ib t\u00e4ies hoos ja siin on m\u00f5ned funktsioonid, mida plaanime peagi lisada.<\/p>\n<p><\/p>\n<h2 id=\"oblachnaya-sinhronizaciya\">Pilves\u00fcnkroniseerimine<\/h2>\n<p><\/p>\n<p>\u00dcks enim n\u00f5utud funktsioone. Praegu pakume s\u00fcnkroniseerimiseks versioonihalduse s\u00fcsteeme, milleks muudame vormi selliseks, et see sobiks sellise ehk salvestamise viisiga. Siiski ei sobi see t\u00f6\u00f6voog k\u00f5igile, seet\u00f5ttu kavatseme lisada paljudele tuttava s\u00fcnkroniseerimise mehhanismi meie serverite kaudu. <\/p>\n<p><\/p>\n<h2 id=\"cli\">cli-runtime'is ja kubectl'is<\/h2>\n<p><\/p>\n<p>Nagu eelpool mainitud, ei saa IDE tasemel tooted hakkama erinevate integreerimistega juba olemasolevate rakenduste v\u00f5i t\u00f6\u00f6voogudega. CLI on just vajalik TestMace\u2019is kirjutatud testide integreerimiseks pideva integreerimise protsessi. CLI arendus k\u00e4ib t\u00e4ies hoos, varastes versioonides k\u00e4ivitatakse projekt koos lihtsa konsoolireportiga. Edaspidi plaanime lisada raporti v\u00e4ljundi JUnit vormingus.<\/p>\n<p><\/p>\n<h2 id=\"plaginnaya-sistema\">Pluginas\u00fcsteem<\/h2>\n<p><\/p>\n<p>Hoolimata meie t\u00f6\u00f6riista v\u00f5imekusest, on juhtumite hulk, mis vajavad lahendamist, piiramatu. L\u00f5ppude l\u00f5puks on \u00fclesandeid, mis on spetsiifilised konkreetsele projektile. Just seet\u00f5ttu plaanime tulevikus lisada SDK pluginite arendamiseks, et iga arendaja saaks lisada soovitud funktsioone.<\/p>\n<p><\/p>\n<h2 id=\"rasshirenie-assortimenta-tipov-uzlov\">S\u00f5lmpunktide t\u00fc\u00fcpide valiku laiendamine<\/h2>\n<p><\/p>\n<p>See s\u00f5lmpunktide komplekt ei kata k\u00f5iki kasutaja vajadusi. S\u00f5lmed, mida plaanitakse lisada:<\/p>\n<p><\/p>\n<ul>\n<li>Script s\u00f5lm \u2014 muudab ja paigutab andmeid, kasutades js ja vastavat API-d. Selle s\u00f5lme abil saab teha n\u00e4iteks pre-request ja post-request skripte Postmanis.<\/li>\n<li>GraphQL s\u00f5lm \u2014 GraphQL toe lisamine<\/li>\n<li>Custom assertion s\u00f5lm \u2014 v\u00f5imaldab laiendada olemasolevate assertion-ide komplekti projekti sees<br \/>\nLoomulikult ei ole see l\u00f5plik nimekiri, see t\u00e4ieneb pidevalt, sealhulgas teie tagasisidest.<\/li>\n<\/ul>\n<p><\/p>\n<h1 id=\"faq\">KKK<\/h1>\n<p><\/p>\n<p><strong>Kuidas te Postmanist erinevate?<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>Konseptsioon s\u00f5lmedest, mis v\u00f5imaldab praktiliselt l\u00f5pmatult skaleerida projekti funktsionaalsust<\/li>\n<li>Inimesele loetav projekti formaat, mida s\u00e4ilitatakse failis\u00fcsteemis, mis lihtsustab versioonihalduss\u00fcsteemide kasutamist<\/li>\n<li>V\u00f5ime luua teste ilma programmeerimiseta ja t\u00e4iustatud tugi js-le testide redigeerimisel (autot\u00e4ide, staatiline anal\u00fcsaator)<\/li>\n<li>Edasiarenenud automaatse t\u00e4iendamise ja muutujate praeguse v\u00e4\u00e4rtuse esitlemine<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>Kas see on avatud l\u00e4htekoodiga toode?<\/strong><\/p>\n<p><\/p>\n<p>Ei, praegu on l\u00e4htekood suletud, kuid tulevikus kaalume v\u00f5imalust selle avamiseks<\/p>\n<p><\/p>\n<p><strong>Kuidas te raha teenite?)<\/strong><\/p>\n<p><\/p>\n<p>Tasuta versiooniga plaanime v\u00e4lja anda ka tasulise versiooni. See sisaldab peamiselt serveripoolset osa n\u00f5udvaid funktsioone, n\u00e4iteks s\u00fcnkroniseerimist.<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Kokkuv\u00f5te<\/h1>\n<p><\/p>\n<p>Meie projekt liigub kiiresti stabiilse versiooni suunas. Kuid juba praegu saab toodet kasutada ning meie varajaste kasutajate positiivsed arvustused kinnitavad seda. Kogume aktiivselt tagasisidet, sest ilma tiheda koost\u00f6\u00f6ta kogukonnaga ei ole v\u00f5imalik head t\u00f6\u00f6riista luua. Leidke meid siit:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">Ametlik veebisait<\/a><\/noindex><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/testmace\">Telegram<\/a><\/noindex><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/testmaceslackin.herokuapp.com\">Slack<\/a><\/noindex><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/testmace\">Facebook<\/a><\/noindex><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/TestMace\/TestMace-issues\">Probleemide j\u00e4lgimise s\u00fcsteem<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Ootame p\u00f5nevusega teie soove ja ettepanekuid!<\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458372\/\">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! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u0443\u0434 IT-\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0448 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u2014 IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API TestMace. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0437\u043d\u0430\u044e\u0442 \u043e \u043d\u0430\u0441 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u0441\u0435\u043e\u0431\u044a\u0435\u043c\u043b\u044e\u0449\u0435\u0433\u043e \u043e\u0431\u0437\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c \u044d\u0442\u043e\u0442 \u0434\u043e\u0441\u0430\u0434\u043d\u044b\u0439 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a. \u041c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u0425\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0442\u043e\u0433\u043e \u043a\u0430\u043a, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u0442\u0430\u043a\u043e\u0439 \u0436\u0438\u0437\u043d\u0438 \u0438 \u0440\u0435\u0448\u0438\u043b\u0438 [&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-54187","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! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u0443\u0434 IT-\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0448 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u2014 IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API TestMace.\" \/>\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\/testmace-moshhnaya-ide-dlya-raboty-s-api\" \/>\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\udd47TestMace \u2014 \u043c\u043e\u0449\u043d\u0430\u044f IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u0443\u0434 IT-\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0448 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u2014 IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API TestMace.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api\" \/>\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\udd47TestMace \u2014 v\u00f5imas IDE API-dega t\u00f6\u00f6tamiseks | ProHoster","description":"Tere k\u00f5igile! T\u00e4na tahame tutvustada IT-avalikkusele meie toodet \u2014 IDE API-de t\u00f6\u00f6ks TestMace.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","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\udd47TestMace \u2014 \u043c\u043e\u0449\u043d\u0430\u044f IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u0443\u0434 IT-\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0448 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u2014 IDE \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API TestMace.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","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":"54187","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\/54187","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=54187"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/54187\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=54187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=54187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=54187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}