{"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\/sq\/blog\/novosti-interneta\/testmace-moshhnaya-ide-dlya-raboty-s-api","title":{"rendered":"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve! Sot d\u00ebshirojm\u00eb t'ju prezantojm\u00eb produktin ton\u00eb \u2014 IDE p\u00ebr pun\u00ebn me API. <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">TestMace<\/a><\/noindex>. Ndoshta disa prej jush tashm\u00eb e din\u00eb p\u00ebr ne nga <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/blog\/\">artikujt e kaluar<\/a><\/noindex>. Megjithat\u00eb, nuk ka pasur nj\u00eb p\u00ebrmbledhje gjith\u00ebp\u00ebrfshir\u00ebse t\u00eb mjetit, ndaj po e eliminojm\u00eb k\u00ebt\u00eb mang\u00ebsi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" 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\">Motivimi<\/h1>\n<p><\/p>\n<p>Do t\u00eb doja t\u00eb filloja me at\u00eb se si, n\u00eb fakt, arrit\u00ebm n\u00eb k\u00ebt\u00eb jet\u00eb dhe vendos\u00ebm t\u00eb krijonim instrumentin ton\u00eb p\u00ebr pun\u00eb t\u00eb avancuar me API. Le t\u00eb fillojm\u00eb me list\u00ebn e mund\u00ebsive funksionale q\u00eb duhet t\u00eb ket\u00eb produkti, p\u00ebr t\u00eb cilin, sipas mendimit ton\u00eb, mund t\u00eb thuhet se \u00ebsht\u00eb 'IDE p\u00ebr pun\u00ebn me API':<\/p>\n<p><\/p>\n<ul>\n<li>Krijimi dhe realizimi i k\u00ebrkesave dhe skenar\u00ebve (sekuencave t\u00eb k\u00ebrkesave)<\/li>\n<li>Shkrimi i testeve t\u00eb ndryshme<\/li>\n<li>Gjen\u00ebrimi i testeve<\/li>\n<li>Puna me p\u00ebrshkrimin e API, duke p\u00ebrfshir\u00eb importimin nga formate t\u00eb tilla si Swagger, OpenAPI, WADL etj.<\/li>\n<li>Mockimi i k\u00ebrkesave<\/li>\n<li>Mb\u00ebshtetje e mir\u00eb p\u00ebr nj\u00eb ose m\u00eb shum\u00eb gjuh\u00eb programuese p\u00ebr shkrimin e skripteve, p\u00ebrfshir\u00eb integrimin me bibliotekat e njohura<\/li>\n<li>etj.<\/li>\n<\/ul>\n<p><\/p>\n<p>Lista mund t\u00eb plot\u00ebsohet sipas d\u00ebshir\u00ebs. E r\u00ebnd\u00ebsishme \u00ebsht\u00eb t\u00eb krijojm\u00eb jo vet\u00ebm vet\u00eb IDE, por edhe nj\u00eb infrastrukture t\u00eb caktuar, e till\u00eb si sinkronizimi n\u00eb cloud, mjetet e komand\u00ebs, sh\u00ebrbimi i monitorimit online etj. N\u00eb fund t\u00eb fundit, trendet e viteve t\u00eb fundit na diktojn\u00eb jo vet\u00ebm nj\u00eb funksionalitet t\u00eb fuqish\u00ebm t\u00eb aplikacionit, por edhe nj\u00eb nd\u00ebrfaqe t\u00eb k\u00ebndshme.<\/p>\n<p><\/p>\n<p>P\u00ebr k\u00eb \u00ebsht\u00eb i nevojsh\u00ebm nj\u00eb mjet i till\u00eb? N\u00eb m\u00ebnyr\u00eb t\u00eb qart\u00eb, p\u00ebr ata q\u00eb jan\u00eb n\u00eb ndonj\u00eb m\u00ebnyr\u00eb t\u00eb lidhur me zhvillimin dhe testimin e API \u2014 zhvilluesit dhe tester\u00ebt =). Dhe ndon\u00ebse p\u00ebr t\u00eb par\u00ebt shpesh mjafton realizimi i k\u00ebrkesave t\u00eb vetme dhe skenar\u00ebve t\u00eb thjesht\u00eb, p\u00ebr tester\u00ebt kjo \u00ebsht\u00eb nj\u00eb nga mjetet kryesore, q\u00eb p\u00ebrve\u00e7 t\u00eb tjerash duhet t\u00eb p\u00ebrfshij\u00eb nj\u00eb mekaniz\u00ebm t\u00eb fuqish\u00ebm p\u00ebr shkrimin e testeve me mund\u00ebsin\u00eb e ekzekutimit t\u00eb tyre n\u00eb CI.<\/p>\n<p><\/p>\n<p>Tani, duke ndjekur k\u00ebto orientime, filluam t\u00eb krijojm\u00eb produktin ton\u00eb. Le t\u00eb shohim se \u00e7far\u00eb kemi arritur n\u00eb k\u00ebt\u00eb faz\u00eb.<\/p>\n<p><\/p>\n<h1 id=\"bystryy-start\">Fillim i shpejt\u00eb<\/h1>\n<p><\/p>\n<p>Le t\u00eb fillojm\u00eb me takimin e par\u00eb me aplikacionin. Mund ta shkarkoni <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\/\">n\u00eb faqen ton\u00eb<\/a><\/noindex>. Aktualisht jan\u00eb mb\u00ebshtetur t\u00eb tri platformat kryesore \u2014 Windows, Linux, MacOS. Shkarkoni, instaloni, hapni. N\u00eb hapjen e par\u00eb, mund t\u00eb shihni k\u00ebt\u00eb dritare:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/dbbd26d8656488cd11716f7dbede9ec7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Klikoni n\u00eb plusin lart n\u00eb zon\u00ebn e p\u00ebrmbajtjes p\u00ebr t\u00eb krijuar k\u00ebrkes\u00ebn tuaj t\u00eb par\u00eb. Tab-i i k\u00ebrkesave duket k\u00ebshtu:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/d76205f43ec821018642a3d354532e7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Le t\u00eb fokusohemi n\u00eb t\u00eb. Nd\u00ebrfaqja e k\u00ebrkes\u00ebs i ngjan shum\u00eb nd\u00ebrfaqeve t\u00eb klient\u00ebve t\u00eb njohur rest, gj\u00eb q\u00eb e leht\u00ebson migrimin nga mjetet e tilla. Le t\u00eb realizojm\u00eb k\u00ebrkes\u00ebn ton\u00eb t\u00eb par\u00eb n\u00eb 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 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/19e639baa1e0d51f1a40b76ae9144d6c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebrfundimisht, n\u00eb dukje, paneli i p\u00ebrgjigjes gjithashtu nuk ka ndonj\u00eb surpriz\u00eb. Megjithat\u00eb, dua t\u00eb theksoj disa pika:<\/p>\n<p><\/p>\n<ol>\n<li>Trupi i p\u00ebrgjigjes p\u00ebrfaq\u00ebson si nj\u00eb pem\u00eb, q\u00eb, nga nj\u00ebra an\u00eb, e rrit informimin dhe, nga ana tjet\u00ebr, lejon t\u00eb shtojm\u00eb disa ve\u00e7ori interesante q\u00eb do t\u00eb p\u00ebrmendim m\u00eb posht\u00eb.<\/li>\n<li>Ka nj\u00eb tab p\u00ebr Assertions, ku shfaqet lista e testeve p\u00ebr k\u00ebt\u00eb k\u00ebrkes\u00eb.<\/li>\n<\/ol>\n<p><\/p>\n<p>Si\u00e7 mund t\u00eb v\u00ebreni, mjeti yn\u00eb mund t\u00eb p\u00ebrdoret si nj\u00eb klient i rehatsh\u00ebm rest. Megjithat\u00eb, nuk do t\u00eb ishim k\u00ebtu n\u00ebse mund\u00ebsit\u00eb e tij do t\u00eb kufizoheshin vet\u00ebm n\u00eb d\u00ebrgimin e k\u00ebrkesave. M\u00eb posht\u00eb do t\u00eb paraqes konceptet kryesore dhe funksionalitetet e TestMace.<\/p>\n<p><\/p>\n<h1 id=\"osnovnye-ponyatiya-i-vozmozhnosti\">Konceptet dhe mund\u00ebsit\u00eb kryesore<\/h1>\n<p><\/p>\n<h2 id=\"uzel\">Nyja<\/h2>\n<p><\/p>\n<p>Funksionaliteti i TestMace ndahet n\u00eb kategori t\u00eb ndryshme nyjash. N\u00eb shembullin e m\u00ebsip\u00ebrm demonstruam pun\u00ebn e nyj\u00ebs RequestStep. Megjithat\u00eb, tani n\u00eb aplikacion gjithashtu jan\u00eb t\u00eb disponueshme lloje t\u00eb tjera nyjash:<\/p>\n<p><\/p>\n<ul>\n<li>RequestStep. Kjo \u00ebsht\u00eb nyja me ndihm\u00ebn e s\u00eb cil\u00ebs mund t\u00eb krijoni nj\u00eb k\u00ebrkes\u00eb. Si element f\u00ebmijor ajo mund t\u00eb ket\u00eb vet\u00ebm nj\u00eb nyj\u00eb Assertion.<\/li>\n<li>Assertion. Nyja p\u00ebrdoret p\u00ebr shkrimin e testeve. Mund t\u00eb jet\u00eb vet\u00ebm f\u00ebmijore p\u00ebr nyj\u00ebn RequestStep.<\/li>\n<li>Folder. Lejon grupimin e nyjave Folder dhe RequestStep brenda saj.<\/li>\n<li>Project. Kjo \u00ebsht\u00eb nyja rr\u00ebnj\u00eb, krijohet automatikisht kur krijoni nj\u00eb projekt. N\u00eb t\u00eb tjerat p\u00ebrs\u00ebrit funksionalitetet e nyj\u00ebs Folder.<\/li>\n<li>Link. Lidhje me nyj\u00ebn Folder ose RequestStep. Lejon ri-p\u00ebrdorimin e k\u00ebrkesave dhe skenar\u00ebve.<\/li>\n<li>etj.<\/li>\n<\/ul>\n<p><\/p>\n<p>Nodet gjenden n\u00eb scratches (paneli n\u00eb fund t\u00eb majt\u00eb, sh\u00ebrben p\u00ebr t\u00eb krijuar shpejt 'k\u00ebrkesa nj\u00ebher\u00ebsh') dhe n\u00eb projekt (paneli n\u00eb fund t\u00eb djatht\u00eb), mbi t\u00eb cilin do t\u00eb ndalemi m\u00eb n\u00eb detaje.<\/p>\n<p><\/p>\n<h2 id=\"proekt\">Projekt<\/h2>\n<p><\/p>\n<p>Kur hapni aplikacionin, mund t\u00eb keni v\u00ebn\u00eb re nj\u00eb linj\u00eb t\u00eb vetme Project n\u00eb k\u00ebndin e majt\u00eb lart. Kjo \u00ebsht\u00eb rr\u00ebnja e pem\u00ebs s\u00eb projektit. Kur hapi projekti krijohet nj\u00eb projekt p\u00ebrkoh\u00ebsisht, rruga e t\u00eb cilit varet nga sistemi juaj operativ. N\u00eb \u00e7do moment, mund t\u00eb transportoni projektin n\u00eb nj\u00eb vend m\u00eb t\u00eb p\u00ebrshtatsh\u00ebm p\u00ebr ju.<\/p>\n<p><\/p>\n<p>Q\u00ebllimi kryesor i projektit \u00ebsht\u00eb t\u00eb mund\u00ebsoj\u00eb ruajtjen e punimeve n\u00eb sistemin e skedar\u00ebve dhe m\u00eb pas sinkronizimin p\u00ebrmes sistemeve t\u00eb kontrollit t\u00eb versioneve, ekzekutimin e skenar\u00ebve n\u00eb CI, rishikimin e ndryshimeve etj.<\/p>\n<p><\/p>\n<h2 id=\"peremennye\">Variablat<\/h2>\n<p><\/p>\n<p>Variablat jan\u00eb nj\u00eb nga mekanizmat kryesor\u00eb t\u00eb aplikacionit. Ata nd\u00ebr ju q\u00eb punoni me sh\u00ebrbime si TestMace, ndoshta keni kuptuar p\u00ebr \u00e7far\u00eb b\u00ebhet fjal\u00eb. Pra, variablat jan\u00eb nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb ruajtur t\u00eb dh\u00ebna t\u00eb zakonshme dhe p\u00ebr t\u00eb komunikuar midis nyjave. Nj\u00eb analogji, p\u00ebr shembull, jan\u00eb variablat mjedisor\u00eb n\u00eb Postman ose Insomnia. Megjithat\u00eb, ne shkuam m\u00eb tej dhe zhvilluam konceptin. N\u00eb TestMace, variablat mund t\u00eb vendosen n\u00eb nivelin e nyj\u00ebs. Ndokush. Ka gjithashtu nj\u00eb mekaniz\u00ebm trash\u00ebgimi t\u00eb variablave nga paraardh\u00ebsit dhe mbivendosjes s\u00eb variablave n\u00eb pasardh\u00ebsit. P\u00ebrve\u00e7 k\u00ebsaj, ekziston nj\u00eb grup variablash t\u00eb integruar, emrat e t\u00eb cil\u00ebve fillojn\u00eb me <code>$<\/code>. Ja disa prej tyre:<\/p>\n<p><\/p>\n<ul>\n<li><code>$prevStep<\/code> \u2014 lidhja me variablat e nyj\u00ebs p\u00ebrpara<\/li>\n<li><code>$nextStep<\/code> \u2014 lidhja me variablat e nyj\u00ebs pasuese<\/li>\n<li><code>$parent<\/code> \u2014 e nj\u00ebjta gj\u00eb, por vet\u00ebm p\u00ebr paraardh\u00ebsin<\/li>\n<li><code>$response<\/code> \u2014 p\u00ebrgjigja nga serveri<\/li>\n<li><code>$env<\/code> \u2014 variablat aktuale t\u00eb mjedisit<\/li>\n<li><code>$dynamicVar<\/code> \u2014 variablat dinamike, t\u00eb krijuara gjat\u00eb ekzekutimit t\u00eb skenarit ose k\u00ebrkes\u00ebs<\/li>\n<\/ul>\n<p><\/p>\n<p><code>$env<\/code> \u2014 n\u00eb thelb, jan\u00eb variabla t\u00eb zakonsh\u00ebm t\u00eb nivelit t\u00eb Projektit, megjithat\u00eb, grupi i variablave t\u00eb mjedisit ndryshon n\u00eb var\u00ebsi t\u00eb mjedisit t\u00eb zgjedhur. <\/p>\n<p><\/p>\n<p>Qasja n\u00eb nj\u00eb variab\u00ebl b\u00ebhet p\u00ebrmes <code>${variable_name}<\/code><br \/>\nSi vlera e variabl\u00ebs mund t\u00eb jet\u00eb nj\u00eb variab\u00ebl tjet\u00ebr, ose madje nj\u00eb shprehje e t\u00ebr\u00eb. P\u00ebr shembull, si variab\u00ebl url mund t\u00eb jet\u00eb nj\u00eb shprehje e k\u00ebtij lloji<br \/>\n<code>http:\/\/${host}:${port}\/${endpoint}<\/code>.<\/p>\n<p><\/p>\n<p>Vlen t\u00eb theksohet mund\u00ebsia p\u00ebr t'u asignuar variabla gjat\u00eb ekzekutimit t\u00eb skriptit. P\u00ebr shembull, shpesh lind nevoj\u00eb p\u00ebr t\u00eb ruajtur t\u00eb dh\u00ebnat e autorizimit (token ose t\u00eb gjith\u00eb titullin), q\u00eb erdh\u00ebn nga serveri pas nj\u00eb lidhjeje t\u00eb suksesshme. TestMace lejon ruajtjen e t\u00eb tilla t\u00eb dh\u00ebnash n\u00eb variabla dinamik\u00eb t\u00eb nj\u00eb nga prind\u00ebrit. P\u00ebr t\u00eb shmangur p\u00ebrplasje me 'variablat statike' q\u00eb tashm\u00eb ekzistojn\u00eb, variablat dinamike jan\u00eb nxjerr\u00eb n\u00eb nj\u00eb objekt t\u00eb ve\u00e7ant\u00eb. <code>$dynamicVar<\/code>. <\/p>\n<p><\/p>\n<h2 id=\"scenarii\">Scenar\u00ebt<\/h2>\n<p><\/p>\n<p>Duke p\u00ebrdorur t\u00eb gjitha mund\u00ebsit\u00eb e m\u00ebsip\u00ebrme, mund t\u00eb kryeni skenare t\u00eb t\u00ebra k\u00ebrkesash. P\u00ebr shembull, krijimi i nj\u00eb entiteti -&gt; k\u00ebrkesa p\u00ebr entitetin -&gt; fshirja e entitetit. N\u00eb k\u00ebt\u00eb rast, ju mund t\u00eb p\u00ebrdorni nyj\u00ebn Folder p\u00ebr t\u00eb grupuar disa nyja RequestStep.<\/p>\n<p><\/p>\n<h2 id=\"avtodopolnenie-i-podsvetka-znacheniya-vyrazheniya\">Plot\u00ebsimi automatik dhe ndri\u00e7imi i vler\u00ebs s\u00eb shprehjes<\/h2>\n<p><\/p>\n<p>P\u00ebr nj\u00eb pun\u00eb m\u00eb t\u00eb leht\u00eb me variablat (edhe jo vet\u00ebm) nevojitet plot\u00ebsimi automatik. Dhe natyrisht, ndri\u00e7imi i vler\u00ebs s\u00eb shprehjes, p\u00ebr ta b\u00ebr\u00eb m\u00eb t\u00eb leht\u00eb dhe m\u00eb t\u00eb rehatshme p\u00ebr t\u00eb sqaruar \u00e7far\u00eb \u00ebsht\u00eb vlera e caktuar e nj\u00eb variabli. Ky \u00ebsht\u00eb rastin kur m\u00eb mir\u00eb \u00ebsht\u00eb ta shoh\u00ebsh nj\u00eb her\u00eb, sesa ta d\u00ebgjoni nj\u00ebqind her\u00eb:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/cf9d30c9623b18575825d4282b8fe3e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vlen t\u00eb theksohet se plot\u00ebsimi automatik \u00ebsht\u00eb realizuar jo vet\u00ebm p\u00ebr variablat, por edhe, p\u00ebr shembull, p\u00ebr headerat, vlerat e caktuar t\u00eb headerave (p.sh., plot\u00ebsimi automatik p\u00ebr headerin Content-Type), protokollet dhe shum\u00eb gj\u00ebra t\u00eb tjera. Lista vazhdon t\u00eb zgjerohet me rritjen e aplikacionit.<\/p>\n<p><\/p>\n<h2 id=\"undoredo\">Undo\/redo<\/h2>\n<p><\/p>\n<p>Anulimi\/rip\u00ebrs\u00ebritja e ndryshimeve \u00ebsht\u00eb nj\u00eb gj\u00eb shum\u00eb e dobishme, megjithat\u00eb, p\u00ebr nj\u00eb arsye a tjet\u00ebr realizohet shum\u00eb rrall\u00eb (dhe mjetet p\u00ebr pun\u00ebn me API nuk jan\u00eb p\u00ebrjashtim). Por ne nuk jemi t\u00eb till\u00eb!) Undo\/redo \u00ebsht\u00eb realizuar n\u00eb t\u00eb gjith\u00eb projektin, gj\u00eb q\u00eb lejon anulimin jo vet\u00ebm t\u00eb edituar t\u00eb nj\u00eb nyje t\u00eb caktuar, por edhe krijimin e saj, fshirjen, zhvendosjen, etj. Operacionet m\u00eb kritike k\u00ebrkojn\u00eb konfirmim.<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-testov\">Krijimi i testeve<\/h2>\n<p><\/p>\n<p>P\u00ebr krijimin e testeve p\u00ebrgjigjen nyja Assertion. Nj\u00eb nga ve\u00e7orit\u00eb kryesore \u00ebsht\u00eb mund\u00ebsia p\u00ebr t\u00eb krijuar teste pa programim, duke p\u00ebrdorur redaktor\u00eb t\u00eb integruar. <\/p>\n<p><\/p>\n<p>Nyja Assertion p\u00ebrb\u00ebhet nga nj\u00eb grup assertions (deklaratash). \u00c7do assertion ka llojin e vet, aktualisht ekzistojn\u00eb disa lloje assertions<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Krahason vlerat \u2014 thjesht krahason 2 vlera. Ka disa operator\u00eb krahasimi 'e barabart\u00eb', 'nuk \u00ebsht\u00eb e barabart\u00eb', 'm\u00eb e madhe', 'm\u00eb e madhe ose e barabart\u00eb', 'm\u00eb e vog\u00ebl', 'm\u00eb e vog\u00ebl ose e barabart\u00eb'.<\/p>\n<p>\n<\/li>\n<li>\n<p>Contains value \u2014 kontrollon pranin\u00eb e nj\u00eb n\u00ebnstringe n\u00eb nj\u00eb string.<\/p>\n<p>\n<\/li>\n<li>\n<p>XPath \u2014 kontrollon q\u00eb sipas selektorit n\u00eb XML t\u00eb ket\u00eb nj\u00eb vler\u00eb t\u00eb caktuar.<\/p>\n<p>\n<\/li>\n<li>\n<p>JavaScript assertion \u2014 nj\u00eb skenar i lir\u00eb n\u00eb gjuh\u00ebn JavaScript, i cili kthen true n\u00eb rast suksesi dhe false n\u00eb rast d\u00ebshtimi.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>Dua t\u00eb theksoj se vet\u00ebm i fundit k\u00ebrkon nga p\u00ebrdoruesi aft\u00ebsi programimi, nd\u00ebrsa 3 p\u00ebrputhjet e tjera krijohen p\u00ebrmes nd\u00ebrfaqes grafike. Ja se si duket dialogu i krijimit t\u00eb nj\u00eb compare values assertion:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/e71e11fb0fb664d1d9751a71fbdcc850.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>K\u00ebtu \u00ebsht\u00eb cil\u00ebsia e shtes\u00eb e shpejt\u00eb e krijimit t\u00eb assertions nga p\u00ebrgjigjia, thjesht hidhni nj\u00eb sy n\u00eb k\u00ebt\u00eb!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/3b86084419339a7a05a3548df5c12d6a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Megjithat\u00eb, nj\u00eb t\u00eb till\u00eb assertions kan\u00eb kufizime t\u00eb dukshme, p\u00ebrball\u00eb t\u00eb cilave mund t\u00eb p\u00ebrdorni javascript assertion. Dhe k\u00ebtu TestMace ofron gjithashtu nj\u00eb mjedis t\u00eb rehatsh\u00ebm me plot\u00ebsim automatik, ndri\u00e7im t\u00eb sintaks\u00ebs dhe madje edhe me nj\u00eb analizator statik.<\/p>\n<p><\/p>\n<h2 id=\"opisanie-api\">P\u00ebrshkrimi i API<\/h2>\n<p><\/p>\n<p>TestMace ju ofron mund\u00ebsin\u00eb t\u00eb p\u00ebrdorni API-n\u00eb, por gjithashtu e dokumentoni at\u00eb. P\u00ebrve\u00e7 k\u00ebsaj, p\u00ebrshkrimi vet\u00eb ka nj\u00eb struktur\u00eb hierarkike dhe integrohet natyrsh\u00ebm n\u00eb projektin tjet\u00ebr. Aktualisht, ekziston mund\u00ebsia p\u00ebr t\u00eb importuar p\u00ebrshkrimin e API-s\u00eb nga formatet Swagger 2.0 \/ OpenAPI 3.0. P\u00ebrshkrimi vet\u00eb nuk \u00ebsht\u00eb thjesht nj\u00eb pesh\u00eb e vdekur, por integrihet ngusht\u00eb me pjes\u00ebn tjet\u00ebr t\u00eb projektit, sidomos me funksionalitetin e autoshkruar t\u00eb URL-ve, titujve HTTP, parametrave t\u00eb query-t dhe m\u00eb shum\u00eb. N\u00eb t\u00eb ardhmen, planifikojm\u00eb t\u00eb shtojm\u00eb teste p\u00ebr p\u00ebrputhshm\u00ebrin\u00eb e p\u00ebrgjigjeve me p\u00ebrshkrimin e API-s\u00eb.<\/p>\n<p><\/p>\n<h2 id=\"sharing-nod\">Ndaje nodin<\/h2>\n<p><\/p>\n<p>Shembuj: ju d\u00ebshironi t\u00eb ndani nj\u00eb k\u00ebrkes\u00eb problematike ose madje nj\u00eb skenar t\u00eb t\u00ebr\u00eb me nj\u00eb kolege ose thjesht ta bashk\u00ebngjitni at\u00eb nj\u00eb problemi. TestMace mbulon edhe k\u00ebt\u00eb rast: aplikacioni lejon t\u00eb serializohet \u00e7do nod dhe madje nj\u00eb n\u00ebn-struakt t\u00eb URL-s\u00eb. Kopjo-ngjit dhe tani e ke transferuar leht\u00ebsisht k\u00ebrkes\u00ebn n\u00eb nj\u00eb makin\u00eb tjet\u00ebr ose projekt.<\/p>\n<p><\/p>\n<h2 id=\"chelovekochitaemyy-format-hraneniya-proekta\">Formati i ruajtjes s\u00eb projektit q\u00eb lexon leht\u00ebsisht<\/h2>\n<p><\/p>\n<p>Aktualisht, \u00e7do nod ruhet n\u00eb nj\u00eb skedar t\u00eb ve\u00e7ant\u00eb me zgjerimin yml (si\u00e7 \u00ebsht\u00eb rasti me nodin Assertion), ose n\u00eb nj\u00eb dosje me emrin e nodit dhe nj\u00eb skedar index.yml brenda saj.<br \/>\nK\u00ebshtu duket nj\u00eb skedar i k\u00ebrkes\u00ebs q\u00eb ne b\u00ebm\u00eb n\u00eb m\u00ebnyr\u00ebn e m\u00ebsip\u00ebrme:<\/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>Si\u00e7 mund ta shihni, gjith\u00e7ka \u00ebsht\u00eb fare e qart\u00eb. N\u00ebse d\u00ebshironi, ky format \u00ebsht\u00eb mjaft komod p\u00ebr ta redaktuar edhe manualisht.<\/p>\n<p><\/p>\n<p>Hierarkia e dosjeve n\u00eb sistemin e skedar\u00ebve e p\u00ebrs\u00ebrit plot\u00ebsisht hierarkin\u00eb e nod\u00ebve n\u00eb projekt. P\u00ebr shembull, nj\u00eb skenar i till\u00eb:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/8f08d934a977e4fdacd269f4ea0c34b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mapohet n\u00eb sistemin e skedar\u00ebve n\u00eb k\u00ebt\u00eb struktur\u00eb (tregohet vet\u00ebm hierarkia e dosjeve, por kuptimi \u00ebsht\u00eb i qart\u00eb)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 nj\u00eb IDE e fuqishme p\u00ebr pun\u00eb me API\" src=\"\/wp-content\/uploads\/2019\/12\/60a54704979f5a77ee05735fd8ebe824.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c7ka e leht\u00ebson procesin e rishikimit t\u00eb projektit.<\/p>\n<p><\/p>\n<h2 id=\"import-iz-postman\">Importi nga Postman<\/h2>\n<p><\/p>\n<p>Pas leximit t\u00eb t\u00eb gjitha t\u00eb dh\u00ebnave t\u00eb sip\u00ebrp\u00ebrmendura, disa p\u00ebrdorues mund t\u00eb d\u00ebshirojn\u00eb t\u00eb provojn\u00eb (apo ndoshta?) produktin e ri ose (nuk dihet!) ta p\u00ebrdorin k\u00ebt\u00eb plot\u00ebsisht n\u00eb projektin e tyre. Megjithat\u00eb, migrimi mund t\u00eb pengohet nga nj\u00eb sasi e madhe e pun\u00ebve t\u00eb nd\u00ebrtuara n\u00eb t\u00eb nj\u00ebjtin Postman. P\u00ebr k\u00ebto rastet TestMace mb\u00ebshtet importin e koleksioneve nga Postman. Aktualisht, mb\u00ebshtetet importi pa teste, megjithat\u00eb, n\u00eb t\u00eb ardhmen nuk e p\u00ebrjashtojm\u00eb as mb\u00ebshtetje p\u00ebr to.<\/p>\n<p><\/p>\n<h1 id=\"plany\">Planet<\/h1>\n<p><\/p>\n<p>Shpresoj se shum\u00eb nga ata q\u00eb jan\u00eb duke lexuar deri n\u00eb k\u00ebt\u00eb pik\u00eb, jan\u00eb t\u00eb interesuar p\u00ebr produktin ton\u00eb. Megjithat\u00eb, kjo nuk \u00ebsht\u00eb gjith\u00e7ka! Puna mbi produktin vazhdon me intensitet dhe po k\u00ebtu jan\u00eb disa karakteristika q\u00eb planifikojm\u00eb t\u00eb shtojm\u00eb s\u00eb shpejti.<\/p>\n<p><\/p>\n<h2 id=\"oblachnaya-sinhronizaciya\">Sinkronizimi n\u00eb re<\/h2>\n<p><\/p>\n<p>Nj\u00eb nga funksionet m\u00eb t\u00eb k\u00ebrkuara. Aktualisht, ne ofrojm\u00eb n\u00eb form\u00eb sinkronizimi sistemet e kontrollit t\u00eb versioneve, p\u00ebr t\u00eb cilat po e b\u00ebjm\u00eb formatin m\u00eb miq\u00ebsor p\u00ebr k\u00ebt\u00eb m\u00ebnyr\u00eb ruajtjeje. Megjithat\u00eb, jo t\u00eb gjith\u00ebve u p\u00ebrshtatet ky m\u00ebnyr\u00eb punimi, prandaj planifikohet t\u00eb shtohet nj\u00eb mekaniz\u00ebm t\u00eb njohur p\u00ebr shum\u00eb p\u00ebrmes server\u00ebve tan\u00eb. <\/p>\n<p><\/p>\n<h2 id=\"cli\">CLI<\/h2>\n<p><\/p>\n<p>Si\u00e7 u tha m\u00eb lart, produktet e nivelit IDE nuk mund t\u00eb kalojn\u00eb pa integrime t\u00eb ndryshme me aplikacione ose rrjedha ekzistuese. CLI \u00ebsht\u00eb i nevojsh\u00ebm p\u00ebr t\u00eb integruar testet e shkruara n\u00eb TestMace, n\u00eb procesin e integrimit t\u00eb vazhduesh\u00ebm. Puna mbi CLI po vazhdon me intensitet, n\u00eb versionet e hershme do t\u00eb ket\u00eb nisjen e projektit me nj\u00eb raportim t\u00eb thjesht\u00eb n\u00eb konsol\u00eb. M\u00eb von\u00eb, \u00ebsht\u00eb planifikuar t\u00eb shtohet raporti n\u00eb formatin JUnit.<\/p>\n<p><\/p>\n<h2 id=\"plaginnaya-sistema\">Sistemi i pluginave<\/h2>\n<p><\/p>\n<p>Pavar\u00ebsisht fuqis\u00eb ton\u00eb, grupi i rasteve q\u00eb k\u00ebrkojn\u00eb zgjidhje \u00ebsht\u00eb i pafund. N\u00eb fund t\u00eb fundit, ekzistojn\u00eb detyra t\u00eb ve\u00e7anta p\u00ebr projekte t\u00eb ve\u00e7anta. Prandaj, ne planifikojm\u00eb t\u00eb shtojm\u00eb nj\u00eb SDK p\u00ebr zhvillimin e plugina, duke e lejuar \u00e7do zhvillues t\u00eb shtoj\u00eb funksionalitetin sipas d\u00ebshir\u00ebs.<\/p>\n<p><\/p>\n<h2 id=\"rasshirenie-assortimenta-tipov-uzlov\">Zgjerimi i gam\u00ebs s\u00eb tipave t\u00eb nod\u00ebve<\/h2>\n<p><\/p>\n<p>Ky grup nodesh nuk mbulon t\u00eb gjitha rastet q\u00eb kan\u00eb nevoj\u00eb p\u00ebrdoruesit. Nodet q\u00eb planifikojm\u00eb t\u00eb shtojm\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>Noda Script \u2014 konverton dhe vendos t\u00eb dh\u00ebnat, duke p\u00ebrdorur js dhe API-n\u00eb p\u00ebrkat\u00ebse. Duke p\u00ebrdorur k\u00ebt\u00eb tip nodi, mund t\u00eb krijoni gj\u00ebra si skenar\u00ebt e para-dor\u00eb dhe pas-dor\u00eb n\u00eb Postman.<\/li>\n<li>Noda GraphQL \u2014 mb\u00ebshtetje p\u00ebr graphql.<\/li>\n<li>Noda e verifikimit t\u00eb personalizuar \u2014 do t\u00eb lejoj\u00eb zgjerimin e grupit aktual t\u00eb verifikimeve n\u00eb projekt.<br \/>\nNatyrisht, kjo nuk \u00ebsht\u00eb lista p\u00ebrfundimtare, ajo do t\u00eb plot\u00ebsohet vazhdimisht edhe nga reagimet tuaja.<\/li>\n<\/ul>\n<p><\/p>\n<h1 id=\"faq\">FAQ<\/h1>\n<p><\/p>\n<p><strong>Cilat jan\u00eb dallimet tuaj nga Postman?<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>Koncepti i nod\u00ebve, i cili lejon praktikisht zgjerimin e pafund t\u00eb funksionalitetit t\u00eb projektit.<\/li>\n<li>Format i lexuesh\u00ebm nga njeriu i projektit, me ruajtjen e tij n\u00eb sistemin e skedar\u00ebve, \u00e7ka e b\u00ebn m\u00eb t\u00eb leht\u00eb pun\u00ebn me sistemet e kontrollit t\u00eb versioneve.<\/li>\n<li>Mund\u00ebsia e krijimit t\u00eb testeve pa programim dhe mb\u00ebshtetje m\u00eb t\u00eb avancuar p\u00ebr js n\u00eb redaktorin e testeve (autoshkruar, analizues statik).<\/li>\n<li>Autoshkruar e avancuar dhe ndri\u00e7imi i vlerave aktuale t\u00eb variablave.<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>A \u00ebsht\u00eb ky nj\u00eb produkt open-source?<\/strong><\/p>\n<p><\/p>\n<p>Jo, aktualisht kodet jan\u00eb t\u00eb mbyllura, megjithat\u00eb n\u00eb t\u00eb ardhmen ne po shqyrtojm\u00eb mund\u00ebsin\u00eb e hapjes s\u00eb kodit.<\/p>\n<p><\/p>\n<p><strong>Me \u00e7far\u00eb e mbani veten? :)<\/strong><\/p>\n<p><\/p>\n<p>P\u00ebrve\u00e7 versionit falas, ne planifikojm\u00eb t\u00eb nxjerrim nj\u00eb version me pages\u00eb t\u00eb produktit. N\u00eb t\u00eb do t\u00eb p\u00ebrfshihen fillimisht element\u00eb q\u00eb k\u00ebrkojn\u00eb nj\u00eb pjes\u00eb serveri, p\u00ebr shembull, sinkronizimi.<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">P\u00ebrfundimi<\/h1>\n<p><\/p>\n<p>Projekti yn\u00eb po ec\u00ebn me hapa t\u00eb sigurt drejt nj\u00eb l\u00ebshimi stabil. Megjithat\u00eb, produkti tashm\u00eb \u00ebsht\u00eb funksional, dhe komentet pozitive nga p\u00ebrdoruesit tan\u00eb t\u00eb hersh\u00ebm jan\u00eb nj\u00eb d\u00ebshmi p\u00ebr k\u00ebt\u00eb. Ne jemi duke mbledhur aktivisht feedback, sepse pa nj\u00eb bashk\u00ebpunim t\u00eb ngusht\u00eb me komunitetin nuk \u00ebsht\u00eb e mundur t\u00eb nd\u00ebrtohet nj\u00eb mjet i mir\u00eb. Mund t\u00eb na gjeni k\u00ebtu:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">Webfaqja zyrtare<\/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>Po presim me padurim d\u00ebshirat dhe propozimet tuaja!<\/p>\n<p>Burimi: <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-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \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\/sq\/blog\/novosti-interneta\/testmace-moshhnaya-ide-dlya-raboty-s-api\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\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\/sq\/blog\/novosti-interneta\/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 nj\u00eb IDE e fuqishme p\u00ebr pun\u00ebn me API | ProHoster","description":"P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve! Sot d\u00ebshirojm\u00eb t'ju prezantojm\u00eb produktin ton\u00eb para publik\u00ebs IT \u2014 IDE p\u00ebr pun\u00eb me API TestMace.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/testmace-moshhnaya-ide-dlya-raboty-s-api","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\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\/sq\/blog\/novosti-interneta\/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\/sq\/wp-json\/wp\/v2\/posts\/54187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=54187"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54187\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=54187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=54187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=54187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}