TestMace. Gyors kezdés

TestMace. Gyors kezdés

Üdv mindenkinek. Fokozatosan kilépünk az árnyékból, és folytatjuk a termékünkről szóló cikkek sorozatát. A korábbi bevezető cikkünk után rengeteg visszajelzést (szinte mind pozitív) és ajánlást, valamint hibajelentést kaptunk. Ma bemutatjuk TestMace a gyakorlatban, és méltányolni fogjátok az alkalmazásunk néhány funkcióját. A teljesebb tapasztalat érdekében javaslom, hogy olvasd el a dokumentációnkat a következő címen http://docs-ru.testmace.com. Nos, kezdjük el!

Telepítés

Kezdjük a legnyilvánvalóbbal. Az alkalmazás elérhető és ténylegesen tesztelhető három platformon: Linux, Windows és MacOS. Az érdekes operációs rendszerhez a telepítőt letöltheted a weboldalunkról. A Linux felhasználók számára lehetőség van snap csomag telepítésére. Nagy reményeink vannak, hogy hamarosan elérjük a Microsoft Store-t és az App Store-t is (szerintetek szükség van rá?).

A tesztelési forgatókönyv

Tesztalanyként a következő standard forgatókönyvet választottuk:

  • bejelentkezünk: felhasználó — admin, jelszó — password
  • új bejegyzést adunk hozzá
  • ellenőrizzük az új bejegyzés helyes hozzáadását

Tesztelni fogunk a https://testmace-quick-start.herokuapp.com/. Ez egy szokványos json-server, amely tökéletesen alkalmas az ilyen alkalmazások tesztelésére. Csak annyit tettünk, hogy hozzáadtunk token alapú hitelesítést a json-server összes útvonalához, és létrehoztunk egy bejelentkezési metódust a token megszerzéséhez. Fokozatosan haladunk, lépésről lépésre fejlesztve a projektünket.

Projekt létrehozása és egy entitás létrehozásának megkísérlése hitelesítés nélkül

Először hozzunk létre egy új projektet (Fájl->Új projekt). Ha először indítod el az alkalmazást, az új projekt automatikusan megnyílik. Először próbáljunk meg egy új bejegyzés létrehozására vonatkozó kérés küldeni (hátha a bejegyzések létrehozása elérhető hitelesítés nélkül). A Project csomópont kontextusmenüjében válaszd ki az Add node -> RequestSteplehetőségeket. A csomópont nevének adjuk meg create-post. Ennek eredményeként egy új csomópont keletkezik a fában és megnyílik a csomópont fülje. Az alábbi kérésparamétereket állítjuk be:

  • Kérés típusa: POST
  • url: https://testmace-quick-start.herokuapp.com/posts
  • Kérés törzse: json az értékkel {"title": "Új tesztmace gyors kezdő bejegyzés"}
    Ha mindent jól csináltál, akkor a felület a következőképpen fog kinézni:

TestMace. Gyors kezdés

Ha azonban megpróbáljuk végrehajtani a kérést, a szerver 401 kódot fog visszaadni, és hitelesítés nélkül ezen a szerveren semmi esélyünk sincs. Nos, ez várható volt).

Kérelmet adunk hozzá a hitelesítéshez

Ahogyan már említettük, van egy POST végpontunk /login, amely json típusú adatokat vár a kérés törzsében: {"username": "<username>", "password": "<password>"}, ahol username és password (ugyanaz, mint az előző bekezdésben) értékekkel rendelkezik admin és password a megfelelően. Ennek az endpointnak a válaszában json formátumot kapunk {"token": ""}. Ezt fogjuk használni az azonosításhoz. Készítsünk RequestStep egy csomópontot a következő névvel login, mint szülő csomópontot Projekt csomópontot. A drag-and-drop segítségével helyezzük át ezt a csomópontot a fában feljebb, mint a create-postcsomópont. Az újonnan létrehozott kéréshez az alábbi paramétereket fogjuk megadni:

Végezze el a kérést, és kapjon egy kétszázas kódot tokennel a válaszban. Valahogy így:

TestMace. Gyors kezdés

Refaktorálás: távolítsuk el a domain duplikációját

Jelenleg a kérések nincsenek összekapcsolva egyetlen szcenárióba. De ez nem az egyetlen hátrány. Ha jobban megnézzük, észrevehetjük, hogy legalább a domain megduplázódik mindkét kérésben. Ez nem jó. Itt az ideje refaktorálni ezt a részt a jövőbeli szcenárióból, és ebben segíteni fognak nekünk a változók.

