Miksi TestMace on parempi kuin Postman

Miksi TestMace on parempi kuin Postman

Hei kaikille, ole hyvä TestMace! Ehkä monet ihmiset tietävät meistä meidän Edellinen artikkelit. Juuri liittyneille: kehitämme IDE:tä, joka toimii TestMace API:n kanssa. Usein kysytty kysymys verrattaessa TestMacea kilpaileviin tuotteisiin on "Miten eroat Postmanista?" Päätimme, että on aika antaa yksityiskohtainen vastaus tähän kysymykseen. Alla olemme hahmotellut etujamme verrattuna Postinkantaja.

Jakaminen solmuihin

Jos työskentelet Postmanin kanssa, tiedät, että pyyntöliittymä sisältää kaikki tarvittavat toiminnot. On skriptejä, testejä ja itse asiassa itse pyyntöjä. Tämä helpottaa aloittelijoille, mutta suurissa skenaarioissa tämä lähestymistapa ei ole joustava. Entä jos haluat luoda useita kyselyitä ja tehdä niille koosteen? Entä jos haluat suorittaa komentosarjan ilman pyyntöä tai useita loogisesti erotettuja skriptejä peräkkäin? Loppujen lopuksi on hyvä idea erottaa testit tavallisista apuohjelmista. Lisäksi "lisää kaikki toiminnot yhteen solmuun" -lähestymistapa ei ole skaalautuva - käyttöliittymä ylikuormituu nopeasti.

TestMace jakaa aluksi kaikki toiminnot erityyppisiin solmuihin. Haluatko tehdä pyynnön? Se on sinulle pyytää vaihe solmu Haluatko kirjoittaa käsikirjoituksen? Se on sinulle käsikirjoitus solmu Tarvitsetko testejä? Ole kiltti - Väite solmu Voi kyllä, voit silti kääriä tämän koko asian kansio solmu Ja kaikki tämä voidaan helposti yhdistää toisiinsa. Tämä lähestymistapa ei ole vain erittäin joustava, vaan myös yhden vastuun periaatteen mukaisesti antaa sinun käyttää vain sitä, mitä todella tarvitset tällä hetkellä. Miksi tarvitsen skriptejä ja testejä, jos haluan vain tehdä pyynnön?

Ihmisen luettava projektimuoto

TestMacen ja Postmanin välillä on käsitteellinen ero niiden tallennustavassa. Postmanissa kaikki pyynnöt tallennetaan jonnekin paikalliseen tallennustilaan. Jos pyyntöjä on jaettava useiden käyttäjien välillä, sinun on käytettävä sisäänrakennettua synkronointia. Itse asiassa tämä on yleisesti hyväksytty lähestymistapa, mutta ei ilman haittoja. Entä tietoturva? Loppujen lopuksi joidenkin yritysten politiikka ei ehkä salli tietojen tallentamista kolmansille osapuolille. Uskomme kuitenkin, että TestMacella on jotain parempaa tarjottavaa! Ja tämän parannuksen nimi on "ihmisen luettava projektimuoto".

Aloitetaan siitä, että TestMacessa on periaatteessa "projekti"-yksikkö. Ja sovellus kehitettiin alun perin projektien tallentamiseen versionhallintajärjestelmiin: projektipuu on lähes yksitellen projisoitu tiedostorakenteeseen, tallennusmuotona käytetään yamlia (ilman ylimääräisiä sulkuja ja pilkkuja) ja kunkin solmun tiedostoesitys on kuvattu yksityiskohtaisesti dokumentaatiossa kommentteineen . Mutta useimmissa tapauksissa et katso sinne - kaikilla kenttien nimillä on loogiset nimet.

Mitä tämä antaa käyttäjälle? Näin voit muuttaa tiimin työnkulkua erittäin joustavasti tuttujen lähestymistapojen avulla. Esimerkiksi kehittäjät voivat tallentaa projektin samaan arkistoon kuin taustaohjelma. Haaroissa itse koodikannan muuttamisen lisäksi kehittäjä voi korjata olemassa olevia kyselykomentosarjoja ja testejä. Kun olet tehnyt muutoksia arkistoon (git, svn, mercurial - mistä pidät eniten), CI (suosikkisi, ei kenenkään määräämä) käynnistää konsoliapuohjelman testmace-cli, ja suorituksen jälkeen vastaanotettu raportti (esimerkiksi junit-muodossa, jota myös testmace-cli tukee) lähetetään sopivaan järjestelmään. Eikä edellä mainittu tietoturvaongelma ole enää ongelma.

