2017-03-22 3 views
1

Je souhaite extraire des valeurs des en-têtes de réponse et les stocker en tant que chaînes et éventuellement faire des assertions avec certaines valeurs. De l'en-tête de réponse suivant je veux extraire * Set-Cookie: id = xxxxxx-xxxxxxx-xxxxxx; et stockez-le. J'utilise Rest Assured. Merci!Comment extraire des valeurs des en-têtes de réponse et faire des assertions à l'aide de Rest Assured?

têtes de réponse * Cache-Control: no-cache, pas de magasin, doit-revalider * Connexion: keep-alive * Content-Length: 108 * Content-Type: image/png * Date: Mer, 22 mars 2017 13:19:51 GMT * Expire: 0 * Pragma: no-cache * serveur: nginx/1.4.6 (Ubuntu) * Set-Cookie: AWSELB = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; PATH = /; DOMAIN = .xxxx.xxxxx.com; MAX-AGE = 3600; VERSION = 1 * Set-Cookie: id = xxxxxx-xxxxxxx-xxxxxx; Version = 1; Chemin = /; Domaine = .xxxx.xxxxx.com; Max-Age = 157680000 * Set-Cookie: Session = xxxx-xxxxxx-xxxxxx-xxxxx; Version = 1; Chemin = /; Domaine = .xxxxx.xxxxxx.com; Max-âge = 3600 * X-Powered-By: Xxxxxxxx/1 * X-Robots-Tag: noindex, nofollow

Répondre

0

légèrement adapté de la doc: https://github.com/rest-assured/rest-assured/wiki/Usage#headers-cookies-status-etc

Cookies

Pour obtenir toutes les valeurs d'un cookie dont vous avez besoin pour obtenir l'objet Cookies de l'objet Response. Dans l'occurrence Cookies, vous pouvez obtenir toutes les valeurs à l'aide de la méthode Cookies.getValues ​​() qui renvoie une liste avec toutes les valeurs de cookie.

valeurs simples comme chaîne:

import io.restassured.http.Cookie; 
import io.restassured.http.Cookies; 
import io.restassured.response.Response; 

Map<String, String> allCookies = get("https://www.stackoverflow.com").getCookies(); 

List<String> myCookieValues = allCookies.getValues("myCookieName"); 

Pour obtenir tous les champs de biscuits, cookies doivent être détaillés:

Cookies allDetailedCookies = get("https://www.stackoverflow.com").getDetailedCookies(); 

Cookie myCookie = allDetailedCookies.get("myCookieName"); 
myCookie.getValue(); 
myCookie.getDomain(); 
myCookie.getExpiryDate(); 
myCookie.getMaxAge(); 
... 

Si plusieurs cookies Précieuses:

List<Cookie> myCookies = allDetailedCookies.getList("myCookieNAme"); 

Vous pouvez affirmer sur cookie avec des allumettes hamcrest:

import static io.restassured.RestAssured.when; 
import static org.hamcrest.Matchers.hasValue; 

when() 
    .get("https://www.stackoverflow.com"). 
then() 
    .cookie("myCookieName", hasValue("value")); 

Doc recommande importations en provenance de:

io.restassured.RestAssured.* 
io.restassured.matcher.RestAssuredMatchers.* 
org.hamcrest.Matchers.*