{"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\/hu\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","title":{"rendered":"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00dcdv mindenkinek! Ma bemutatjuk a IT k\u00f6z\u00f6ss\u00e9gnek a term\u00e9k\u00fcnket \u2014 IDE-t API munk\u00e1hoz <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">TestMace<\/a><\/noindex>. Tal\u00e1n n\u00e9h\u00e1nyan m\u00e1r hallottatok r\u00f3lunk <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/blog\/\">a Zimbra Collaboration Suite v\u00e1llalati bevezet\u00e9s\u00e9vel kapcsolatos infrastrukt\u00fara tervez\u00e9s\u00e9r\u0151l<\/a><\/noindex>. Azonban \u00e1tfog\u00f3 \u00e1ttekint\u00e9s m\u00e9g nem k\u00e9sz\u00fclt a n\u00e1la, ez\u00e9rt p\u00f3toljuk ezt a sajn\u00e1latos hi\u00e1nyoss\u00e1got.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" 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\">Motiv\u00e1ci\u00f3<\/h1>\n<p><\/p>\n<p>Szeretn\u00e9nk kezdeni azzal, hogyan jutottunk el od\u00e1ig, hogy l\u00e9trehozzuk a saj\u00e1t eszk\u00f6z\u00fcnket az API-val val\u00f3 fejlettebb munk\u00e1hoz. Kezdj\u00fck a term\u00e9k funkci\u00f3inak list\u00e1j\u00e1val, amelynek v\u00e9lem\u00e9ny\u00fcnk szerint 'IDE az API-k kezel\u00e9s\u00e9re' kell lennie:<\/p>\n<p><\/p>\n<ul>\n<li>K\u00e9r\u00e9sek \u00e9s forgat\u00f3k\u00f6nyvek (k\u00e9rd\u00e9sek sorozata) l\u00e9trehoz\u00e1sa \u00e9s v\u00e9grehajt\u00e1sa<\/li>\n<li>K\u00fcl\u00f6nb\u00f6z\u0151 t\u00edpus\u00fa tesztek \u00edr\u00e1sa<\/li>\n<li>Tesztek gener\u00e1l\u00e1sa<\/li>\n<li>API le\u00edr\u00e1s\u00e1val val\u00f3 munka, bele\u00e9rtve az import\u00e1l\u00e1st olyan form\u00e1tumokb\u00f3l, mint a Swagger, OpenAPI, WADL stb.<\/li>\n<li>K\u00e9r\u00e9sek megel\u0151z\u00e9se<\/li>\n<li>J\u00f3 t\u00e1mogat\u00e1s egy vagy t\u00f6bb programoz\u00e1si nyelvhez a szkriptek \u00edr\u00e1s\u00e1hoz, bele\u00e9rtve a n\u00e9pszer\u0171 k\u00f6nyvt\u00e1rakkal val\u00f3 integr\u00e1ci\u00f3t<\/li>\n<li>stb.<\/li>\n<\/ul>\n<p><\/p>\n<p>A list\u00e1t \u00edzl\u00e9s szerint lehet b\u0151v\u00edteni. Fontos, hogy ne csak az IDE-t alkossuk meg, hanem egy olyan infrastrukt\u00far\u00e1t is, mint p\u00e9ld\u00e1ul a felh\u0151szinkroniz\u00e1l\u00e1s, parancssori eszk\u00f6z\u00f6k, online megfigyel\u0151 szolg\u00e1ltat\u00e1s stb. V\u00e9g\u00fcl is az ut\u00f3bbi \u00e9vek trendjei megk\u00f6vetelik t\u0151l\u00fcnk, hogy az alkalmaz\u00e1sunk nem csak er\u0151teljes funkci\u00f3val rendelkezzen, hanem kellemes felhaszn\u00e1l\u00f3i fel\u00fclettel is.<\/p>\n<p><\/p>\n<p>Kinek sz\u00fcks\u00e9ges egy ilyen eszk\u00f6z? Nyilv\u00e1nval\u00f3an mindazoknak, akik valamilyen m\u00f3don kapcsolatban \u00e1llnak az API fejleszt\u00e9s\u00e9vel \u00e9s tesztel\u00e9s\u00e9vel \u2014 fejleszt\u0151knek \u00e9s tesztel\u0151knek =). M\u00edg az els\u0151 esetben gyakran elegend\u0151 az egyedi k\u00e9r\u00e9sek v\u00e9grehajt\u00e1sa \u00e9s egyszer\u0171 forgat\u00f3k\u00f6nyvek, addig a tesztel\u0151k sz\u00e1m\u00e1ra ez az egyik alapvet\u0151 eszk\u00f6z, amelynek egy er\u0151teljes teszt\u00edr\u00f3 mechanizmussal kell rendelkeznie, hogy a CI-ben futhassanak.<\/p>\n<p><\/p>\n<p>Teh\u00e1t, k\u00f6vetve ezeket az ir\u00e1nyelveket, elkezdt\u00fck l\u00e9trehozni a term\u00e9k\u00fcnket. N\u00e9zz\u00fck meg, mit \u00e9rt\u00fcnk el eddig.<\/p>\n<p><\/p>\n<h1 id=\"bystryy-start\">Gyors ind\u00edt\u00e1s<\/h1>\n<p><\/p>\n<p>Kezdj\u00fck az alkalmaz\u00e1ssal val\u00f3 els\u0151 tal\u00e1lkoz\u00e1ssal. Let\u00f6lteni itt lehet <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\/\">weboldalunkon<\/a><\/noindex>. Jelenleg mindh\u00e1rom f\u0151 platformot t\u00e1mogatjuk \u2014 Windows, Linux, MacOS. Let\u00f6lt\u00e9s, telep\u00edt\u00e9s, ind\u00edt\u00e1s. Az els\u0151 ind\u00edt\u00e1skor az al\u00e1bbi ablakot l\u00e1thatja:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/dbbd26d8656488cd11716f7dbede9ec7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kattintson a tartalom ter\u00fclet\u00e9nek tetej\u00e9n l\u00e9v\u0151 plusz jelre az els\u0151 k\u00e9r\u00e9s l\u00e9trehoz\u00e1s\u00e1hoz. A k\u00e9r\u00e9s f\u00fcl a k\u00f6vetkez\u0151k\u00e9ppen n\u00e9z ki:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/d76205f43ec821018642a3d354532e7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>R\u00e9szletesebben is foglalkozzunk vele. A lek\u00e9rdez\u00e9s fel\u00fclete nagyon hasonl\u00edt a n\u00e9pszer\u0171 REST-kliensek fel\u00fclet\u00e9re, ami megk\u00f6nny\u00edti a migr\u00e1ci\u00f3t hasonl\u00f3 eszk\u00f6z\u00f6kr\u0151l. K\u00e9sz\u00edts\u00fck el az els\u0151 lek\u00e9rdez\u00e9st az url-en. <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 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/19e639baa1e0d51f1a40b76ae9144d6c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Az els\u0151 pillant\u00e1sra a v\u00e1laszpanel sem hoz v\u00e1ratlan meglepet\u00e9seket. Fontos azonban n\u00e9h\u00e1ny pontra figyelmet ford\u00edtani:<\/p>\n<p><\/p>\n<ol>\n<li>A v\u00e1lasz teste fa strukt\u00far\u00e1ban jelenik meg, ami egyr\u00e9szt informat\u00edvabb\u00e1 teszi, m\u00e1sr\u00e9szt lehet\u0151s\u00e9get ad n\u00e9h\u00e1ny \u00e9rdekes funkci\u00f3 hozz\u00e1ad\u00e1s\u00e1ra, amelyekr\u0151l lentebb olvashat.<\/li>\n<li>Van egy Assertions f\u00fcl, ahol a megadott k\u00e9r\u00e9shez tartoz\u00f3 tesztek list\u00e1ja l\u00e1that\u00f3.<\/li>\n<\/ol>\n<p><\/p>\n<p>Mint l\u00e1that\u00f3, eszk\u00f6z\u00fcnket k\u00e9nyelmes REST-k\u00e9nt is haszn\u00e1lhatjuk. De nem az\u00e9rt gy\u0171lt\u00fcnk itt \u00f6ssze, hogy a lehet\u0151s\u00e9gei csup\u00e1n a lek\u00e9rdez\u00e9sek elk\u00fcld\u00e9s\u00e9re korl\u00e1toz\u00f3djanak. Tov\u00e1bb\u00e1 bemutatom a TestMace alapvet\u0151 fogalmait \u00e9s funkcion\u00e1lis lehet\u0151s\u00e9geit.<\/p>\n<p><\/p>\n<h1 id=\"osnovnye-ponyatiya-i-vozmozhnosti\">Alapvet\u0151 fogalmak \u00e9s lehet\u0151s\u00e9gek<\/h1>\n<p><\/p>\n<h2 id=\"uzel\">Csom\u00f3pont<\/h2>\n<p><\/p>\n<p>A TestMace funkci\u00f3i k\u00fcl\u00f6nb\u00f6z\u0151 t\u00edpus\u00fa csom\u00f3pontokra vannak felosztva. A fenti p\u00e9ld\u00e1ban bemutattuk a RequestStep csom\u00f3pont m\u0171k\u00f6d\u00e9s\u00e9t. Jelenleg az alkalmaz\u00e1sban a k\u00f6vetkez\u0151 t\u00edpus\u00fa csom\u00f3pontok is el\u00e9rhet\u0151ek:<\/p>\n<p><\/p>\n<ul>\n<li>RequestStep. Ez a csom\u00f3pont lehet\u0151v\u00e9 teszi a k\u00e9r\u00e9s l\u00e9trehoz\u00e1s\u00e1t. Csak egy Assertion csom\u00f3pont lehet a gyermekeleme.<\/li>\n<li>Assertion. Ez a csom\u00f3pont tesztek \u00edr\u00e1s\u00e1ra szolg\u00e1l. Csak a RequestStep csom\u00f3pont gyermekek\u00e9nt lehet jelen.<\/li>\n<li>Folder. Lehet\u0151v\u00e9 teszi a Folder \u00e9s RequestStep csom\u00f3pontok csoportos\u00edt\u00e1s\u00e1t.<\/li>\n<li>Project. Ez a gy\u00f6k\u00e9rcsom\u00f3pont, amely automatikusan l\u00e9trej\u00f6n a projekt l\u00e9trehoz\u00e1sakor. Egy\u00e9bk\u00e9nt a Folder csom\u00f3pont funkci\u00f3it ism\u00e9tli.<\/li>\n<li>Link. Hivatkoz\u00e1s egy Folder vagy RequestStep csom\u00f3pontra. Lehet\u0151v\u00e9 teszi a lek\u00e9rdez\u00e9sek \u00e9s forgat\u00f3k\u00f6nyvek \u00fajrahaszn\u00e1lat\u00e1t.<\/li>\n<li>stb.<\/li>\n<\/ul>\n<p><\/p>\n<p>A csom\u00f3pontok a scratches-ben (a bal als\u00f3 panel, amely az 'egyszer haszn\u00e1latos' k\u00e9r\u00e9sek gyors l\u00e9trehoz\u00e1s\u00e1ra szolg\u00e1l) \u00e9s a project-ben (a bal fels\u0151 panel), ahol r\u00e9szletesebben meg\u00e1llunk.<\/p>\n<p><\/p>\n<h2 id=\"proekt\">Projekt<\/h2>\n<p><\/p>\n<p>Az alkalmaz\u00e1s ind\u00edt\u00e1sakor \u00e9szlelhett\u00e9tek az egyetlen Project sort a bal fels\u0151 sarokban. Ez a projekt f\u00e1jlszerkezet\u00e9nek gy\u00f6kere. A projekt ind\u00edt\u00e1sakor ideiglenes projekt j\u00f6n l\u00e9tre, amelynek el\u00e9r\u00e9si \u00fatja az oper\u00e1ci\u00f3s rendszert\u0151l f\u00fcgg. B\u00e1rmikor \u00e1thelyezheted a projektet a sz\u00e1modra megfelel\u0151 helyre.<\/p>\n<p><\/p>\n<p>A projekt alapvet\u0151 c\u00e9lja a munk\u00e1k f\u00e1jlrendszerben val\u00f3 t\u00e1rol\u00e1s\u00e1nak lehet\u0151s\u00e9ge, valamint a v\u00e1ltoz\u00e1sok szinkroniz\u00e1l\u00e1sa verzi\u00f3kezel\u0151 rendszerekkel, forgat\u00f3k\u00f6nyvek CI-ben val\u00f3 futtat\u00e1s\u00e1val, v\u00e1ltoz\u00e1sok \u00e1tn\u00e9z\u00e9s\u00e9vel stb.<\/p>\n<p><\/p>\n<h2 id=\"peremennye\">V\u00e1ltoz\u00f3k<\/h2>\n<p><\/p>\n<p>A v\u00e1ltoz\u00f3k az alkalmaz\u00e1s egyik kulcsmechanizmus\u00e1t k\u00e9pezik. Azok k\u00f6z\u00fcl, akik olyan eszk\u00f6z\u00f6kkel dolgoznak, mint a TestMace, m\u00e1r tudj\u00e1k, mir\u0151l van sz\u00f3. Teh\u00e1t a v\u00e1ltoz\u00f3k egy m\u00f3dot jelentenek a k\u00f6z\u00f6s adatok t\u00e1rol\u00e1s\u00e1ra \u00e9s a csom\u00f3pontok k\u00f6z\u00f6tti kommunik\u00e1ci\u00f3ra. P\u00e9ld\u00e1ul a k\u00f6rnyezeti v\u00e1ltoz\u00f3k hasonl\u00f3ak a Postmanban vagy az Insomnia alkalmaz\u00e1sban. Azonban mi tov\u00e1bb l\u00e9pt\u00fcnk \u00e9s kiterjesztett\u00fck a t\u00e9m\u00e1t. A TestMace-ben a v\u00e1ltoz\u00f3kat a csom\u00f3pont szintj\u00e9n lehet be\u00e1ll\u00edtani. B\u00e1rmelyik. L\u00e9tezik tov\u00e1bb\u00e1 egy mechanizmus a v\u00e1ltoz\u00f3k \u00f6r\u00f6kl\u00e9s\u00e9re az \u0151sekt\u0151l \u00e9s a v\u00e1ltoz\u00f3k fel\u00fcl\u00edr\u00e1s\u00e1ra az ut\u00f3dokban. Ezen k\u00edv\u00fcl l\u00e9tezik egy sor be\u00e9p\u00edtett v\u00e1ltoz\u00f3, melyek neve be\u00e9p\u00edtett v\u00e1ltoz\u00f3k\u00e9nt kezd\u0151dik <code>$<\/code>. \u00cdme, n\u00e9h\u00e1ny k\u00f6z\u00fcl\u00fck:<\/p>\n<p><\/p>\n<ul>\n<li><code>$prevStep<\/code> \u2014 hivatkoz\u00e1s a kor\u00e1bbi csom\u00f3pont v\u00e1ltoz\u00f3ra<\/li>\n<li><code>$nextStep<\/code> \u2014 hivatkoz\u00e1s a k\u00f6vetkez\u0151 csom\u00f3pont v\u00e1ltoz\u00f3ra<\/li>\n<li><code>$parent<\/code> \u2014 ugyanaz, de az \u0151st\u0151l<\/li>\n<li><code>$response<\/code> \u2014 a szerver v\u00e1lasza<\/li>\n<li><code>$env<\/code> \u2014 a jelenlegi k\u00f6rnyezeti v\u00e1ltoz\u00f3k<\/li>\n<li><code>$dynamicVar<\/code> \u2014 dinamikus v\u00e1ltoz\u00f3k, amelyeket a forgat\u00f3k\u00f6nyv vagy k\u00e9r\u00e9s v\u00e9grehajt\u00e1sa sor\u00e1n hoznak l\u00e9tre<\/li>\n<\/ul>\n<p><\/p>\n<p><code>$env<\/code> \u2014 ezek l\u00e9nyeg\u00e9ben a Project csom\u00f3pont szint\u0171 norm\u00e1l v\u00e1ltoz\u00f3i, azonban a k\u00f6rnyezeti v\u00e1ltoz\u00f3k k\u00e9szlete a kiv\u00e1lasztott k\u00f6rnyezett\u0151l f\u00fcgg\u0151en v\u00e1ltozik. <\/p>\n<p><\/p>\n<p>A v\u00e1ltoz\u00f3hoz val\u00f3 hozz\u00e1f\u00e9r\u00e9s a k\u00f6vetkez\u0151k\u00e9ppen t\u00f6rt\u00e9nik <code>${variable_name}<\/code><br \/>\nA v\u00e1ltoz\u00f3 \u00e9rt\u00e9kek\u00e9nt lehet egy m\u00e1sik v\u00e1ltoz\u00f3, vagy ak\u00e1r egy eg\u00e9sz kifejez\u00e9s is. P\u00e9ld\u00e1ul a url v\u00e1ltoz\u00f3 \u00e9rt\u00e9ke egy olyan kifejez\u00e9s lehet, mint<br \/>\n<code>http:\/\/${host}:${port}\/${endpoint}<\/code>.<\/p>\n<p><\/p>\n<p>K\u00fcl\u00f6n meg kell eml\u00edteni a v\u00e1ltoz\u00f3k fut\u00e1s k\u00f6zbeni hozz\u00e1rendel\u00e9s\u00e9nek lehet\u0151s\u00e9g\u00e9t. P\u00e9ld\u00e1ul gyakran sz\u00fcks\u00e9g van az hiteles\u00edt\u00e9si adatok (token vagy teljes fejl\u00e9c) ment\u00e9s\u00e9re, amelyek a sikeres bejelentkez\u00e9s ut\u00e1n \u00e9rkeztek a szervert\u0151l. A TestMace lehet\u0151v\u00e9 teszi, hogy az ilyen adatokat dinamikus v\u00e1ltoz\u00f3kba ments\u00fck egy \u0151suk egyik\u00e9be. Annak \u00e9rdek\u00e9ben, hogy elker\u00fclj\u00fck a m\u00e1r megl\u00e9v\u0151 'statikus' v\u00e1ltoz\u00f3kkal val\u00f3 \u00fctk\u00f6z\u00e9seket, a dinamikus v\u00e1ltoz\u00f3k k\u00fcl\u00f6n objektumba ker\u00fcltek. <code>$dynamicVar<\/code>. <\/p>\n<p><\/p>\n<h2 id=\"scenarii\">Forgat\u00f3k\u00f6nyvek<\/h2>\n<p><\/p>\n<p>Az \u00f6sszes fent eml\u00edtett lehet\u0151s\u00e9g felhaszn\u00e1l\u00e1s\u00e1val teljes k\u00e9r\u00e9sforgat\u00f3k\u00f6nyveket hajthat v\u00e9gre. P\u00e9ld\u00e1ul entit\u00e1s l\u00e9trehoz\u00e1sa -&gt; entit\u00e1sk\u00e9rd\u00e9s -&gt; entit\u00e1s t\u00f6rl\u00e9se. Ebben az esetben p\u00e9ld\u00e1ul Folder csom\u00f3pontot haszn\u00e1lhat az egyes RequestStep csom\u00f3pontok csoportos\u00edt\u00e1s\u00e1ra.<\/p>\n<p><\/p>\n<h2 id=\"avtodopolnenie-i-podsvetka-znacheniya-vyrazheniya\">Automatikus kieg\u00e9sz\u00edt\u00e9s \u00e9s a kifejez\u00e9s \u00e9rt\u00e9k\u00e9nek kiemel\u00e9se<\/h2>\n<p><\/p>\n<p>A v\u00e1ltoz\u00f3k (\u00e9s m\u00e1sok) k\u00e9nyelmes haszn\u00e1lat\u00e1hoz sz\u00fcks\u00e9ges az automatikus kieg\u00e9sz\u00edt\u00e9s. \u00c9s term\u00e9szetesen a kifejez\u00e9s \u00e9rt\u00e9keinek kiemel\u00e9se is, hogy k\u00f6nnyebb \u00e9s k\u00e9nyelmesebb legyen tiszt\u00e1zni, hogy egy adott v\u00e1ltoz\u00f3 mennyit \u00e9r. Ez az a helyzet, amikor jobb egyszer l\u00e1tni, mint sz\u00e1zszor hallani:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/cf9d30c9623b18575825d4282b8fe3e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c9rdemes megjegyezni, hogy az automatikus kieg\u00e9sz\u00edt\u00e9s nemcsak a v\u00e1ltoz\u00f3kra vonatkozik, hanem p\u00e9ld\u00e1ul a fejl\u00e9c c\u00edmekre, bizonyos fejl\u00e9c \u00e9rt\u00e9kekre (p\u00e9ld\u00e1ul a Content-Type fejl\u00e9c automatikus kieg\u00e9sz\u00edt\u00e9se), protokollokra \u00e9s sok m\u00e1sra. A lista folyamatosan b\u0151v\u00fcl az alkalmaz\u00e1s n\u00f6veked\u00e9s\u00e9vel.<\/p>\n<p><\/p>\n<h2 id=\"undoredo\">Visszavon\u00e1s\/\u00fajra<\/h2>\n<p><\/p>\n<p>A v\u00e1ltoztat\u00e1sok visszavon\u00e1sa\/\u00fajra v\u00e9grehajt\u00e1sa nagyon hasznos dolog, azonban valami\u00e9rt nem val\u00f3sul meg mindenhol (\u00e9s az API-val val\u00f3 munkaeszk\u00f6z\u00f6k sem kiv\u00e9telek). De mi nem vagyunk ilyenek!) A visszavon\u00e1s\/\u00fajra v\u00e9grehajt\u00e1s a projekt keretein bel\u00fcl val\u00f3sult meg, ami lehet\u0151v\u00e9 teszi, hogy ne csak egy adott elem szerkeszt\u00e9s\u00e9t, hanem l\u00e9trehoz\u00e1s\u00e1t, t\u00f6rl\u00e9s\u00e9t, mozgat\u00e1s\u00e1t stb. is vissza lehessen vonni. A legkritikusabb m\u0171veletek meger\u0151s\u00edt\u00e9st ig\u00e9nyelnek.<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-testov\">Tesztel\u00e9s l\u00e9trehoz\u00e1sa<\/h2>\n<p><\/p>\n<p>A tesztel\u00e9s l\u00e9trehoz\u00e1s\u00e1\u00e9rt az Assertion elem felel. Az egyik f\u0151 jellemz\u0151je, hogy lehet\u0151s\u00e9g van tesztek l\u00e9trehoz\u00e1s\u00e1ra programoz\u00e1s n\u00e9lk\u00fcl, be\u00e9p\u00edtett szerkeszt\u0151k haszn\u00e1lat\u00e1val. <\/p>\n<p><\/p>\n<p>Az Assertion elem \u00e1ll\u00edt\u00e1sok halmaz\u00e1b\u00f3l \u00e1ll. Minden \u00e1ll\u00edt\u00e1snak megvan a saj\u00e1t t\u00edpusa, jelenleg t\u00f6bbf\u00e9le \u00e1ll\u00edt\u00e1s l\u00e9tezik.<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Compare values \u2014 egyszer\u0171en \u00f6sszehasonl\u00edt 2 \u00e9rt\u00e9ket. Van n\u00e9h\u00e1ny \u00f6sszehasonl\u00edt\u00f3 oper\u00e1tor: 'egyenl\u0151', 'nem egyenl\u0151', 'nagyobb', 'nagyobb vagy egyenl\u0151', 'kisebb', 'kisebb vagy egyenl\u0151'.<\/p>\n<p>\n<\/li>\n<li>\n<p>Tartalmazza az \u00e9rt\u00e9ket \u2014 ellen\u0151rzi, hogy a r\u00e9szstring szerepel-e a sz\u00f6vegben.<\/p>\n<p>\n<\/li>\n<li>\n<p>XPath \u2014 ellen\u0151rzi, hogy a szelektor szerint az XML-ben egy adott \u00e9rt\u00e9k tal\u00e1lhat\u00f3.<\/p>\n<p>\n<\/li>\n<li>\n<p>JavaScript \u00e1ll\u00edt\u00e1s \u2014 tetsz\u0151leges JavaScript nyelv\u0171 szkript, amely true-t ad vissza siker eset\u00e9n \u00e9s false-t, ha nem siker\u00fclt.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>Megjegyzem, hogy csak az utols\u00f3 ig\u00e9nyel programoz\u00e1si k\u00e9szs\u00e9geket a felhaszn\u00e1l\u00f3t\u00f3l, a t\u00f6bbi 3 \u00e1ll\u00edt\u00e1st grafikus felhaszn\u00e1l\u00f3i fel\u00fcleten kereszt\u00fcl hozhat\u00f3 l\u00e9tre. \u00cdme egy p\u00e9lda, hogyan n\u00e9z ki a compare values \u00e1ll\u00edt\u00e1s l\u00e9trehoz\u00e1s\u00e1nak p\u00e1rbesz\u00e9dpanelje:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/e71e11fb0fb664d1d9751a71fbdcc850.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A torta csereszny\u00e9je a gyors \u00e1ll\u00edt\u00e1sk\u00e9sz\u00edt\u00e9s a v\u00e1laszb\u00f3l, csak n\u00e9zd meg ezt!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/3b86084419339a7a05a3548df5c12d6a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ezek az \u00e1ll\u00edt\u00e1sok azonban nyilv\u00e1nval\u00f3 korl\u00e1tokkal rendelkeznek, amelyekkel szembes\u00fclve haszn\u00e1lhatod a JavaScript \u00e1ll\u00edt\u00e1st. Itt a TestMace is k\u00e9nyelmes k\u00f6rnyezetet biztos\u00edt automatikus kieg\u00e9sz\u00edt\u00e9ssel, szintaxis kiemel\u00e9ssel \u00e9s ak\u00e1r statikus elemz\u0151vel is.<\/p>\n<p><\/p>\n<h2 id=\"opisanie-api\">API le\u00edr\u00e1s<\/h2>\n<p><\/p>\n<p>A TestMace nemcsak az API haszn\u00e1lat\u00e1t teszi lehet\u0151v\u00e9, hanem annak dokument\u00e1l\u00e1s\u00e1t is. A le\u00edr\u00e1s hierarchikus fel\u00e9p\u00edt\u00e9ssel rendelkezik, \u00e9s szervesen illeszkedik a projekt t\u00f6bbi r\u00e9sz\u00e9hez. Jelenleg lehet\u0151s\u00e9g van az API le\u00edr\u00e1s\u00e1nak import\u00e1l\u00e1s\u00e1ra Swagger 2.0 \/ OpenAPI 3.0 form\u00e1tumokb\u00f3l is. A le\u00edr\u00e1s nem csup\u00e1n holt teher, hanem szorosan integr\u00e1l\u00f3dik a projekt t\u00f6bbi r\u00e9sz\u00e9vel, p\u00e9ld\u00e1ul el\u00e9rhet\u0151 az URL-ek, HTTP-fejl\u00e9cek, lek\u00e9rdez\u00e9si param\u00e9terek automatikus kieg\u00e9sz\u00edt\u00e9se, \u00e9s a j\u00f6v\u0151ben tervez\u00fcnk teszteket is hozz\u00e1adni, amelyek az API v\u00e1lasz\u00e1t a le\u00edr\u00e1hoz viszony\u00edtj\u00e1k.<\/p>\n<p><\/p>\n<h2 id=\"sharing-nod\">Csom\u00f3pont megoszt\u00e1s<\/h2>\n<p><\/p>\n<p>Esettanulm\u00e1ny: szeretn\u00e9 megosztani egy probl\u00e9m\u00e1s k\u00e9rd\u00e9st vagy ak\u00e1r egy teljes forgat\u00f3k\u00f6nyvet egy koll\u00e9g\u00e1val, vagy egyszer\u0171en csak mell\u00e9kelni azt egy hibajegyz\u00e9khez. A TestMace ezt az esetet is lefedi: az alkalmaz\u00e1s lehet\u0151v\u00e9 teszi b\u00e1rmely csom\u00f3pont \u00e9s m\u00e9g a r\u00e9szf\u00e1t is URL-be soros\u00edtani. M\u00e1sol\u00e1s-illeszt\u00e9s, \u00e9s m\u00e1ris k\u00f6nnyed\u00e9n \u00e1tvitte a lek\u00e9rdez\u00e9st egy m\u00e1sik g\u00e9pre vagy projektre.<\/p>\n<p><\/p>\n<h2 id=\"chelovekochitaemyy-format-hraneniya-proekta\">Emberi olvas\u00e1sra alkalmas projekt t\u00e1rol\u00e1si form\u00e1tuma<\/h2>\n<p><\/p>\n<p>Jelenleg minden csom\u00f3pont k\u00fcl\u00f6n f\u00e1jlban van t\u00e1rolva, .yml kiterjeszt\u00e9ssel (mint az Assertion csom\u00f3pont eset\u00e9ben), vagy egy mappa nev\u00e9t viseli, amiben az index.yml f\u00e1jl tal\u00e1lhat\u00f3.<br \/>\n\u00cdgy n\u00e9z ki p\u00e9ld\u00e1ul a k\u00e9r\u00e9s f\u00e1jl, amelyet a fentiekben \u00e1ttekintett\u00fcnk:<\/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>Ahogy l\u00e1tja, minden vil\u00e1gos. Ha sz\u00fcks\u00e9ges, ez a form\u00e1tum k\u00e9nyelmesen szerkeszthet\u0151 k\u00e9zzel is.<\/p>\n<p><\/p>\n<p>A f\u00e1jlrendszer mappa hierarchi\u00e1ja teljesen t\u00fckr\u00f6zi a projekt csom\u00f3pontjainak hierarchi\u00e1j\u00e1t. P\u00e9ld\u00e1ul egy forgat\u00f3k\u00f6nyv t\u00edpusa:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/8f08d934a977e4fdacd269f4ea0c34b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A f\u00e1jlrendszerben a k\u00f6vetkez\u0151 strukt\u00far\u00e1val mappol\u00f3dik (csak a mappa hierarchi\u00e1ja l\u00e1that\u00f3, de a l\u00e9nyeg vil\u00e1gos)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 egy er\u0151teljes IDE API munk\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/12\/60a54704979f5a77ee05735fd8ebe824.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ez megk\u00f6nny\u00edti a projekt \u00e1ttekint\u00e9si folyamat\u00e1t.<\/p>\n<p><\/p>\n<h2 id=\"import-iz-postman\">Import\u00e1l\u00e1s Postmanb\u0151l<\/h2>\n<p><\/p>\n<p>Miut\u00e1n elolvasta a fenti inform\u00e1ci\u00f3kat, n\u00e9h\u00e1ny felhaszn\u00e1l\u00f3 szeretn\u00e9 kipr\u00f3b\u00e1lni (ugye?), egy \u00faj term\u00e9ket, vagy (ki tudja?) teljesen alkalmazni azt a projektj\u00e9ben. Azonban a migr\u00e1ci\u00f3t sok megl\u00e9v\u0151 adat a Postman-ben meg\u00e1ll\u00edthatja. Az ilyen esetekre a TestMace t\u00e1mogatja a Postman-b\u00f3l val\u00f3 gy\u0171jtem\u00e9nyek import\u00e1l\u00e1s\u00e1t. Jelenleg csak teszt n\u00e9lk\u00fcli import\u00e1l\u00e1s lehets\u00e9ges, azonban a j\u00f6v\u0151ben nem z\u00e1rjuk ki a tesztek t\u00e1mogat\u00e1s\u00e1t sem.<\/p>\n<p><\/p>\n<h1 id=\"plany\">Tervek<\/h1>\n<p><\/p>\n<p>Rem\u00e9lem, hogy sokaknak, akik eddig eljutottak, tetszik a term\u00e9k\u00fcnk. Azonban ez m\u00e9g nem minden! A term\u00e9k fejleszt\u00e9se teljes sebess\u00e9ggel zajlik, \u00e9s itt van n\u00e9h\u00e1ny funkci\u00f3, amelyet hamarosan hozz\u00e1 tervez\u00fcnk adni.<\/p>\n<p><\/p>\n<h2 id=\"oblachnaya-sinhronizaciya\">Felh\u0151alap\u00fa szinkroniz\u00e1l\u00e1s<\/h2>\n<p><\/p>\n<p>Ez az egyik legkeresettebb funkci\u00f3. Jelenleg verzi\u00f3kezel\u0151 rendszereket aj\u00e1nlunk a szinkroniz\u00e1l\u00e1shoz, ez\u00e9rt is tessz\u00fck a form\u00e1t bar\u00e1ts\u00e1gosabb\u00e1 az ilyen t\u00edpus\u00fa t\u00e1rol\u00e1s sz\u00e1m\u00e1ra. Azonban nem mindenki sz\u00e1m\u00e1ra megfelel\u0151 ez a munkafolyamat, ez\u00e9rt tervezz\u00fck, hogy hagyom\u00e1nyosabb szinkroniz\u00e1l\u00e1si mechanizmust adunk hozz\u00e1 a szervereinken kereszt\u00fcl. <\/p>\n<p><\/p>\n<h2 id=\"cli\">CLI<\/h2>\n<p><\/p>\n<p>Ahogyan m\u00e1r eml\u00edtett\u00fck, az IDE szint\u0171 term\u00e9kek nem n\u00e9lk\u00fcl\u00f6zhetik a k\u00fcl\u00f6nf\u00e9le integr\u00e1ci\u00f3kat a m\u00e1r l\u00e9tez\u0151 alkalmaz\u00e1sokkal vagy munkafolyamatokkal. A CLI \u00e9ppen sz\u00fcks\u00e9ges a TestMace-ben \u00edrt tesztek integr\u00e1l\u00e1s\u00e1hoz a folyamatos integr\u00e1ci\u00f3s folyamatba. A CLI fejleszt\u00e9se teljes g\u0151zzel zajlik, a korai verzi\u00f3kban egyszer\u0171 konzolos jelent\u00e9ssel lehet majd ind\u00edtani a projektet. K\u00e9s\u0151bb a JUnit form\u00e1tumban t\u00f6rt\u00e9n\u0151 jelent\u00e9skiad\u00e1s is tervezett.<\/p>\n<p><\/p>\n<h2 id=\"plaginnaya-sistema\">Plugin rendszer<\/h2>\n<p><\/p>\n<p>Mindezek ellen\u00e9re eszk\u00f6z\u00fcnk hatalma l\u00e1tt\u00e1n a megold\u00e1st ig\u00e9nyl\u0151 esetek sz\u00e1ma v\u00e9gtelen. V\u00e9g\u00fcl is vannak feladatok, amelyek egy adott projektre specifikusak. Ez\u00e9rt a j\u00f6v\u0151ben SDK-t tervez\u00fcnk a pluginok fejleszt\u00e9s\u00e9hez, \u00edgy minden fejleszt\u0151 szabadon hozz\u00e1adhat funkci\u00f3kat saj\u00e1t \u00edzl\u00e9se szerint.<\/p>\n<p><\/p>\n<h2 id=\"rasshirenie-assortimenta-tipov-uzlov\">N\u00f3dok t\u00edpusainak b\u0151v\u00edt\u00e9se<\/h2>\n<p><\/p>\n<p>Ez a n\u00f3d k\u00e9szlet nem fedi le az \u00f6sszes felhaszn\u00e1l\u00f3i ig\u00e9nyt. A tervezett n\u00f3dok a k\u00f6vetkez\u0151k:<\/p>\n<p><\/p>\n<ul>\n<li>Script n\u00f3d \u2014 adatok \u00e1talak\u00edt\u00e1sa \u00e9s elhelyez\u00e9se js \u00e9s a megfelel\u0151 API haszn\u00e1lat\u00e1val. Ezzel a n\u00f3d t\u00edpussal olyan dolgokat lehet csin\u00e1lni, mint a pre-request \u00e9s post-request skriptek a Postman-ben.<\/li>\n<li>GraphQL n\u00f3d \u2014 GraphQL t\u00e1mogat\u00e1s<\/li>\n<li>Egyedi \u00e1ll\u00edtm\u00e1ny n\u00f3d \u2014 lehet\u0151v\u00e9 teszi a megl\u00e9v\u0151 \u00e1ll\u00edtm\u00e1nyok b\u0151v\u00edt\u00e9s\u00e9t a projektben.<br \/>\nTerm\u00e9szetesen ez nem a v\u00e9gleges lista, folyamatosan b\u0151v\u00fclni fog, bele\u00e9rtve a ti visszajelz\u00e9seiteket is.<\/li>\n<\/ul>\n<p><\/p>\n<h1 id=\"faq\">GYIK<\/h1>\n<p><\/p>\n<p><strong>Miben k\u00fcl\u00f6nb\u00f6zt\u00f6k meg a Postman-t\u0151l?<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>Olyan n\u00f3d koncepci\u00f3, amely lehet\u0151v\u00e9 teszi a projekt funkcionalit\u00e1s\u00e1nak szinte v\u00e9gtelen sk\u00e1l\u00e1z\u00e1s\u00e1t.<\/li>\n<li>Ember \u00e1ltal olvashat\u00f3 form\u00e1tum, amely lehet\u0151v\u00e9 teszi a f\u00e1jlrendszerben t\u00f6rt\u00e9n\u0151 t\u00e1rol\u00e1st, ezzel megk\u00f6nny\u00edtve a verzi\u00f3kezel\u0151 rendszerek haszn\u00e1lat\u00e1t.<\/li>\n<li>Tesztel\u00e9s l\u00e9trehoz\u00e1s\u00e1nak lehet\u0151s\u00e9ge programoz\u00e1s n\u00e9lk\u00fcl, \u00e9s fejlettebb js t\u00e1mogat\u00e1s a tesztel\u0151 szerkeszt\u0151ben (automatikus kit\u00f6lt\u00e9s, statikus elemz\u00e9s).<\/li>\n<li>Fejlett automatikus kieg\u00e9sz\u00edt\u00e9s \u00e9s a v\u00e1ltoz\u00f3k aktu\u00e1lis \u00e9rt\u00e9keinek kiemel\u00e9se<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>Ez egy ny\u00edlt forr\u00e1sk\u00f3d\u00fa term\u00e9k?<\/strong><\/p>\n<p><\/p>\n<p>Nem, jelenleg a forr\u00e1sk\u00f3d z\u00e1rva van, de a j\u00f6v\u0151ben fontol\u00f3ra vessz\u00fck a forr\u00e1sk\u00f3d nyilv\u00e1noss\u00e1 t\u00e9tel\u00e9t.<\/p>\n<p><\/p>\n<p><strong>Mib\u0151l \u00e9ltek?)<\/strong><\/p>\n<p><\/p>\n<p>A d\u00edjmentes verzi\u00f3 mellett tervezz\u00fck egy fizet\u0151s verzi\u00f3 kiad\u00e1s\u00e1t is. Ez els\u0151sorban a szerveroldali funkci\u00f3kat fogja tartalmazni, p\u00e9ld\u00e1ul a szinkroniz\u00e1l\u00e1st.<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Z\u00e1r\u00e1s<\/h1>\n<p><\/p>\n<p>Projekt\u00fcnk gyors l\u00e9ptekkel halad a stabil kiad\u00e1s fel\u00e9. Jelenleg is haszn\u00e1lhat\u00f3 a term\u00e9k, \u00e9s a korai felhaszn\u00e1l\u00f3k pozit\u00edv visszajelz\u00e9sei ezt bizony\u00edtj\u00e1k. Akt\u00edvan gy\u0171jtj\u00fck a visszajelz\u00e9seket, hiszen szoros egy\u00fcttm\u0171k\u00f6d\u00e9s n\u00e9lk\u00fcl a k\u00f6z\u00f6ss\u00e9ggel nem lehet j\u00f3 eszk\u00f6zt kialak\u00edtani. Itt tal\u00e1lhatsz minket:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">Hivatalos weboldal<\/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\">Issue tracker<\/a><\/noindex><\/p>\n<p><\/p>\n<p>T\u00fcrelmetlen\u00fcl v\u00e1rjuk k\u00edv\u00e1ns\u00e1gaikat \u00e9s javaslataikat!<\/p>\n<p>Forr\u00e1s: <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.3 - 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\/hu\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\/hu\/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 egy er\u0151teljes IDE az API haszn\u00e1lat\u00e1hoz | ProHoster","description":"Mindenkinek hell\u00f3! Ma bemutatjuk az IT k\u00f6z\u00f6ss\u00e9gnek a term\u00e9k\u00fcnket \u2014 az API TestMace IDE-t.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/54187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=54187"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/54187\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=54187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=54187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=54187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}