Kuten näette, TestMace ei pakota ekosysteemiään ja paradigmaataan. Sen sijaan se sopii helposti vakiintuneisiin prosesseihin.

Dynaamiset muuttujat

TestMace noudattaa no-code-konseptia: jos ongelma voidaan ratkaista ilman koodia, yritämme tarjota tämän mahdollisuuden. Muuttujien kanssa työskentely on juuri sellaista toimintoa, jossa useimmissa tapauksissa voit tehdä ilman ohjelmointia.

Esimerkki: saimme vastauksen palvelimelta ja haluamme tallentaa osan vastauksesta muuttujaan. Postmanissa kirjoitamme testiskriptiin (joka on sinänsä outoa) jotain tällaista:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", jsonData.data);

Mutta mielestämme käsikirjoituksen kirjoittaminen tällaiselle yksinkertaiselle ja usein käytetylle skenaariolle näyttää tarpeettomalta. Siksi TestMacessa on mahdollista määrittää pala vastauksesta muuttujaan graafisen käyttöliittymän avulla. Katso kuinka yksinkertaista se on:

Miksi TestMace on parempi kuin Postman

Ja nyt tämä dynaaminen muuttuja päivitetään jokaisen pyynnöstä. Mutta voit vastustaa väittäen, että Postman-lähestymistapa on joustavampi ja antaa sinun paitsi tehdä toimeksiannon myös suorittaa esikäsittelyä. Näin voit muokata edellistä esimerkkiä:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", CryptoJS.MD5(jsonData.data));

No, tätä tarkoitusta varten TestMace on käsikirjoitus solmu, joka kattaa tämän skenaarion. Jotta voit toistaa edellisen, mutta TestMacen jo suorittaman tapauksen, sinun on luotava komentosarjasolmu pyynnön jälkeen ja käytettävä komentosarjana seuraavaa koodia:

const data = tm.currentNode.prev.response.body.data;
tm.currentNode.parent.setDynamicVar('data', crypto.MD5(data));

Kuten näette, solmujen koostumus palveli hyvin myös täällä. Ja tällaisessa yllä kuvatussa yksinkertaisessa tapauksessa voit yksinkertaisesti määrittää lausekkeen ${crypto.MD5($response.data)} GUI:n kautta luotu muuttuja!

Testien luominen GUI:n kautta

Postmanin avulla voit luoda testejä kirjoittamalla skriptejä (Postmanin tapauksessa tämä on JavaScript). Tällä lähestymistavalla on monia etuja - lähes rajaton joustavuus, valmiiden ratkaisujen saatavuus jne.

Todellisuus on kuitenkin usein sellainen (me emme ole sellaisia, elämä on sellaista), että testaajalla ei ole ohjelmointitaitoja, mutta hän haluaisi tuoda hyötyä tiimille juuri nyt. Tällaisissa tapauksissa TestMace antaa sinun luoda yksinkertaisia ​​testejä graafisen käyttöliittymän kautta ilman koodia -konseptia ilman komentosarjojen kirjoittamista. Tässä on esimerkiksi prosessi, jolla luodaan tasa-arvoarvoja vertaileva testi:

Miksi TestMace on parempi kuin Postman

Testien luominen graafisessa editorissa ei kuitenkaan poista mahdollisuutta kokeiden kirjoittaminen koodilla. Kaikki samat kirjastot ovat täällä kuin komentosarjasolmussa ja Chai kokeiden kirjoittamiseen.

