{"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\/nl\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","title":{"rendered":"TestMace \u2014 krachtige IDE voor het werken met API's","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo iedereen! Vandaag willen we ons product \u2014 een IDE voor het werken met API's \u2014 aan de IT-gemeenschap voorstellen. <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">TestMace<\/a><\/noindex>. Mogelijk zijn sommige van jullie al via <noindex><a rel=\"nofollow\" href=\"https:\/\/testmace.com\/blog\/\">vorige artikelen<\/a><\/noindex>van ons op de hoogte. Echter, er is nog geen uitgebreide review van het hulpmiddel geweest, dus we verhelpen dit vervelende gebrek.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" 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\">Motivatie<\/h1>\n<p><\/p>\n<p>Laten we beginnen met hoe we eigenlijk in dit leven zijn beland en besloten hebben om onze tool voor geavanceerd werken met API's te maken. We starten met een lijst van functionaliteiten die het product zou moeten bezitten, waarvan we denken dat het kan worden omschreven als een 'IDE voor het werken met API's':<\/p>\n<p><\/p>\n<ul>\n<li>Cre\u00ebren en uitvoeren van verzoeken en scripts (reeks verzoeken)<\/li>\n<li>Het schrijven van verschillende soorten tests<\/li>\n<li>Genereren van tests<\/li>\n<li>Werken met API-documentatie, inclusief import uit formaten zoals Swagger, OpenAPI, WADL, enz.<\/li>\n<li>Mocken van verzoeken<\/li>\n<li>Goede ondersteuning voor een of meerdere programmeertalen voor het schrijven van scripts, inclusief integratie met populaire bibliotheken.<\/li>\n<li>enzovoorts.<\/li>\n<\/ul>\n<p><\/p>\n<p>De lijst kan verder worden aangevuld naar wens. Het is bovendien belangrijk om niet alleen de IDE zelf te cre\u00ebren, maar ook een bepaalde infrastructuur, zoals cloud-synchronisatie, commandoregeltools, online monitoringsdiensten, enz. Uiteindelijk dicteren de trends van de afgelopen jaren ons niet alleen krachtige functionaliteit, maar ook een aantrekkelijke interface.<\/p>\n<p><\/p>\n<p>Voor wie is zo'n tool nodig? Het is duidelijk dat iedereen die op enige manier betrokken is bij de ontwikkeling en het testen van API's \u2014 ontwikkelaars en testers \u2014 hier gebruik van kan maken =). En terwijl voor de eerste groep vaak voldoende is om enkele verzoeken en eenvoudige scripts uit te voeren, is het voor testers een van de belangrijkste hulpmiddelen, dat bovendien een krachtige mechanismen voor het schrijven van tests moet bevatten, met mogelijkheden voor uitvoering in CI.<\/p>\n<p><\/p>\n<p>Dus, in navolging van deze richtlijnen, zijn we begonnen met het ontwikkelen van ons product. Laten we bekijken wat we tot nu toe hebben bereikt.<\/p>\n<p><\/p>\n<h1 id=\"bystryy-start\">Snelle Start<\/h1>\n<p><\/p>\n<p>Laten we beginnen met een eerste kennismaking met de applicatie. Je kunt het downloaden <noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\/\">op onze website<\/a><\/noindex>. Momenteel worden de drie belangrijkste platforms ondersteund \u2014 Windows, Linux, MacOS. Downloaden, installeren, opstarten. Bij de eerste opstart zie je het volgende venster:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/dbbd26d8656488cd11716f7dbede9ec7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Klik op het plusje bovenin het contentgebied om je eerste verzoek te maken. Het tabblad met het verzoek ziet er als volgt uit:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/d76205f43ec821018642a3d354532e7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Laten we hier diepgaander op ingaan. De interface voor de aanvraag lijkt erg op de interface van populaire REST-clients, wat de migratie van soortgelijke tools vergemakkelijkt. Laten we de eerste aanvraag op de URL uitvoeren. <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 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/19e639baa1e0d51f1a40b76ae9144d6c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Over het algemeen lijkt het erop dat het response-paneel ook geen onverwachte verrassingen oplevert. Maar ik wil uw aandacht vestigen op enkele punten:<\/p>\n<p><\/p>\n<ol>\n<li>De body van het antwoord heeft een boomstructuur, wat enerzijds de informativiteit verhoogt en anderzijds enkele interessante functies mogelijk maakt die hieronder worden besproken.<\/li>\n<li>Er is een tabblad Assertions, waarop een lijst met tests voor deze aanvraag wordt weergegeven.<\/li>\n<\/ol>\n<p><\/p>\n<p>Zoals te zien is, kan onze tool worden gebruikt als een handige REST-client. Maar we zouden hier niet zijn als de mogelijkheden zich alleen tot het verzenden van aanvragen beperkten. Hieronder zal ik de belangrijkste concepten en functionaliteiten van TestMace uiteenzetten.<\/p>\n<p><\/p>\n<h1 id=\"osnovnye-ponyatiya-i-vozmozhnosti\">Belangrijkste concepten en mogelijkheden<\/h1>\n<p><\/p>\n<h2 id=\"uzel\">Knoop<\/h2>\n<p><\/p>\n<p>De functionaliteit van TestMace is verdeeld over verschillende typen knopen. In het bovenstaande voorbeeld hebben we de werking van de RequestStep-knoop gedemonstreerd. Maar op dit moment zijn er ook de volgende typen knopen beschikbaar in de applicatie:<\/p>\n<p><\/p>\n<ul>\n<li>RequestStep. Dit is de knoop waarmee je een aanvraag kunt aanmaken. Als kindelement kan het slechts \u00e9\u00e9n Assertion-knoop hebben.<\/li>\n<li>Assertion. Deze knoop wordt gebruikt voor het schrijven van tests. Deze kan alleen een kindeind van de RequestStep-knoop zijn.<\/li>\n<li>Folder. Hiermee kunnen Folder- en RequestStep-knopen binnenin worden gegroepeerd.<\/li>\n<li>Project. Dit is de wortelknoop, die automatisch wordt aangemaakt bij het maken van een project. Verder herhaalt het de functionaliteit van de Folder-knoop.<\/li>\n<li>Link. Een link naar een Folder- of RequestStep-knoop. Hiermee kunnen aanvragen en scenario's opnieuw worden gebruikt.<\/li>\n<li>enzovoorts.<\/li>\n<\/ul>\n<p><\/p>\n<p>De knooppunten bevinden zich in scratches (de panel aan de linkerkant onderaan, die dient voor het snel cre\u00ebren van 'eenmalige' aanvragen) en in project (de panel aan de linkerkant bovenaan), waar we iets dieper op ingaan.<\/p>\n<p><\/p>\n<h2 id=\"proekt\">Project<\/h2>\n<p><\/p>\n<p>Bij het starten van de applicatie heeft u misschien de enkele regel Project in de linkerbovenhoek opgemerkt. Dit is de wortel van de projectboom. Bij het starten van een project wordt een tijdelijk project aangemaakt, waarvan het pad afhankelijk is van uw besturingssysteem. U kunt het project altijd naar een plek verhuizen die u handig vindt.<\/p>\n<p><\/p>\n<p>Het primaire doel van het project is de mogelijkheid om resultaten op te slaan in het bestandssysteem en verdere synchronisatie via versiebeheersystemen, het uitvoeren van scripts in CI, het beoordelen van wijzigingen, enz.<\/p>\n<p><\/p>\n<h2 id=\"peremennye\">Variabelen<\/h2>\n<p><\/p>\n<p>Variabelen zijn een van de belangrijkste mechanismen van de applicatie. Degenen onder jullie die werken met tools zoals TestMace, begrijpen misschien al waar het over gaat. Dus, variabelen zijn een manier om algemene gegevens op te slaan en communicatie tussen nodes mogelijk te maken. Een analoog voorbeeld zijn de omgevingsvariabelen in Postman of Insomnia. Maar we zijn verder gegaan en hebben het onderwerp verder ontwikkeld. In TestMace kunnen variabelen op node-niveau worden ingesteld. Elke. Er is ook een mechanisme voor het overerven van variabelen van ouders en het overschrijven van variabelen in afstammelingen. Daarnaast zijn er verschillende ingebouwde variabelen, de namen van ingebouwde variabelen beginnen met <code>$<\/code>. Hier zijn enkele daarvan:<\/p>\n<p><\/p>\n<ul>\n<li><code>$prevStep<\/code> \u2014 verwijzing naar de variabelen van de vorige node<\/li>\n<li><code>$nextStep<\/code> \u2014 verwijzing naar de variabelen van de volgende node<\/li>\n<li><code>$parent<\/code> \u2014 hetzelfde, maar dan voor de ouder<\/li>\n<li><code>$response<\/code> \u2014 antwoord van de server<\/li>\n<li><code>$env<\/code> \u2014 huidige omgevingsvariabelen<\/li>\n<li><code>$dynamicVar<\/code> \u2014 dynamische variabelen, die tijdens de uitvoering van een script of verzoek worden gemaakt<\/li>\n<\/ul>\n<p><\/p>\n<p><code>$env<\/code> \u2014 dit zijn in wezen gewone variabelen op projectniveau, echter, de set omgevingsvariabelen verandert afhankelijk van de geselecteerde omgeving. <\/p>\n<p><\/p>\n<p>Toegang tot een variabele geschiedt via <code>${variable_name}<\/code><br \/>\nAls waarde van de variabele kan een andere variabele zijn, of zelfs een hele expressie. Bijvoorbeeld, als URL kan de expressie zijn van het type<br \/>\n<code>http:\/\/${host}:${port}\/${endpoint}<\/code>.<\/p>\n<p><\/p>\n<p>Een bijzonder punt is de mogelijkheid om variabelen toe te wijzen tijdens het uitvoeren van het script. Vaak is er behoefte om autorisatiegegevens (token of de hele header) op te slaan die van de server zijn ontvangen na een succesvolle inlog. TestMace maakt het mogelijk om dergelijke gegevens op te slaan in dynamische variabelen van een van de bovenliggende elementen. Om conflicten met al bestaande 'statische' variabelen te vermijden, zijn dynamische variabelen in een apart object geplaatst. <code>$dynamicVar<\/code>. <\/p>\n<p><\/p>\n<h2 id=\"scenarii\">Scripts<\/h2>\n<p><\/p>\n<p>Met behulp van al deze mogelijkheden kun je volledige scripts van verzoeken uitvoeren. Bijvoorbeeld, entiteit maken -&gt; entiteit aanvragen -&gt; entiteit verwijderen. In dit geval kun je bijvoorbeeld de Folder-node gebruiken om verschillende RequestStep-nodes te groeperen.<\/p>\n<p><\/p>\n<h2 id=\"avtodopolnenie-i-podsvetka-znacheniya-vyrazheniya\">Automatische aanvulling en syntaxisaccentuering van de waarde van de expressie<\/h2>\n<p><\/p>\n<p>Voor een gemakkelijke werking met variabelen (en meer) is autocompletion noodzakelijk. En natuurlijk de highlight van de waarde van de expressie, zodat het eenvoudiger en handiger is om te verduidelijken wat de waarde van een bepaalde variabele is. Dit is precies zo'n geval waarin het beter is om het \u00e9\u00e9n keer te zien dan honderd keer te horen:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/cf9d30c9623b18575825d4282b8fe3e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Het is vermeldenswaard dat autocompletion niet alleen voor variabelen is ge\u00efmplementeerd, maar ook bijvoorbeeld voor koppen, waarden van bepaalde koppen (zoals autocompletion voor de Content-Type kop), protocollen en nog veel meer. De lijst wordt voortdurend aangevuld naarmate de applicatie groeit.<\/p>\n<p><\/p>\n<h2 id=\"undoredo\">Ongedaan maken\/herstellen<\/h2>\n<p><\/p>\n<p>Het ongedaan maken\/herstellen van veranderingen is een zeer handige functie, maar om de een of andere reden wordt het niet overal ge\u00efmplementeerd (en instrumenten voor het werken met de API zijn geen uitzondering). Maar wij zijn niet zo!) Ongedaan maken\/herstellen is bij ons gerealiseerd in het hele project, wat het mogelijk maakt om niet alleen de bewerking van een bepaalde node ongedaan te maken, maar ook de creatie, verwijdering, verplaatsing, enz. De meest kritieke handelingen vereisen bevestiging.<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-testov\">Testen aanmaken<\/h2>\n<p><\/p>\n<p>De Assertion node is verantwoordelijk voor het aanmaken van testen. Een van de belangrijkste kenmerken is de mogelijkheid om testen zonder programmeren te cre\u00ebren, met gebruik van ingebouwde editors. <\/p>\n<p><\/p>\n<p>De Assertion node bestaat uit een set van assertions. Elke assertion heeft een eigen type, momenteel zijn er verschillende types assertions beschikbaar.<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Vergelijk waarden \u2014 vergelijkt eenvoudigweg 2 waarden. Er zijn verschillende vergelijkingsoperatoren 'gelijk aan', 'niet gelijk aan', 'groter dan', 'groter dan of gelijk aan', 'kleiner dan', 'kleiner dan of gelijk aan'.<\/p>\n<p>\n<\/li>\n<li>\n<p>Bevat waarde - controleert of een substring in een string voorkomt.<\/p>\n<p>\n<\/li>\n<li>\n<p>XPath - controleert of er een bepaalde waarde ligt volgens de selector in XML.<\/p>\n<p>\n<\/li>\n<li>\n<p>JavaScript assertion - een willekeurig script geschreven in JavaScript dat true retourneert bij succes en false bij falen.<\/p>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>Ik merk op dat alleen de laatste van de gebruiker vaardigheden in programmeren vereist, de overige 3 assertions worden met de grafische interface aangemaakt. Hier is bijvoorbeeld hoe het dialoogvenster voor het cre\u00ebren van de compare values assertion eruit ziet:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/e71e11fb0fb664d1d9751a71fbdcc850.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>De kers op de taart is de snelle creatie van assertions uit de response, kijk er gewoon naar!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/3b86084419339a7a05a3548df5c12d6a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Echter, dergelijke assertions hebben voor de hand liggende beperkingen, waarvoor je JavaScript assertions kunt gebruiken. En ook hier biedt TestMace een comfortabele omgeving met autocompletion, syntax highlighting en zelfs een statische analyzer.<\/p>\n<p><\/p>\n<h2 id=\"opisanie-api\">API Beschrijving<\/h2>\n<p><\/p>\n<p>TestMace stelt je niet alleen in staat om API te gebruiken, maar ook om het te documenteren. De beschrijving heeft een hi\u00ebrarchische structuur en past mooi in het grotere geheel van het project. Tegenwoordig is het ook mogelijk om API-beschrijvingen te importeren uit Swagger 2.0 \/ OpenAPI 3.0-formaten. De beschrijving is niet zomaar een dode last; deze integreert stevig met de rest van het project. Zo is bijvoorbeeld de autocompletion van URL's, HTTP-headers, queryparameters en meer beschikbaar. In de toekomst zijn we van plan om tests toe te voegen die de antwoorden aan de API-beschrijving toetsen.<\/p>\n<p><\/p>\n<h2 id=\"sharing-nod\">Node delen<\/h2>\n<p><\/p>\n<p>Scenario: je wilt een probleem verzoek delen of zelfs een compleet scenario met een collega, of gewoon aan een bug koppelen. TestMace dekt ook deze situatie: de applicatie maakt het mogelijk om elke node en zelfs een subboom te serialiseren naar een URL. Kopieer en plak, en je hebt het verzoek gemakkelijk naar een andere machine of project overgezet.<\/p>\n<p><\/p>\n<h2 id=\"chelovekochitaemyy-format-hraneniya-proekta\">Leesbaar opslagformaat van het project<\/h2>\n<p><\/p>\n<p>Momenteel wordt elke knoop opgeslagen in een apart bestand met de extensie yml (zoals in het geval van de Assertion-node), of in een map met de naam van de node en daarin een bestand index.yml.<br \/>\nZo ziet bijvoorbeeld het bestand met het verzoek eruit dat we eerder in de review hebben gemaakt:<\/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>Zoals je ziet, is alles kristalhelder. Dit formaat kan heel comfortabel handmatig worden bewerkt indien gewenst.<\/p>\n<p><\/p>\n<p>De hi\u00ebrarchie van mappen in het bestandssysteem weerspiegelt volledig de hi\u00ebrarchie van de knooppunten in het project. Bijvoorbeeld, een scenario van het type:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/8f08d934a977e4fdacd269f4ea0c34b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mapt naar de volgende structuur in het bestandssysteem (alleen de hi\u00ebrarchie van de mappen is getoond, maar de essentie is duidelijk)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TestMace \u2014 krachtige IDE voor het werken met API&#039;s\" src=\"\/wp-content\/uploads\/2019\/12\/60a54704979f5a77ee05735fd8ebe824.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dit vergemakkelijkt het proces van reviewen van het project.<\/p>\n<p><\/p>\n<h2 id=\"import-iz-postman\">Importeren van Postman<\/h2>\n<p><\/p>\n<p>Na het lezen van het bovenstaande willen sommige gebruikers misschien (toch?) het nieuwe product uitproberen of (wie weet!) het volledig toepassen in hun project. Echter, de migratie kan worden vertraagd door een grote hoeveelheid werk in hetzelfde Postman. Voor dergelijke gevallen ondersteunt TestMace de import van collecties uit Postman. Momenteel is alleen import zonder tests ondersteund, maar in de toekomst sluiten we ondersteuning voor tests niet uit.<\/p>\n<p><\/p>\n<h1 id=\"plany\">Plannen<\/h1>\n<p><\/p>\n<p>Ik hoop dat velen van jullie die dit punt hebben bereikt, ons product leuk vinden. Maar dat is nog niet alles! We zijn druk bezig met de ontwikkeling van het product en hier zijn enkele functies die we binnenkort willen toevoegen.<\/p>\n<p><\/p>\n<h2 id=\"oblachnaya-sinhronizaciya\">Cloud-synchronisatie<\/h2>\n<p><\/p>\n<p>Een van de meest gevraagde functies. Momenteel bieden we versiebeheersystemen aan voor synchronisatie, waarvoor we het formaat gebruiksvriendelijker maken voor dit type opslag. Echter, niet iedereen vindt deze workflow handig, daarom is het gepland om een vertrouwde synchronisatiemechanisme via onze servers toe te voegen. <\/p>\n<p><\/p>\n<h2 id=\"cli\">CLI<\/h2>\n<p><\/p>\n<p>Zoals eerder genoemd, kunnen IDE-niveau producten niet zonder allerlei integraties met bestaande applicaties of workflows. CLI is precies nodig voor de integratie van tests die in TestMace zijn geschreven, in het continue integratieproces. We zijn druk bezig met de ontwikkeling van CLI, in de vroege versies zal het project worden gestart met een eenvoudige console-rapportage. In de toekomst is het gepland om het rapport in JUnit-formaat te toevoegen.<\/p>\n<p><\/p>\n<h2 id=\"plaginnaya-sistema\">Plugin-systeem<\/h2>\n<p><\/p>\n<p>Ondanks de kracht van onze tool is de set van cases die opgelost moeten worden eindeloos. Uiteindelijk zijn er taken die specifiek zijn voor een bepaald project. Daarom zijn we van plan om een SDK voor het ontwikkelen van plugins toe te voegen, zodat elke ontwikkelaar functionaliteit naar wens kan toevoegen.<\/p>\n<p><\/p>\n<h2 id=\"rasshirenie-assortimenta-tipov-uzlov\">Uitbreiding van het assortiment van knooppunttypes<\/h2>\n<p><\/p>\n<p>Deze set knooppunten dekt niet alle cases die de gebruiker nodig heeft. Knooppunten die we willen toevoegen:<\/p>\n<p><\/p>\n<ul>\n<li>Script-knooppunt \u2014 transformeert en plaatst gegevens met behulp van js en de bijbehorende API. Met dit type knooppunt kunnen dingen worden gedaan zoals pre-request en post-request scripts in Postman.<\/li>\n<li>GraphQL-knooppunt \u2014 ondersteuning voor GraphQL<\/li>\n<li>Custom assertion-knooppunt \u2014 stelt je in staat om de set bestaande assertions in het project uit te breiden<br \/>\nNatuurlijk is dit geen definitieve lijst, deze zal voortdurend worden aangevuld, onder andere met jullie feedback.<\/li>\n<\/ul>\n<p><\/p>\n<h1 id=\"faq\">FAQ<\/h1>\n<p><\/p>\n<p><strong>Wat maakt je anders dan Postman?<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>De conceptie van knooppunten, die de functionaliteit van het project bijna oneindig schaalt<\/li>\n<li>Mensvriendelijk formaat van het project dat wordt opgeslagen in het bestandssysteem, wat de samenwerking met versiebeheersystemen vergemakkelijkt<\/li>\n<li>De mogelijkheid om tests te maken zonder programmeren en geavanceerdere ondersteuning voor js in de testeditor (auto-aanvulling, statische analyser)<\/li>\n<li>Geavanceerde autocompletie en markering van de huidige waarden van variabelen<\/li>\n<\/ol>\n<p><\/p>\n<p><strong>Is dit een open-source product?<\/strong><\/p>\n<p><\/p>\n<p>Nee, op dit moment zijn de bronbestanden gesloten, maar in de toekomst overwegen we de mogelijkheid om de bronnen open te stellen.<\/p>\n<p><\/p>\n<p><strong>Waarvan leven jullie?<\/strong><\/p>\n<p><\/p>\n<p>Naast de gratis versie zijn we van plan om een betaalde versie van het product uit te brengen. Deze zal in eerste instantie functies bevatten die serverondersteuning vereisen, zoals synchronisatie.<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Conclusie<\/h1>\n<p><\/p>\n<p>Ons project maakt grote stappen richting een stabiele release. Maar het product is nu al bruikbaar en de positieve feedback van onze vroege gebruikers bevestigt dat. We verzamelen actief feedback, want zonder nauwe samenwerking met de community is het onmogelijk om een goed hulpmiddel te bouwen. Je kunt ons hier vinden:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/client.testmace.com\">Offici\u00eble website<\/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>We kijken er naar uit om jullie wensen en suggesties te horen!<\/p>\n<p>Bron: <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\/nl\/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=\"nl_NL\" \/>\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\/nl\/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 krachtige IDE voor API-werk | ProHoster","description":"Hallo iedereen! Vandaag willen we ons product \u2014 IDE voor API-werk TestMace \u2014 aan de IT-gemeenschap presenteren.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/testmace-moshhnaya-ide-dlya-raboty-s-api","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/54187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=54187"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/54187\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=54187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=54187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=54187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}