TestMace. Nopea aloitus

TestMace. Nopea aloitus

Hei kaikki. Nousemme hiljalleen varjoista ja jatkamme tuotteemme artikkelisarjaa. Jälkeen edellinen arvosteluartikkeli, saimme paljon palautetta (enimmäkseen positiivista), ehdotuksia ja virheraportteja. Tänään näytämme TestMace toiminnassa ja voit arvostaa joitain sovelluksemme ominaisuuksia. Täydellisen upotuksen saamiseksi suosittelen tutustumaan asiakirjoihimme osoitteessa http://docs-ru.testmace.com. Mennään siis!

Asennus

Aloitetaan banaalisuudesta. Sovellus on saatavilla ja testattu kolmella alustalla - Linux, Windows, MacOS. Voit ladata asennusohjelman haluamaasi käyttöjärjestelmää varten sivustomme. Linux-käyttäjille se on mahdollista asentaa napsautuspaketti. Toivomme todella, että Microsoft Store ja App Store pääsevät pian sen pariin (Onko se tarpeen? Mitä mieltä olette?).

Kokeellinen skenaario

Valitsimme koekohteeksi seuraavan vakioskenaarion:

  • Kirjautuminen: käyttäjä - admin, salasana - salasana
  • lisää uusi merkintä
  • Tarkistetaan, että tietue on lisätty oikein

Testaamme jatkossa https://testmace-quick-start.herokuapp.com/. Tämä on normaalia json-palvelin, täydellinen tällaisten sovellusten testaamiseen. Lisäsimme juuri valtuutuksen tunnuksella kaikkiin json-palvelinreitteihin ja loimme kirjautumistavan tämän tunnuksen vastaanottamiseksi. Etenemme asteittain ja parannamme projektiamme asteittain.

Projektin luominen ja kokonaisuuden luominen ilman lupaa

Luodaan ensin uusi projekti (filee->Uusi projekti). Jos käynnistät sovelluksen ensimmäistä kertaa, uusi projekti avautuu automaattisesti. Yritetään ensin tehdä pyyntö uuden tietueen luomiseksi (jos tietueiden luominen on mahdollista ilman lupaa). Valitse kohteet projektisolmun kontekstivalikosta Lisää solmu -> RequestStep. Aseta solmun nimeksi luo-post. Tämän seurauksena puuhun luodaan uusi solmu ja tämän solmun välilehti avautuu. Asetetaan seuraavat pyyntöparametrit:

TestMace. Nopea aloitus

Jos yritämme kuitenkin täyttää pyynnön, palvelin palauttaa 401-koodin, emmekä ilman lupaa saa mitään tälle palvelimelle. No, yleensä, kuten odotettiin).

Valtuutuspyynnön lisääminen

Kuten jo sanottiin, meillä on POST-päätepiste /login, joka ottaa jsonin lomakkeen pyyntötekstiksi: {"username": "<username>", "password": "<password>"}Missä username и password (jälleen edellä olevasta johdantokappaleesta lähtien) on merkityksiä admin и password vastaavasti. Vastauksena tämä päätepiste palauttaa jsonin kaltaisen {"token": "<token>"}. Käytämme sitä valtuutukseen. Luodaan RequestStep solmu nimellä Kirjaudu sisään, toimii esivanhempana projekti solmu Siirrä puun tietty solmu solmua korkeammalle vetämällä ja pudottamalla luo-post. Asetetaan seuraavat parametrit äskettäin luodulle pyynnölle:

Suoritetaan pyyntö ja vastaanotetaan vastauksessa oleva kahdessasadas koodi ja token. Jotain tällaista:

TestMace. Nopea aloitus

Refaktorointi: verkkotunnuksen päällekkäisyyden poistaminen

Toistaiseksi pyyntöjä ei ole linkitetty yhdeksi skriptiksi. Mutta tämä ei ole ainoa haittapuoli. Jos katsot tarkasti, huomaat, että ainakin verkkotunnus on päällekkäinen molemmissa pyynnöissä. Ei hyvä. On aika muuttaa tämä osa tulevasta käsikirjoituksesta, ja muuttujat auttavat meitä tässä.

Ensimmäisen likiarvon mukaan muuttujat palvelevat samaa roolia kuin muissa vastaavissa työkaluissa ja ohjelmointikielissä - poistavat päällekkäisyyksiä, lisäävät luettavuutta jne. Voit lukea lisää muuttujista kohdasta dokumentaatiomme. Tässä tapauksessa tarvitsemme käyttäjämuuttujia.