Usein syntyy tilanteita, kun tietty kysely tai jopa koko skripti on suoritettava useita kertoja projektin eri osissa. Esimerkki tällaisista pyynnöistä voi olla mukautettu monivaiheinen valtuutus, ympäristön saattaminen haluttuun tilaan jne. Yleisesti ottaen ohjelmointikielistä puhuttaessa haluaisimme toimintoja, joita voidaan käyttää uudelleen sovelluksen eri osissa. TestMacessa tämän toiminnon suorittaa linkkiä solmu Se on erittäin helppokäyttöinen:
1) luo kysely tai komentosarja
2) luo linkki-tyyppinen solmu
3) määritä parametreihin linkki ensimmäisessä vaiheessa luotuun komentosarjaan

Edistyneemmässä versiossa voit määrittää, mitkä komentosarjan dynaamiset muuttujat välitetään linkin suhteen korkeammalle tasolle. Kuulostaako hämmentävältä? Oletetaan, että loimme kansion nimellä luo-post, jossa tälle solmulle on määritetty dynaaminen muuttuja postId. Nyt Link-solmussa luo-post-linkki voit määrittää nimenomaisesti, että muuttuja postId määrätty esi-isälle luo-post-linkki. Tätä mekanismia (jälleen ohjelmointikielellä) voidaan käyttää palauttamaan tulos "funktiosta". Yleisesti ottaen se on siistiä, DRY on täydessä vauhdissa ja taaskaan yksikään koodirivi ei vaurioitunut.

Miksi TestMace on parempi kuin Postman

Mitä tulee Postmaniin, pyyntöjen uudelleenkäyttöä varten on ominaisuuspyyntö roikkunut vuodesta 2015, ja näyttää olevan jopa joitain vihjeitäettä he työskentelevät tämän ongelman parissa. Nykyisessä muodossaan Postmanilla on tietysti kyky muuttaa suorituksen lankaa, mikä teoriassa mahdollistaa todennäköisesti samanlaisen käyttäytymisen toteuttamisen, mutta tämä on enemmän likainen hakkerointi kuin todella toimiva lähestymistapa.

Muut erot

  • Parempi hallinta muuttujien laajuudessa. Pienin laajuus, jossa muuttuja voidaan määritellä Postmanissa, on kokoelma. TestMacen avulla voit määrittää muuttujia mille tahansa kyselylle tai kansiolle. Postman Share -kokoelmassa voit viedä vain kokoelmia, kun taas TestMacessa jakaminen toimii missä tahansa solmussa
  • TestMace tukee periytyviä otsikoita, jotka voidaan oletusarvoisesti korvata alatason kyselyillä. Postilla on jotain tästä: tehtävä, ja se on jopa suljettu, mutta sitä tarjotaan ratkaisuksi... käytä skriptejä. TestMacessa tämä kaikki konfiguroidaan graafisen käyttöliittymän kautta, ja haluttaessa on mahdollista poistaa käytöstä perityt otsikot tietyistä jälkeläisistä
  • Kumoa/Toista. Toimii solmujen muokkauksen lisäksi myös siirrettäessä, poistettaessa, nimettäessä ja muissa projektin rakennetta muuttavissa toimissa
  • Pyyntöihin liitetyt tiedostot tulevat osaksi projektia ja tallennetaan sen kanssa samalla kun ne synkronoidaan täydellisesti, toisin kuin Postman. (Kyllä, sinun ei enää tarvitse valita tiedostoja manuaalisesti joka kerta kun käynnistät ja siirtää niitä arkistoissa oleville kollegoille)

Ominaisuudet, jotka ovat jo tulossa

Emme voineet vastustaa kiusausta nostaa salaisuuden verhoa seuraavien julkaisujen aikana, varsinkin kun toiminnallisuus on erittäin maukasta ja on jo julkaisua edeltävässä kiillotuksessa. Joten, tavataan.

Tehtävät

Kuten tiedät, Postman käyttää niin kutsuttuja dynaamisia muuttujia arvojen luomiseen. Niiden luettelo on vaikuttava ja suurinta osaa funktioista käytetään väärennettyjen arvojen luomiseen. Esimerkiksi satunnaisen sähköpostin luomiseksi sinun on kirjoitettava:

{{$randomEmail}}

Koska nämä ovat kuitenkin muuttujia (vaikkakin dynaamisia), niitä ei voi käyttää funktioina: ne eivät ole parametroitavissa, joten merkkijonosta ei voida ottaa hash-arvoa.

