Fejlécek, cookie-k és paraméterek REST-biztosítással
1. Áttekintés
Ebben a gyors bemutatóban néhány REST által biztosított speciális forgatókönyvet tárunk fel. Korábban a REST-assured című cikket tanulmányoztuk a Guide to REST-assured című útmutatóban.
Folytatni, bemutatunk példákat, amelyek bemutatják, hogyan állíthatunk be fejléceket, cookie-kat és paramétereket a kéréseinkhez.
A beállítás megegyezik az előző cikkel, ezért merüljünk el példáinkban.
2. Paraméterek beállítása
Most beszéljük meg, hogyan adhatunk meg különböző paramétereket a kérésünknek - kezdve az útvonal-paraméterekkel.
2.1. Útvonal-paraméterek
Tudjuk használni pathParam (paraméter-név, érték) elérési út paraméter megadásához:
@Test public void whenUsePathParam_thenOK () {given (). PathParam ("user", "eugenp") .when (). Get ("/ users / {user} / repos") .then (). StatusCode (200); }
Több útvonal-paraméter hozzáadásához a pathParams () módszer:
@Test public void whenUseMultiplePathParam_thenOK () {megadott (). PathParams ("tulajdonos", "eugenp", "repo", "oktatóanyagok"). Amikor (). Get ("/ repos / {tulajdonos} / {repo}") .ma (). statusCode (200); adott (). pathParams ("tulajdonos", "eugenp"). mikor (). get ("/ repos / {tulajdonos} / {repo}", "oktatóanyagok"). akkor (). statusCode (200); }
Ebben a példában megnevezett útvonal-paramétereket használtunk, de név nélküli paramétereket is felvehetünk, sőt kombinálhatjuk a kettőt:
adott (). pathParams ("tulajdonos", "eugenp"). mikor (). get ("/ repos / {tulajdonos} / {repo}", "oktatóanyagok"). akkor (). statusCode (200);
A kapott URL ebben az esetben a //api.github.com/repos/eugenp/tutorials.
Vegye figyelembe, hogy a meg nem nevezett paraméterek indexalapúak.
2.2. Lekérdezési paraméterek
Ezután nézzük meg, hogyan adhatjuk meg a lekérdezési paramétereket a segítségével queryParam ():
@Test public void whenUseQueryParam_thenOK () {given (). QueryParam ("q", "john"). When (). Get ("/ search / users") .then (). StatusCode (200); adott (). param ("q", "john"). mikor (). get ("/ keresés / felhasználók"). akkor (). statusCode (200); }
A param () módszer úgy fog működni queryParam () a GET kérésekkel.
Több lekérdezési paraméter hozzáadásához akár kettőt is láncolhatunk queryParam () módszereket, vagy adja hozzá a paramétereket a queryParams () módszer:
@Test public void whenUseMultipleQueryParam_thenOK () {int perPage = 20; adott (). queryParam ("q", "john"). queryParam ("per_page", perPage) .when (). get ("/ search / users") .then (). body ("items.size () ", van (perPage)); adott (). queryParams ("q", "john", "per_page", perPage). amikor (). get ("/ search / users"). majd (). body ("items.size ()", az (oldalanként)); }
2.3. Űrlapparaméterek
Végül megadhatjuk az űrlapparamétereket a segítségével formParam ():
@Test public void whenUseFormParam_thenSuccess () {megadott (). FormParams ("felhasználónév", "john", "jelszó", "1234"). Post ("/"); adott (). params ("felhasználónév", "john", "jelszó", "1234"). post ("/"); }
A param () módszer cselekszik az élet formParam () POST kérésekhez.
Vegye figyelembe azt is formParam () hozzáteszi a Tartalom típus fejléc „application / x-www-form-urlencoded“.
3. Fejlécek beállítása
Következő, segítségével testreszabhatjuk a kérés fejlécünket fejléc():
@Test public void whenUseCustomHeader_thenOK () {given (). Header ("User-Agent", "MyAppName"). When (). Get ("/ users / eugenp") .then (). StatusCode (200); }
Ebben a példában használtuk fejléc() beállítani a User-Agent fejléc.
Felvehetünk több értékű fejlécet is ugyanazzal a módszerrel:
@Test public void whenUseMultipleHeaderValues_thenOK () {given (). Header ("My-Header", "val1", "val2") .when (). Get ("/ users / eugenp") .then (). StatusCode (200) ); }
Ebben a példában két fejlécet fogunk kérni: My-Header: val1 és My-Header: val2.
Több fejléc hozzáadásához a fejlécek () módszer:
@Test public void whenUseMultipleHeaders_thenOK () {given (). Header ("User-Agent", "MyAppName", "Accept-Charset", "utf-8") .when (). Get ("/ users / eugenp") .ma (). statusCode (200); }
4. Cookie-k hozzáadása
Kérésünkre egyedi sütiket is megadhatunk a aprósütemény():
@Test public void whenUseCookie_thenOK () {given (). Cookie ("session_id", "1234"). When (). Get ("/ users / eugenp") .then (). StatusCode (200); }
A cookie-t testreszabhatjuk a cookie segítségével Építész:
@Test public void whenUseCookieBuilder_thenOK () {Cookie myCookie = new Cookie.Builder ("session_id", "1234") .setSecured (true) .setComment ("session id cookie") .build (); adott (). süti (myCookie). amikor (). get ("/ users / eugenp") .then (). statusCode (200); }
5. Következtetés
Ebben a cikkben bemutattuk, hogyan adhatjuk meg a kérési paramétereket, a fejléceket és a sütiket a REST-assured használatakor.
És mint mindig, a példák teljes forráskódja elérhető a GitHubon.