Määritellään muuttuja projektisolmutasolla domain arvoilla https://testmace-quick-start.herokuapp.com. Tätä varten se on välttämätöntä

  • Avaa välilehti tällä solmulla ja napsauta oikeassa yläkulmassa olevaa laskinkuvaketta
  • Napsauta + LISÄÄ MUUTTUJA
  • Syötä muuttujan nimi ja arvo
    Meidän tapauksessamme valintaikkuna lisätyn muuttujan kanssa näyttää tältä:

TestMace. Nopea aloitus

OK. Nyt periytymisen vuoksi voimme käyttää tätä muuttujaa minkä tahansa sisäkkäisen tason jälkeläisissä. Meidän tapauksessamme nämä ovat solmuja Kirjaudu sisään и luo-post. Jotta voit käyttää muuttujaa tekstikentässä, sinun on kirjoitettava ${<variable_name>}. Esimerkiksi kirjautumisosoite muunnetaan muotoon ${domain}/login, vastaavasti luo-post solmun URL näyttää tältä ${domain}/posts.

Näin ollen DRY-periaatteen ohjaamana olemme hieman parantaneet skenaariota.

Tallenna tunnus muuttujaan

Koska puhumme muuttujista, laajennetaan tätä aihetta hieman. Tällä hetkellä, mikäli kirjautuminen onnistuu, saamme palvelimelta valtuutustunnuksen, jota tarvitsemme myöhemmissä pyynnöissä. Tallennetaan tämä tunnus muuttujaksi. Koska muuttujan arvo määritetään komentosarjan suorittamisen aikana, käytämme tähän erityistä mekanismia - dynaamiset muuttujat.

Suoritetaan ensin kirjautumispyyntö. Välilehdellä Jäsennetty vastaa, siirrä osoitin tunnuksen päälle ja valitse kohde pikavalikosta (joka kutsutaan joko hiiren oikealla painikkeella tai napsauttamalla painiketta ...) Määritä muuttujaan. Näyttöön tulee valintaikkuna, jossa on seuraavat kentät:

  • Polun, - mikä osa vastauksesta on otettu (meidän tapauksessamme se on body.token)
  • Nykyinen arvo - mikä arvo on polulla (meidän tapauksessamme tämä on merkkiarvo)
  • Muuttujan nimi — muuttujan nimi missä Nykyinen arvo säilytetään. Meidän tapauksessamme se tulee olemaan token
  • Solmu — missä esivanhemmista muuttuja luodaan Muuttujan nimi. Valitse projekti

Valmis valintaikkuna näyttää tältä:

TestMace. Nopea aloitus

Nyt joka kerta, kun solmu suoritetaan Kirjaudu sisään dynaaminen muuttuja token päivitetään vastauksen uudella arvolla. Ja tämä muuttuja tallennetaan projekti solmu, ja perinnön ansiosta se on jälkeläisten käytettävissä.

Jotta voit käyttää dynaamisia muuttujia, sinun on käytettävä sisäänrakennettu muuttuja $dynamicVar. Esimerkiksi, jos haluat käyttää tallennettua merkkiä, sinun on soitettava ${$dynamicVar.token}.

Välitämme valtuutustunnuksen pyyntöihin

Aiemmissa vaiheissa saimme valtuutustunnuksen, ja meidän tarvitsee vain lisätä otsikko Authorization merkityksen kanssa Bearer <tokenValue> kaikissa lupaa vaativissa pyynnöissä, mukaan lukien luo-post. Voit tehdä tämän useilla tavoilla:

  1. Kopioi tunnus manuaalisesti ja lisää valtuutusotsikko kiinnostaviin pyyntöihin. Menetelmä toimii, mutta sen käyttö rajoittuu vain "tehty ja heitetty pois" -tyyppisiin pyyntöihin. Ei sovellu skriptien toistuvaan suorittamiseen
  2. Käytä toiminnallisuutta valtuutus.
  3. Käytä oletusotsikot

Toisen menetelmän käyttäminen näyttää ilmeiseltä, mutta tämän artikkelin yhteydessä tämä lähestymistapa on... epämiellyttävä. No todellakin: valtuutusmekanismi plus miinus on sinulle tuttu muista työkaluista (vaikka meillä olisi esim valtuutuksen perintö) eikä se todennäköisesti herätä kysymyksiä.

Toinen asia on oletusotsikot! Lyhyesti sanottuna oletusotsikot ovat perittyjä HTTP-otsikoita, jotka lisätään pyyntöön oletuksena, ellei niitä ole erikseen poistettu käytöstä. Tämän toiminnon avulla voit esimerkiksi ottaa käyttöön mukautetun valtuutuksen tai yksinkertaisesti päästä eroon skriptien päällekkäisyydestä. Käytä tätä ominaisuutta välittämään merkki otsikoissa.