Aiomme lisätä "rehellisiä" toimintoja TestMaceen. Aivan ${} sisällä on mahdollista paitsi käyttää muuttujaa, myös kutsua funktiota. Nuo. Jos sinun on luotava pahamaineinen väärennetty sähköposti, kirjoitamme vain

${faker.internet.email()}

Sen lisäksi, että se on funktio, huomaat, että on mahdollista kutsua metodia objektiin. Ja suuren tasaisen dynaamisten muuttujien luettelon sijaan meillä on joukko loogisesti ryhmiteltyjä objekteja.

Entä jos haluamme laskea merkkijonon tiivisteen? Helposti!

${crypto.MD5($dynamicVar.data)}

Huomaat, että voit jopa välittää muuttujia parametreina! Tässä vaiheessa utelias lukija saattaa epäillä, että jotain on vialla...

JavaScriptin käyttäminen lausekkeissa

... Ja hyvästä syystä! Kun funktioiden vaatimuksia muodostettiin, tulimme yhtäkkiä siihen tulokseen, että kelvollinen javascript tulee kirjoittaa lausekkeisiin. Joten nyt voit vapaasti kirjoittaa ilmauksia, kuten:

${1 + '' + crypto.MD5('asdf')}

Ja kaikki tämä ilman skriptejä, suoraan syöttökentissä!

Mitä tulee Postmaniin, tässä voit käyttää vain muuttujia, ja kun yrität kirjoittaa pienimmänkin lausekkeen, validaattori kiroaa ja kieltäytyy laskemasta sitä.

Miksi TestMace on parempi kuin Postman

Edistynyt automaattinen täydennys

Tällä hetkellä TestMacessa on tavallinen automaattinen täydennys, joka näyttää tältä:

Miksi TestMace on parempi kuin Postman

Täällä on automaattisen täydennysrivin lisäksi ilmoitettu, mihin tämä rivi kuuluu. Tämä mekanismi toimii vain lausekkeissa, jotka on ympäröity hakasulkeilla ${}.

Kuten näet, on lisätty visuaalisia merkkejä, jotka osoittavat muuttujan tyypin (esimerkiksi merkkijono, numero, taulukko jne.). Voit myös muuttaa automaattisen täydennyksen tiloja (voit esimerkiksi valita automaattisen täydennyksen muuttujilla tai otsikoilla). Mutta tämäkään ei ole tärkein asia!

Ensinnäkin automaattinen täydennys toimii jopa lausekkeissa (jos mahdollista). Tältä se näyttää:

Miksi TestMace on parempi kuin Postman

Ja toiseksi, automaattinen täydennys on nyt saatavilla komentosarjoina. Katso kuinka se toimii!

Miksi TestMace on parempi kuin Postman

Ei ole mitään järkeä verrata tätä toimintoa Postmaniin - automaattinen täydennys rajoittuu vain staattisiin luetteloihin muuttujista, otsikoista ja niiden arvoista (korjaa, jos unohdin jotain). Skriptejä ei täydennetä automaattisesti :)

Johtopäätös

Lokakuussa tuli kuluneeksi vuosi tuotekehityksen aloittamisesta. Tänä aikana onnistuimme tekemään paljon asioita ja jossain suhteessa saimme kilpailijamme kiinni. Oli miten oli, tavoitteemme on tehdä todella kätevä työkalu API-työskentelyyn. Meillä on vielä paljon tehtävää, tässä karkea suunnitelma projektimme kehittämisestä tulevalle vuodelle: https://testmace.com/roadmap.

Palautteesi avulla voimme navigoida paremmin ominaisuuksien runsaudessa, ja tukesi antaa meille voimaa ja luottamusta siihen, että teemme oikein. Sattuu niin, että tänään on tärkeä päivä projektillemme - päivänä, jolloin TestMace julkaistiin ProductHunt. Tue projektiamme, se on meille erittäin tärkeä. Lisäksi PH-sivullamme on tänään houkutteleva tarjous, ja sitä on rajoitetusti

Lähde: will.com

Lisää kommentti