Elsődleges közelítésben a változók ugyanolyan szerepet játszanak, mint más hasonló eszközökben és programozási nyelvekben — a duplikáció megszüntetése, az olvashatóság növelése stb. A változókról többet olvashat itt dokumentációinkban. Ebben az esetben felhasználói változókra lesz szükségünk.

Határozzunk meg a Project szinten egy változót a csomópont szintjén domain az értékkel https://testmace-quick-start.herokuapp.com. Ehhez szükséges

  • Megnyitni a lapot a megadott csomóponttal, és rákattintani a jobb felső sarokban található számológép ikonra
  • Kattintson a + ADD VARIABLE
  • Adja meg a változó nevét és értékét
    Az esetünkben a hozzáadott változóval a párbeszéd a következőképpen fog kinézni:

TestMace. Gyors kezdés

OK. Most a öröklődés révén ezt a változót bármilyen mélységi szinten használhatjuk. A mi esetünkben ezek a csomópontok login és create-post. Ahhoz, hogy a szövegmezőben használhassuk a változót, meg kell írni ${}. Például, az url a bejelentkezéshez a következőképpen alakul ${domain}/login, ennek megfelelően a create-post csomópont url-ja így fog kinézni ${domain}/posts.

Így a DRY elv mentén egy kicsit javítottuk a szcenáriót.

Mentse el a tokent egy változóba

Mivel a változókról beszélünk, nézzük meg ezt a témát egy kicsit részletesebben. Jelenleg, ha sikeresen bejelentkezünk, az adott szerver egy azonosító tokent küld, amelyre szükségünk lesz a következő kérdésekben. Tartsuk meg ezt a tokent egy változóban. Mivel a változó értékét a szcenárió futása során fogjuk meghatározni, használjunk ehhez egy speciális mechanizmust — dinamikus változók.

Először is indítsuk el a bejelentkezési kérelmet. A fülön Parsed a válaszra vigyük a kurzort a token fölé, és a kontextusmenüben (amit jobb gombbal vagy a … gomb megnyomásával hívhatunk elő) válasszuk a következőt Hozzárendelés változóhoz. Megjelenik egy párbeszédablak a következő mezőkkel:

  • Útvonal — mely részét veszi a válasznak (esetünkben ez a body.token)
  • Jelenlegi érték — mi az érték az Útvonalon (esetünkben ez a token értéke)
  • Változó neve — a változó neve, ahová Jelenlegi érték tárolva lesz. Esetünkben ez token
  • Node — melyik ősben fog létrejönni a változó Változó neve. Válasszuk a Projectet

A kitöltött párbeszédablak a következőképpen néz ki:

TestMace. Gyors kezdés

Mostantól kezdve minden egyes csomópont végrehajtásakor login a dinamikus változó token új értéket kap a válaszból. Ez a változó a Projekt csomópontban tárolódik, és a leszármazottak számára öröklődik.

A dinamikus változók eléréséhez a következőt kell használni: beépített változó $dynamicVar. Például az elmentett token eléréséhez használjuk a következőt: ${$dynamicVar.token}.

Az engedélyezési tokent a kérelmekbe

Az előző lépések során megkaptuk az engedélyezési tokent, és már csak annyit kell tennünk, hogy hozzáadjuk a Authorization fejlécet Bearer <tokenValue> minden olyan kérelmhez, ami engedélyezést igényel, beleértve a create-post. Erre több lehetőség van:

  1. Manuálisan másolja ki a tokent, és adja hozzá az érdeklődő kérelmek engedélyezési fejlécét. Ez a módszer működik, de csak az egyszeri „csinálom és kidobom” típusú kérelmekre korlátozódik. Többszöri végrehajtásra nem alkalmas.
  2. Használja az engedélyezési.
  3. Használja a alapértelmezett fejecskék

A második módszer használata nyilvánvalónak tűnik, de ezen cikk kontextusában ez a megközelítés… nem érdekes. Valóban: az engedélyezési mechanizmus kicsit már ismerős lehet más eszközökből (bár nálunk is vannak olyan dolgok, mint a engedélyezések öröklése) és valószínűleg nem okoz kérdéseket.

Más dolog az alapértelmezett fejléc! Röviden, az alapértelmezett fejléc öröklődnek az HTTP-szülőktől, amelyek alapértelmezés szerint hozzáadódnak a kéréshez, ha azokat kifejezetten nem kapcsolják ki. Ezzel a funkcióval például egyedi hitelesítést valósíthatunk meg, vagy egyszerűen megszabadulhatunk a duplikálódástól a forgatókönyvekben. Alkalmazzuk ezt a funkciót a token átvitelére a fejlécben.