Aiemmin tallensimme varovaisesti tunnuksen dynaamiseen muuttujaan $dynamicVar.token projektisolmutasolla. Jäljelle jää vain tehdä seuraava:

  1. Määritä oletusotsikko Authorization arvoilla Bearer ${$dynamicVar.token} projektisolmutasolla. Tätä varten solmun projektirajapinnassa on avattava valintaikkuna, jossa on oletusotsikot (painike Otsikot oikeassa yläkulmassa) ja lisää vastaava otsikko. Täytettyjen arvojen valintaikkuna näyttää tältä:
    TestMace. Nopea aloitus
  2. Poista tämä otsikko kirjautumispyynnöstä. Tämä on ymmärrettävää: kirjautumishetkellä meillä ei vielä ole tunnusta ja asennamme sen tällä pyynnöstä. Siksi pyynnön kirjautumisliittymässä välilehdellä Otsikot alueella peritty poista Valtuutus-otsikon valinta.

Siinä kaikki. Nyt valtuutusotsikko lisätään kaikkiin pyyntöihin, jotka ovat projektisolmun lapsia, paitsi kirjautumissolmua. Osoittautuu, että tässä vaiheessa meillä on jo skripti valmiina ja meidän tarvitsee vain käynnistää se. Voit suorittaa skriptin valitsemalla ajaa projektisolmun kontekstivalikossa.

Viestin luomisen oikeellisuuden tarkistaminen

Tässä vaiheessa skriptimme voi kirjautua sisään ja luoda julkaisun valtuutustunnuksen avulla. Meidän on kuitenkin varmistettava, että äskettäin luodulla viestillä on oikea nimi. Eli käytännössä ei jää muuta kuin tehdä seuraava:

  • Lähetä postipyyntö tunnuksella,
  • Tarkista, että palvelimelta saatu nimi vastaa viestiä luotaessa lähetettyä nimeä

Katsotaanpa ensimmäistä vaihetta. Koska id-arvo määritetään skriptin suorituksen aikana, sinun on luotava dynaaminen muuttuja (kutsutaanko sitä postId) solmusta luo-post projektisolmutasolla. Tiedämme jo, kuinka tämä tehdään, katso vain osa Tallenna tunnus muuttujaan. Jäljelle jää vain luoda pyyntö saada viesti tällä tunnuksella. Luodaan tätä varten RequestStep saada-posti seuraavilla parametreilla:

  • Pyynnön tyyppi: GET
  • URL-osoite: ${domain}/posts/${$dynamicVar.postId}

Toisen vaiheen toteuttamiseksi meidän on tutustuttava Väite solmu. Assertion-solmu on solmu, jonka avulla voit kirjoittaa tarkistuksia tietyille pyynnöille. Jokainen väitesolmu voi sisältää useita väitteitä (tarkistuksia). Voit lukea lisää kaikenlaisista väitteistämme dokumentointi. Me käytämme Compare väite operaattorin kanssa equal. On olemassa useita tapoja luoda väitteitä:

  1. Pitkä. Luo Assertion-solmu manuaalisesti RequestStep-solmun kontekstivalikosta. Lisää luotuun Assertion-solmuun kiinnostuksen kohteena oleva väite ja täytä kentät.
  2. Nopeasti. Luo Assertion-solmu yhdessä väitteen kanssa RequestStep-solmun vastauksesta kontekstivalikon avulla

Käytetään toista menetelmää. Tältä se näyttää meidän tapauksessamme.

TestMace. Nopea aloitus

Niille, jotka eivät ymmärrä, tässä on tapahtumassa:

  1. Tee pyyntö solmussa saada-posti
  2. Välilehdellä Jäsennetty vastaa, avaa pikavalikko ja valitse Luo väite -> Verrata -> Yhtä suuri

Onnittelut, olemme luoneet ensimmäisen testimme! Yksinkertaista, eikö? Nyt voit ajaa skriptin kokonaan ja nauttia tuloksesta. Jäljelle jää vain muotoilla sitä hieman uudelleen ja ottaa se pois title erilliseksi muuttujaksi. Mutta jätämme tämän sinulle kotitehtäväksi)

Johtopäätös

Tässä oppaassa loimme täydellisen skenaarion ja samalla tarkastelimme joitain tuotteemme ominaisuuksia. Emme tietenkään käyttäneet kaikkia toimintoja, ja seuraavissa artikkeleissa annamme yksityiskohtaisen yleiskatsauksen TestMacen ominaisuuksista. Pysy kanavalla!

PS Niille, jotka ovat liian laiskoja toistamaan kaikkia vaiheita, olemme ystävällisesti nauhoittaneet arkisto artikkelin projektin kanssa. Voit avata sen kanssa filee -> Avoin projekti ja valitse Project-kansio.

Lähde: will.com

Lisää kommentti