{"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\/sl\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","title":{"rendered":"TestMace \u2014 mo\u010dna IDE za delo z API-ji","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pozdravljeni! Danes vam \u017eelimo predstaviti na\u0161 izdelek - IDE za delo z API-ji. <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">TestMace<\/a><\/noindex>Morda nekateri od vas \u017ee poznate nas iz <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/blog\/\">prej\u0161njih \u010dlankov<\/a><\/noindex>. Vendar doslej \u0161e ni bilo celovitega pregleda orodja, zato odpravimo to nadle\u017eno pomanjkljivost.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" 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\">Motivacija<\/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>Ustvarjanje in izvajanje poizvedb in scenarijev (zaporedje poizvedb)<\/li>\n<li>Pisanje razli\u010dnih testov<\/li>\n<li>Generiranje testov<\/li>\n<li>Delo z opisom API-ja, vklju\u010dno z uvozom iz formatov, kot so Swagger, OpenAPI, WADL itd.<\/li>\n<li>Mokiranje poizvedb<\/li>\n<li>Dobra podpora za enega ali ve\u010d programskih jezikov pri pisanju skript, vklju\u010dno z integracijo s priljubljenimi knji\u017enicami<\/li>\n<li>itd.<\/li>\n<\/ul>\n<p><\/p>\n<p>Seznam lahko dopolnite po svojem okusu. Pomembno je ustvariti ne le samo IDE, temve\u010d tudi dolo\u010deno infrastrukturo, kot je obla\u010dna sinhronizacija, orodja ukazne vrstice, storitev spletnega nadzora itd. Na koncu koncev, trendi zadnjih let narekujejo ne le zmogljivo funkcionalnost aplikacije, temve\u010d tudi njen prijeten vmesnik.<\/p>\n<p><\/p>\n<p>Za koga je primerno to orodje? O\u010ditno za vse tiste, ki so kakorkoli povezani z razvojem in testiranjem API-jev - programerje in testerje =). Medtem ko za prve pogosto zadostuje izvajanje posameznih poizvedb in preprostih scenarijev, je za testerje to eno izmed glavnih orodij, ki poleg vsega mora imeti mo\u010dan mehanizem za pisanje testov z mo\u017enostjo njihovih izvajanj v CI.<\/p>\n<p><\/p>\n<p>Torej, v skladu s temi usmeritvami smo za\u010deli razvijati svoj izdelek. Poglejmo, kaj smo dosegli v tej fazi.<\/p>\n<p><\/p>\n<h1 id=\"bystryy-start\">Hiter za\u010detek<\/h1>\n<p><\/p>\n<p>Za\u010dnimo s prvim sre\u010danjem z aplikacijo. Prenesete jo lahko <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\/\">na na\u0161oj stranici<\/a><\/noindex>. Trenutno podpiramo vse tri glavne platforme - Windows, Linux, MacOS. Prenesite, namestite, za\u017eenite. Ob prvem zagonu lahko vidite naslednje okno:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/dbbd26d8656488cd11716f7dbede9ec7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kliknite na plus na vrhu obmo\u010dja vsebine, da ustvarite svojo prvo poizvedbo. Zavihek s poizvedbo izgleda takole:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/d76205f43ec821018642a3d354532e7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Poglejmo to malo podrobneje. Vmesnik zahtevka zelo spominja na vmesnike priljubljenih rest-strank, kar olaj\u0161a prenos s tak\u0161nih orodij. Izvedimo prvi zahtevek na url <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 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/19e639baa1e0d51f1a40b76ae9144d6c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Na prvi pogled odzivna plo\u0161\u010da tudi ne prina\u0161a kakr\u0161nih koli nepri\u010dakovanih presene\u010denj. Vendar pa bi rad opozoril na nekatere to\u010dke:<\/p>\n<p><\/p>\n<ol>\n<li>Telo odgovora ima predstavitev v obliki drevesa, kar najprej pove\u010duje informativnost in drugi\u010d omogo\u010da dodajanje nekaterih zanimivih funkcij, o katerih bomo govorili spodaj.<\/li>\n<li>Obstaja zavihek Assertions, v katerem je prikazan seznam testov za ta zahtevek.<\/li>\n<\/ol>\n<p><\/p>\n<p>Kot lahko opazite, lahko na\u0161e orodje uporabljamo kot priro\u010den rest-klient. Vendar pa se tu nismo zbrali, \u010de bi bile njegove mo\u017enosti omejene samo na oddajo zahtevkov. Naslednje bom predstavil glavne pojme in funkcionalnosti TestMace.<\/p>\n<p><\/p>\n<h1 id=\"osnovnye-ponyatiya-i-vozmozhnosti\">Glavni pojmi in mo\u017enosti<\/h1>\n<p><\/p>\n<h2 id=\"uzel\">Sistem<\/h2>\n<p><\/p>\n<p>Funkcionalnost TestMace je razdeljena po razli\u010dnih vrstah sistemov. Na zgornjem primeru smo prikazali delovanje RequestStep sistema. Vendar pa so v aplikaciji trenutno na voljo tudi naslednje vrste sistemov:<\/p>\n<p><\/p>\n<ul>\n<li>RequestStep. To je sistem, s pomo\u010djo katerega lahko ustvarite zahtevek. Kot podrejen element lahko vsebuje le en Assertion sistem.<\/li>\n<li>Assertion. Sistem se uporablja za pisanje testov. Lahko je podrejeni sistem le za RequestStep sistem.<\/li>\n<li>Folder. Omogo\u010da skupno grupiranje Folder in RequestStep sistemov znotraj sebe.<\/li>\n<li>Project. To je korenski sistem, ki se ustvari samodejno ob ustvarjanju projekta. V ostalem ponavlja funkcionalnosti Folder sistema.<\/li>\n<li>Link. Povezava na Folder ali RequestStep sistem. Omogo\u010da ponovno uporabo zahtevkov in scenarijev.<\/li>\n<li>itd.<\/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>Ob zagonu aplikacije ste morda opazili osamljeno vrstico Project v zgornjem levem kotu. To je koren drevesa projekta. Ob zagonu projekta se ustvari za\u010dasni projekt, katerega pot je odvisna od va\u0161ega operacijskega sistema. Kadarkoli lahko projekt prenesete na mesto, ki vam ustreza.<\/p>\n<p><\/p>\n<p>Glavna funkcija projekta je omogo\u010diti shranjevanje razvojnih del v datote\u010dnem sistemu ter nadaljnje sinhronizacije preko sistemov za nadzor razli\u010dic, izvajanje scenarijev v CI, pregled sprememb itd.<\/p>\n<p><\/p>\n<h2 id=\"peremennye\">Spremenljivke<\/h2>\n<p><\/p>\n<p>Spremenljivke so mehanizem, ki je klju\u010dnega pomena za aplikacijo. Tisti izmed vas, ki delate z orodji, kot je TestMace, ste morda \u017ee razumeli, o \u010dem te\u010de beseda. Torej, spremenljivke so na\u010din za shranjevanje skupnih podatkov in komunikacijo med vozli\u0161\u010di. Primer so okoljske spremenljivke v Postmanu ali Insomnii. Vendar smo \u0161li \u0161e dlje in to temo razvili. V TestMace je mogo\u010de spremenljivke nastaviti na ravni katerega koli vozli\u0161\u010da. Obstaja tudi mehanizem dedovanja spremenljivk od prednikov in prekrivanja spremenljivk v potomcih. Poleg tega so na voljo \u0161tevilne vgrajene spremenljivke, katerih imena se za\u010dnejo z <code>$<\/code>. Tukaj je nekaj od njih:<\/p>\n<p><\/p>\n<ul>\n<li><code>$prevStep<\/code> \u2014 povezava do spremenljivk prej\u0161njega vozli\u0161\u010da<\/li>\n<li><code>$nextStep<\/code> \u2014 povezava do spremenljivk naslednjega vozli\u0161\u010da<\/li>\n<li><code>$parent<\/code> \u2014 to je enako, vendar za prednika<\/li>\n<li><code>$response<\/code> \u2014 odgovor stre\u017enika<\/li>\n<li><code>$env<\/code> \u2014 trenutne okoljske spremenljivke<\/li>\n<li><code>$dynamicVar<\/code> \u2014 dinami\u010dne spremenljivke, ki se ustvarjajo med izvajanjem scenarija ali zahteve<\/li>\n<\/ul>\n<p><\/p>\n<p><code>$env<\/code> \u2014 v bistvu gre za obi\u010dajne spremenljivke na ravni projekta, vendar se nabor okoljskih spremenljivk spreminja glede na izbrano okolje. <\/p>\n<p><\/p>\n<p>Dostop do spremenljivke se izvede preko <code>${variable_name}<\/code><br \/>\nKot vrednost spremenljivke je lahko druga spremenljivka ali celo celotno izraz. Na primer, kot spremenljivka url je lahko izraz, ki izgleda takole<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\">Scenariji<\/h2>\n<p><\/p>\n<p>Z uporabo vseh zgoraj navedenih mo\u017enosti lahko izvajate celotne scenarije zahtevkov. Na primer, ustvarjanje entitete -&gt; zahteva entitete -&gt; izbris entitete. V tem primeru lahko na primer uporabite vozli\u0161\u010de Folder za grupiranje ve\u010d vozli\u0161\u010d RequestStep.<\/p>\n<p><\/p>\n<h2 id=\"avtodopolnenie-i-podsvetka-znacheniya-vyrazheniya\">Samodejno dopolnjevanje in osvetlitev vrednosti izraza<\/h2>\n<p><\/p>\n<p>Za udobno delo z spremenljivkami (in ne samo) je potrebno samodejno dopolnjevanje. Seveda je tu tudi osvetlitev vrednosti izraza, da je la\u017eje in bolj udobno preveriti, koliko zna\u0161a ta ali ona spremenljivka. To je tisti primer, kjer je bolje enkrat videti, kot stokrat sli\u0161ati:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/cf9d30c9623b18575825d4282b8fe3e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Omeniti je treba, da je samodejno dopolnjevanje izvedeno ne le za spremenljivke, temve\u010d tudi, na primer, za naslove, vrednosti dolo\u010denih naslovov (na primer, samodejno dopolnjevanje za naslov Content-Type), protokole in \u0161e mnogo ve\u010d. Seznam se nenehno \u0161iri z rastjo aplikacije.<\/p>\n<p><\/p>\n<h2 id=\"undoredo\">Razveljavitev\/ponovitev<\/h2>\n<p><\/p>\n<p>Razveljavitev\/ponovitev sprememb je zelo priro\u010dna stvar, vendar se nekako ne izvaja povsod (in orodja za delo z API niso izjema). A mi nismo taki!) Razveljavitev\/ponovitev pri nas je implementirana v okviru celotnega projekta, kar omogo\u010da razveljavitev ne samo urejanja dolo\u010dene vozli\u0161\u010da, temve\u010d tudi njeno ustvarjanje, brisanje, premikanje itd. Najbolj kriti\u010dne operacije zahtevajo potrditev.<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-testov\">Ustvarjanje testov<\/h2>\n<p><\/p>\n<p>Za ustvarjanje testov je odgovoren vozli\u0161\u010de Assertion. Ena od glavnih zna\u010dilnosti je mo\u017enost ustvarjanja testov brez programiranja, z uporabo vgrajenih urednikov. <\/p>\n<p><\/p>\n<p>Vozli\u0161\u010de Assertion je sestavljeno iz niza trditev (assertion). Vsaka trditev ima svoj tip, trenutno obstaja ve\u010d tipov trditev.<\/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>Contains value \u2014 preverja, ali podniz obstaja v nizu.<\/p>\n<p>\n<\/li>\n<li>\n<p>XPath \u2014 preverja, ali na izbranem elementu v XML le\u017ei dolo\u010dena vrednost.<\/p>\n<p>\n<\/li>\n<li>\n<p>JavaScript assertion \u2014 poljuben skript v jeziku JavaScript, ki vrne true v primeru uspeha in false v primeru neuspeha.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>Opazil bom, da zadnji zahteva od uporabnika programerske ve\u0161\u010dine, medtem ko se ostale 3 trditve ustvarjajo s pomo\u010djo grafi\u010dnega vmesnika. Tukaj je, kako izgleda pogovor za ustvarjanje trditve za primerjavo vrednosti:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/e71e11fb0fb664d1d9751a71fbdcc850.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u010ce\u0161nja na torti je hitro ustvarjanje trditev iz odgovora, samo poglejte to!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/3b86084419339a7a05a3548df5c12d6a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vendar pa te trditve imajo o\u010ditne omejitve, pri katerih se lahko zate\u010dete k JavaScript trditvam. In tu TestMace prav tako ponuja udobno okolje z samodejnim dopolnjevanjem, poudarjanjem sintakse in celo s stati\u010dnim analizatorjem.<\/p>\n<p><\/p>\n<h2 id=\"opisanie-api\">Opis API<\/h2>\n<p><\/p>\n<p>TestMace omogo\u010da ne samo uporabo API, temve\u010d tudi njegovo dokumentiranje. Pri tem ima samo opis tudi hierarhi\u010dno strukturo in se organsko vklju\u010duje v preostali projekt. Poleg tega trenutno obstaja mo\u017enost uvoza opisa API iz formatov Swagger 2.0 \/ OpenAPI 3.0. Sam opis ne le\u017ei mrtvo, temve\u010d tesno integrira z ostalim delom projekta, zlasti pa je na voljo samodejno dopolnjevanje URL-jev, HTTP-headerjev, poizvedbenih parametrov in drugega; v prihodnje pa na\u010drtujemo dodati teste za skladnost odgovora z opisom API.<\/p>\n<p><\/p>\n<h2 id=\"sharing-nod\">Dela delovnih vozli\u0161\u010d<\/h2>\n<p><\/p>\n<p>Primer: \u017eeleli bi deliti problemati\u010dno zahtevo ali celo celoten scenarij s kolegom ali preprosto prilo\u017eiti k napaki. TestMace pokriva tudi ta primer: aplikacija omogo\u010da, da serializirate katero koli vozli\u0161\u010de in celo poddrevo v URL. Kopirajte-in-prilepite in \u017ee zlahka prenesete zahtevo na drug ra\u010dunalnik ali projekt.<\/p>\n<p><\/p>\n<h2 id=\"chelovekochitaemyy-format-hraneniya-proekta\">\u010clove\u0161ko berljiv format shranjevanja projekta<\/h2>\n<p><\/p>\n<p>Trenutno vsako vozli\u0161\u010de shranjujemo v lo\u010deno datoteko z raz\u0161iritvijo yml (kot v primeru z vozli\u0161\u010dem Assertion), ali v mapo z imenom vozli\u0161\u010da in datoteko index.yml v njej.<br \/>\nTako na primer izgleda datoteka z zahtevo, ki smo jo pripravili v pregledu zgoraj:<\/p>\n<p>\n<b class=\"spoiler_title\">index.yml<\/b><\/p>\n<pre><code class=\"ruby\">otroci: []\nspremenljivke: {}\ntip: RequestStep\nizdelajSpremenljivke: []\nrequestData:\n  zahteva:\n    metoda: GET\n    url: 'https:\/\/next.json-generator.com\/api\/json\/get\/NJv-NT-U8'\n  headerji: []\n  onemogo\u010deniDedovaniHeaderji: []\n  parametri: []\n  telo:\n    tip: Json\n    jsonTelo: ''\n    xmlTelo: ''\n    besediloTelo: ''\n    podatkiObrazca: []\n    datoteka: ''\n    formURLEncoded: []\n  strogoSSL: Dedovati\ndataZaAvtentikacijo:\n  tip: dedovati\nime: Scratch 1<\/code><\/pre>\n<p><\/p>\n<p>Kot vidite, je vse zelo jasno. \u010ce \u017eelite, je tak format povsem udoben za ro\u010dno urejanje.<\/p>\n<p><\/p>\n<p>Hierarhija map v datote\u010dnem sistemu popolnoma ponavlja hierarhijo vozli\u0161\u010d v projektu. Na primer, scenarij tak\u0161nega videza:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/8f08d934a977e4fdacd269f4ea0c34b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Se mapa v datote\u010dnem sistemu preslika v naslednjo strukturo (prikazana je samo hierarhija map, a bistvo je jasno)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 mo\u010dna IDE za delo z API-ji\" src=\"\/wp-content\/uploads\/2019\/12\/60a54704979f5a77ee05735fd8ebe824.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kar olaj\u0161a postopek pregleda projekta.<\/p>\n<p><\/p>\n<h2 id=\"import-iz-postman\">Uvoz iz Postmana<\/h2>\n<p><\/p>\n<p>Ko preberete vse zgoraj navedeno, nekateri uporabniki morda \u017eelijo preizkusiti (resni\u010dno?) nov izdelek ali (saj ve\u0161, kaj pravijo!) ga v celoti uporabiti v svojem projektu. Vendar pa lahko migracijo ustavi velika koli\u010dina dela v istem Postman-u. V takih primerih TestMace podpira uvoz zbirk iz Postmana. Trenutno se podpira uvoz brez testov, vendar v prihodnje ne izklju\u010dujemo tudi njihove podpore.<\/p>\n<p><\/p>\n<h1 id=\"plany\">Na\u010drti<\/h1>\n<p><\/p>\n<p>Upam, da je mnogim tistim, ki so prebrali do tega trenutka, na\u0161 izdelek v\u0161e\u010d. Vendar to \u0161e ni vse! Delo na produktu poteka s polno paro in tukaj je nekaj funkcij, ki jih nameravamo kmalu dodati.<\/p>\n<p><\/p>\n<h2 id=\"oblachnaya-sinhronizaciya\">Obla\u010dna sinhronizacija<\/h2>\n<p><\/p>\n<p>Ena izmed najbolj iskanih funkcij. Trenutno ponujamo sistem nadzora razli\u010dic kot mo\u017enost sinhronizacije, zato format prilagajamo, da bo prijaznej\u0161i za tak na\u010din shranjevanja. Vendar to ne ustreza vsem, zato na\u010drtujemo dodati poznani mehanizem sinhronizacije preko na\u0161ih stre\u017enikov. <\/p>\n<p><\/p>\n<h2 id=\"cli\">CLI<\/h2>\n<p><\/p>\n<p>Kot je bilo \u017ee omenjeno, izdelki na ravni IDE ne morejo brez razli\u010dnih integracij z obstoje\u010dimi aplikacijami ali delovnimi tokovi. CLI je nujno potreben za integracijo testov, napisanih v TestMace, v proces neprekinjenega integriranja. Delo na CLI poteka z veliko intenzivnostjo, v zgodnjih razli\u010dicah bo mo\u017eno zagnati projekt s preprosto konzolno poro\u010dilo. V prihodnje na\u010drtujemo dodati izhodno poro\u010dilo v formatu JUnit.<\/p>\n<p><\/p>\n<h2 id=\"plaginnaya-sistema\">Sistem vti\u010dnikov<\/h2>\n<p><\/p>\n<p>Kljub mo\u010di na\u0161ega orodja je mno\u017eica primerov, ki potrebujejo re\u0161itev, neomejena. Na koncu so tu naloge, specifi\u010dne za posamezen projekt. Prav zato na\u010drtujemo dodati SDK za razvoj vti\u010dnikov, da bo vsak razvijalec lahko dodal funkcionalnost po svoji izbiri.<\/p>\n<p><\/p>\n<h2 id=\"rasshirenie-assortimenta-tipov-uzlov\">\u0160iritev asortimana tipov vozli\u0161\u010d<\/h2>\n<p><\/p>\n<p>Ta niz vozli\u0161\u010d ne pokriva vseh primerov, potrebnih uporabnikom. Vozli\u0161\u010da, ki jih nameravamo dodati:<\/p>\n<p><\/p>\n<ul>\n<li>Script vozli\u0161\u010de \u2014 pretvarja in shranjuje podatke, z uporabo js in ustreznega API. Z uporabo tak\u0161nega tipa vozli\u0161\u010da je mogo\u010de narediti stvari, kot so pre-request in post-request skripti v Postmanu.<\/li>\n<li>GraphQL vozli\u0161\u010de \u2014 podpora za graphql<\/li>\n<li>Custom assertion vozli\u0161\u010de \u2014 omogo\u010dilo bo \u0161iritev obstoje\u010dega niza assertion-ov v projektu<br \/>\nSeveda to ni kon\u010dni seznam, ta se bo nenehno dopolnjeval tudi na podlagi va\u0161ih povratnih informacij.<\/li>\n<\/ul>\n<p><\/p>\n<h1 id=\"faq\">FAQ<\/h1>\n<p><\/p>\n<p><strong>Kaj vas lo\u010di od Postmana?<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>Koncept vozli\u0161\u010d, ki omogo\u010da prakti\u010dno neskon\u010dno \u0161iritev funkcionalnosti projekta<\/li>\n<li>\u010cloveku berljiv format projekta s shranjevanjem v datote\u010dni sistem, kar poenostavi delo z uporabo sistemov nadzora razli\u010dic<\/li>\n<li>Mo\u017enost izdelave testov brez programiranja in bolj napredna podpora js v urejevalniku testov (samodejno dopolnjevanje, stati\u010dni analizator)<\/li>\n<li>Napredno automatsko dovr\u0161avanje i isticanje trenutnih vrednosti promenljivih<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>Da li je ovo open-source proizvod?<\/strong><\/p>\n<p><\/p>\n<p>Ne, trenutno su izvori zatvoreni, me\u0111utim, u budu\u0107nosti razmatramo mogu\u0107nost otvaranja izvora<\/p>\n<p><\/p>\n<p><strong>Kako se izdr\u017eavate?)<\/strong><\/p>\n<p><\/p>\n<p>Pored besplatne verzije, planiramo da izdamo pla\u0107enu verziju proizvoda. Ona \u0107e prvenstveno uklju\u010divati stvari koje zahtevaju serversku komponentu, kao \u0161to je sinhronizacija.<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Zaklju\u010dek<\/h1>\n<p><\/p>\n<p>Na\u0161 projekat brzim koracima napreduje ka stabilnom izdanju. Me\u0111utim, proizvod se ve\u0107 sada mo\u017ee koristiti i pozitivni komentari na\u0161ih ranih korisnika to potvr\u0111uju. Aktivno prikupljamo povratne informacije, jer bez bliske saradnje sa zajednicom ne mo\u017eemo izgraditi dobar alat. Mo\u017eete nas prona\u0107i ovde:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">Uradna spletna stran<\/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\">Issues-tracker<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Radujemo se va\u0161im \u017eeljama i predlozima!<\/p>\n<p>Izvor: <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.4 - 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\/sl\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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 mo\u0107an IDE za rad sa API-jem | ProHoster","description":"Zdravo svima! Danas \u017eelimo da predstavimo IT zajednici na\u0161 proizvod \u2014 IDE za rad sa API-jem TestMace.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/54187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=54187"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/54187\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=54187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=54187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=54187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}