Korábban elővigyázatosan elmentettük a tokent egy dinamikus változóba $dynamicVar.token a Project csomópont szintjén. Most a következő lépéseket kell tennünk:

  1. Meg kell határozni az alapértelmezett fejlécet Authorization az értékkel Bearer ${$dynamicVar.token} a Project csomópont szintjén. Ehhez a Project csomópont felületén nyissa meg az alapértelmezett fejléc párbeszédpanelt (gomb: Fejlécek a jobb felső sarokban) és adja hozzá a megfelelő fejlécet. A kitöltött értékekkel rendelkező párbeszédpanel a következőképpen fog kinézni:
    TestMace. Gyors kezdés
  2. Kapcsolja ki ezt a fejlécet a login kérésből. Ez érthető: a bejelentkezés pillanatában még nem rendelkezünk tokennel, és ezzel a kéréssel valójában be fogjuk állítani. Ezért a login kérés felületén a Fejlécek a Öröklött fában vegyük ki a pipát az Authorization fejlécből.

Ezzel végeztünk. Mostantól a hitelesítési fejléc minden olyan kéréshez hozzáadódik, amelyek a Project csomópont gyermekei, a login csomópont kivételével. Tehát ezen a ponton a forgatókönyvünk már készen áll, csak el kell indítanunk. A forgatókönyv indításához válassza a Run a Project csomópont kontextusmenüjéből.

Ellenőrizzük a közzétett bejegyzés helyességét

Ezen a ponton a forgatókönyvünk képes bejelentkezni, és a hitelesítési token használatával bejegyzést létrehozni. Azonban meg kell győződnünk arról, hogy az újonnan létrehozott bejegyzés helyes névvel rendelkezik. Vagyis lényegében a következőket kell tenni:

  • Küldjön kérést a bejegyzés ID-jának lekérdezésére,
  • Ellenőrizze, hogy a szerverről érkező név megfelel a bejegyzés létrehozásakor megadott névvel.

Nézzük az első lépést. Mivel az ID értéke a szkript végrehajtásakor határozódik meg, dinamikus változót kell létrehoznunk (nevezzük el postId) a Project csomópont szintjén. Ezt már tudjuk, csak annyit kell tennünk, hogy hozzáférünk a create-post részhez. Csak egy kérést kell létrehoznunk a bejegyzés lekérdezésére a megadott ID-vel. Ehhez hozzunk létre egy RequestStep Mentse el a tokent egy változóbaget-post a következő paraméterekkel: Kérés típusa: GET

  • URL: ${domain}/posts/${$dynamicVar.postId}
  • URL: ${domain}/posts/${$dynamicVar.postId}

A második lépés megvalósításához meg kell ismerkednünk Assertion a csomóponttal. Az Assertion csomópont lehetővé teszi, hogy ellenőrzéseket végezzünk bizonyos kérésekre. Minden Assertion csomópont tartalmazhat több állítást (ellenőrzést). További információkat az összes típusú assertion-ről a dokumentáció. Használni fogjuk Compare assertion-t az equaloperátorral. Az assertion-k létrehozásának több módja van:

  1. Hosszú. Kézi létrehozás a RequestStep csomópont kontextusmenüjéből egy Assertion csomópont létrehozásával. A létrehozott Assertion csomópontban add hozzá a kívánt assertion-t és töltsd ki a mezőket.
  2. Gyors. Létrehozható az Assertion csomópont az assertion-nal együtt a RequestStep csomópont válaszából a kontextusmenü segítségével.

A második módszert fogjuk használni. Így fog kinézni az esetünkre.

TestMace. Gyors kezdés

Aki nem értette, itt a következő történik:

  1. Kérdést küldünk a csomópontban, a következő paraméterekkel:
  2. A Parsed a válasznál megnyitjuk a kontextusmenüt és kiválasztjuk Create assertion -> Compare -> Equal

Gratulálok, elkészítettük az első tesztet! Egyszerű, ugye? Most már teljes mértékben futtathatod a szkriptet és élvezheted az eredményt. Csak egy kicsit át kell alakítanod és külön változóba kell helyezned title . De ezt házi feladatnak hagyjuk nektek :)

Zárás

Ebben az útmutatóban teljes forgatókönyvet hoztunk létre, és egyben áttekintettük a termékünk néhány funkcióját. Természetesen nem használtuk ki az összes funkciót, és a következő cikkekben részletesen bemutatjuk a TestMace lehetőségeit. Kövessétek a frissítéseket!

P.S. Aki lustálkodna az összes lépés reprodukálásával, kedvesen létrehoztuk tárhely a cikkben szereplő projekttel. Ezt az Fájl -> Open project opció segítségével nyithatjátok meg, és válasszátok a Project mappát.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster