TestMace. Gyors kezdés

TestMace. Gyors kezdés

Sziasztok. Lassan előbújunk az árnyékból, és folytatjuk a termékünkről szóló cikksorozatot. Után előző ismertető cikket, sok visszajelzést (többnyire pozitív), javaslatot és hibajelentést kaptunk. Ma megmutatjuk TestMace működés közben, és értékelni fogja alkalmazásunk egyes funkcióit. A teljesebb elmélyülés érdekében azt tanácsolom, hogy tekintse át dokumentációnkat a címen http://docs-ru.testmace.com. Akkor gyerünk!

Telepítés

Kezdjük a banalitásokkal. Az alkalmazás három platformon érhető el és tesztelhető – Linux, Windows, MacOS. Letöltheti a telepítőt az Önt érdeklő operációs rendszerhez oldalunk. Linux felhasználók számára lehetséges a telepítés pattintható csomag. Nagyon reméljük, hogy a Microsoft Store és az App Store hamarosan ráér (Szükséges? Mit gondolsz?).

Kísérleti forgatókönyv

A következő standard forgatókönyvet választottuk tesztalanyunknak:

  • Bejelentkezés: felhasználó - admin, jelszó - jelszó
  • új bejegyzés hozzáadása
  • Ellenőrizzük, hogy a rekord helyesen lett-e hozzáadva

Majd teszteljük tovább https://testmace-quick-start.herokuapp.com/. Ez normális json-szerver, tökéletes az ilyen alkalmazások tesztelésére. Nemrég adtuk hozzá a token általi engedélyezést az összes json-szerver útvonalhoz, és létrehoztunk egy bejelentkezési módot ennek a tokennek a fogadásához. Fokozatosan fogunk haladni, fokozatosan fejlesztve projektünket.

Projekt létrehozása és entitás létrehozásának kísérlete engedély nélkül

Először hozzunk létre egy új projektet (filé->Új projekt). Ha először indítja el az alkalmazást, automatikusan megnyílik egy új projekt. Először próbáljunk meg egy új rekord létrehozását kérni (ha a rekordok létrehozása engedély nélkül elérhető). Válassza ki az elemeket a Projektcsomópont helyi menüjéből Csomópont hozzáadása -> RequestStep. Állítsa be a csomópont nevét a következőre létrehozás-post. Ennek eredményeként egy új csomópont jön létre a fában, és megnyílik egy lap ehhez a csomóponthoz. Állítsuk be a következő kérési paramétereket:

TestMace. Gyors kezdés

Ha azonban megpróbáljuk teljesíteni a kérést, akkor a szerver 401-es kódot ad vissza, és engedély nélkül nem kapunk semmit ezen a szerveren. Nos, általában, ahogy az várható volt).

Engedélyezési kérelem hozzáadása

Mint már említettük, van egy POST végpontunk /login, amely a json-t használja a következő űrlap kéréstörzsének: {"username": "<username>", "password": "<password>"}Ahol username и password (ismét a fenti bevezető bekezdésből kiindulva) jelentésük van admin и password illetőleg. Válaszul ez a végpont json-szerűt ad vissza {"token": "<token>"}. Engedélyezésre fogjuk használni. Alkossunk RequestStep csomópont névvel Belépés, ősként fog működni NetPoulSafe projekt csomópont A fogd és vidd módszerrel mozgassa a fa adott csomópontját magasabbra, mint a csomópont létrehozás-post. Állítsuk be a következő paramétereket az újonnan létrehozott kérelemhez:

Végezzük el a kérést, és kapjuk meg a kétszázadik kódot a tokennel a válaszban. Valami ilyesmi:

TestMace. Gyors kezdés

Újrafaktorálás: tartományduplikáció eltávolítása

A kérelmek eddig nem kapcsolódnak egyetlen szkripthez. De nem ez az egyetlen hátránya. Ha alaposan megnézi, észre fogja venni, hogy legalább a domain mindkét kérésben duplikált. Nem jó. Itt az ideje, hogy a jövőbeli szkriptnek ezt a részét átdolgozzuk, és ebben a változók segítenek.

Első közelítésképpen a változók ugyanazt a szerepet töltik be, mint más hasonló eszközökben és programozási nyelvekben – kiküszöbölve a duplikációkat, javítva az olvashatóságot stb. A változókról bővebben itt olvashat dokumentációnkat. Ebben az esetben felhasználói változókra lesz szükségünk.

Adjunk meg egy változót a Projekt csomópont szintjén domain jelentéssel https://testmace-quick-start.herokuapp.com... Ehhez szükség van

  • Nyissa meg a lapot ezzel a csomóponttal, és kattintson a számológép ikonra a jobb felső sarokban
  • Kattintson + VÁLTOZÓ HOZZÁADÁSA
  • Adja meg a változó nevét és értékét
    Esetünkben a hozzáadott változót tartalmazó párbeszédablak így fog kinézni:

TestMace. Gyors kezdés

RENDBEN. Most, az öröklődés miatt, ezt a változót használhatjuk bármely beágyazási szint leszármazottaiban. Esetünkben ezek csomópontok Belépés и létrehozás-post. Ahhoz, hogy változót használhasson egy szövegmezőben, írnia kell ${<variable_name>}. Például a bejelentkezési url a következőre lesz konvertálva ${domain}/login, ill létrehozás-post a csomópont URL-je így fog kinézni ${domain}/posts.

Így a DRY elvtől vezérelve némileg javítottunk a forgatókönyvön.

Mentse el a tokent egy változóba

Mivel változókról beszélünk, térjünk ki egy kicsit a témára. Jelenleg sikeres bejelentkezés esetén egy jogosultsági tokent kapunk a szervertől, amelyre a későbbi kérések során szükségünk lesz. Mentsük el ezt a tokent egy változóba. Mert a változó értéke a szkript végrehajtása során kerül meghatározásra, erre speciális mechanizmust használunk - dinamikus változók.

Először hajtsunk végre egy bejelentkezési kérést. A lapon Elemezve válaszoljon, vigye a kurzort a token fölé, és a helyi menüben (amely vagy a jobb egérgombbal vagy a gombra kattintva hívható meg) válassza ki az elemet Hozzárendelés változóhoz. Megjelenik egy párbeszédablak a következő mezőkkel:

  • Útvonal — a válasz melyik részét veszik át (esetünkben az body.token)
  • Jelenlegi érték - milyen érték található az ösvény mentén (esetünkben ez a jelérték)
  • Változó név — a változó neve ahol Jelenlegi érték megmaradnak. A mi esetünkben az lesz token
  • Csomópont — az ősök közül melyikben jön létre a változó Változó név. Válasszuk a Projektet

Az elkészült párbeszédablak így néz ki:

TestMace. Gyors kezdés

Most minden alkalommal, amikor a csomópont végrehajtódik Belépés dinamikus változó token frissítésre kerül a válaszból származó új értékkel. És ez a változó el lesz tárolva NetPoulSafe projekt csomópont, és az öröklődésnek köszönhetően elérhető lesz a leszármazottak számára.

A dinamikus változók eléréséhez használnia kell beépített változó $dynamicVar. Például egy tárolt token eléréséhez hívnia kell ${$dynamicVar.token}.

Az engedélyezési tokent átadjuk a kéréseknek

Az előző lépésekben megkaptuk az engedélyezési tokent, és csak egy fejlécet kell tennünk Authorization jelentéssel Bearer <tokenValue> minden engedélyt igénylő kérelemben, beleértve a létrehozás-post. Ennek többféle módja van:

  1. Másolja ki manuálisan a tokent, és adjon hozzá egy engedélyezési fejlécet az érdeklődésre számot tartó kérésekhez. A módszer működik, de használata csak a „készített és kidobott” típusú kérésekre korlátozódik. Nem alkalmas szkriptek ismételt végrehajtására
  2. Használja a funkciót engedélyezés.
  3. Használat alapértelmezett fejlécek

A második módszer használata kézenfekvőnek tűnik, de jelen cikk összefüggésében ez a megközelítés... érdektelen. Nos, tényleg: az engedélyezési mechanizmus plusz mínusz más eszközökből is ismerős (még akkor is, ha vannak olyan dolgok, mint pl felhatalmazás öröklés), és nem valószínű, hogy kérdéseket vet fel.

A másik dolog az alapértelmezett fejlécek! Dióhéjban, az alapértelmezett fejlécek örökölt HTTP-fejlécek, amelyek alapértelmezés szerint hozzáadódnak a kéréshez, hacsak nincs kifejezetten letiltva. Ezzel a funkcióval például egyéni engedélyezést hajthat végre, vagy egyszerűen megszabadulhat a szkriptekben található duplikációtól. Használjuk ezt a funkciót egy tokent átadására a fejlécekben.

Korábban körültekintően mentettük a tokent egy dinamikus változóba $dynamicVar.token a Projekt csomópont szintjén. Már csak a következőket kell tennie:

  1. Határozza meg az alapértelmezett címet Authorization jelentéssel Bearer ${$dynamicVar.token} a Projekt csomópont szintjén. Ehhez a csomópont Projekt felületén meg kell nyitni egy párbeszédablakot alapértelmezett címsorokkal (gomb Fejlécek a jobb felső sarokban), és adjon hozzá egy megfelelő címet. A kitöltött értékeket tartalmazó párbeszédablak így fog kinézni:
    TestMace. Gyors kezdés
  2. Tiltsa le ezt a fejlécet a bejelentkezési kérelemből. Ez érthető: a bejelentkezéskor még nem rendelkezünk tokennel, és ezzel a kéréssel fogjuk telepíteni. Ezért a kérés bejelentkezési felületén a fülön Fejlécek valaminek a területén Örökölt törölje az Engedélyezés fejléc jelölését.

Ez minden. Most az engedélyezési fejléc hozzáadódik minden olyan kéréshez, amely a projektcsomópont gyermeke, kivéve a bejelentkezési csomópontot. Kiderült, hogy ebben a szakaszban már készen áll a szkript, és nincs más dolgunk, mint elindítani. A szkriptet a kiválasztásával futtathatja futás a Projekt csomópont helyi menüjében.

A bejegyzés létrehozásának helyességének ellenőrzése

Ebben a szakaszban a szkriptünk bejelentkezhet, és egy engedélyezési token segítségével bejegyzést hozhat létre. Arra azonban ügyelnünk kell, hogy az újonnan létrehozott bejegyzésnek a megfelelő neve legyen. Vagyis lényegében csak a következőket kell tennie:

  • Küldjön kérelmet posta fogadására azonosítóval,
  • Ellenőrizze, hogy a szervertől kapott név megegyezik-e a bejegyzés létrehozásakor elküldött névvel

Nézzük az első lépést. Mivel az id érték a szkript végrehajtása során kerül meghatározásra, létre kell hozni egy dinamikus változót (nevezzük postId) csomópontból létrehozás-post a Projekt csomópont szintjén. Már tudjuk, hogyan kell ezt megtenni, csak nézze meg a részt Mentse el a tokent egy változóba. Már csak egy kérelmet kell létrehozni egy bejegyzés fogadására ezzel az azonosítóval. Ehhez hozzunk létre egy RequestStep-et get-post a következő paraméterekkel:

  • Kérelem típusa: GET
  • URL: ${domain}/bejegyzések/${$dynamicVar.postId}

A második lépés megvalósításához meg kell ismerkednünk kijelentés csomó. Az Assertion csomópont olyan csomópont, amely lehetővé teszi, hogy ellenőrzéseket írjon bizonyos kérésekhez. Minden állítási csomópont több állítást (ellenőrzést) tartalmazhat. Minden típusú állításról bővebben olvashat nálunk dokumentáció. Használni fogjuk Compare állítás az operátorral equal. Számos módja van az állítások létrehozásának:

  1. Hosszú. Hozzon létre manuálisan egy Assertion csomópontot a RequestStep csomópont helyi menüjéből. A létrehozott állítás csomópontban adja hozzá az érdeklődésre vonatkozó állítást, és töltse ki a mezőket.
  2. Gyors. Hozzon létre egy érvényesítési csomópontot a RequestStep csomópont válaszából származó kijelentéssel együtt a helyi menü segítségével

Használjuk a második módszert. Így fog kinézni a mi esetünkben.

TestMace. Gyors kezdés

Azok számára, akik nem értik, íme, mi történik:

  1. Kérjen a csomópontban get-post
  2. A lapon Elemezve válaszoljon, hívja a helyi menüt, és válassza ki Hozzon létre állítást -> Összehasonlítás -> Egyenlő

Gratulálunk, elkészítettük első tesztünket! Egyszerű, nem? Most már teljesen futtathatja a szkriptet, és élvezheti az eredményt. Már csak egy kicsit át kell alakítani és kiszedni title külön változóba. De ezt meghagyjuk neked házi feladatnak)

Következtetés

Ebben az útmutatóban egy teljes értékű forgatókönyvet készítettünk, és egyúttal áttekintettük termékünk néhány funkcióját. Természetesen nem használtunk ki minden funkciót, és a következő cikkekben részletes áttekintést adunk a TestMace képességeiről. Maradjon velünk!

Ui. Azok számára, akik lusták reprodukálni az összes lépést, szívesen rögzítettük adattár a cikkből származó projekttel. Ezzel kinyithatod filé -> Nyitott projekt és válassza ki a Projekt mappát.

Forrás: will.com

Hozzászólás