Cookies 如何从响应头中提取值并使用Rest Assured进行资产配置?

Cookies 如何从响应头中提取值并使用Rest Assured进行资产配置?,cookies,response,setcookie,rest-assured,response-headers,Cookies,Response,Setcookie,Rest Assured,Response Headers,我想从响应头中提取值,并将它们存储为字符串,最终使用某些值进行断言。我想从下面的响应头中提取*Set Cookie:id=xxxxxx-xxxxxxx-xxxxxx;然后把它储存起来。我用的是放心。谢谢 响应头 *缓存控制:没有缓存,没有存储,必须重新验证 *连接:保持活力 *内容长度:108 *内容类型:图像/png *日期:2017年3月22日星期三13:19:51 GMT *过期日期:0 *Pragma:没有缓存 *服务器:nginx/1.4.6(Ubuntu) *设置Cookie:AWS

我想从响应头中提取值,并将它们存储为字符串,最终使用某些值进行断言。我想从下面的响应头中提取*Set Cookie:id=xxxxxx-xxxxxxx-xxxxxx;然后把它储存起来。我用的是放心。谢谢

响应头 *缓存控制:没有缓存,没有存储,必须重新验证 *连接:保持活力 *内容长度:108 *内容类型:图像/png *日期:2017年3月22日星期三13:19:51 GMT *过期日期:0 *Pragma:没有缓存 *服务器:nginx/1.4.6(Ubuntu) *设置Cookie:AWSELB=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;路径=/;域=.xxxx.xxxxx.com;最大年龄=3600岁;版本=1 *设置Cookie:id=xxxxxx-xxxxxx-xxxxxx;版本=1;路径=/;域=.xxxx.xxxxx.com;最大年龄=157680000 *设置Cookie:Session=xxxx-xxxxxx-xxxxxx-xxxxx;版本=1;路径=/;域=.xxxxx.xxxxxx.com;最大年龄=3600岁 *X电源:Xxxxxxxx/1
*X-Robots-Tag:noindex,nofollow

略微改编自文件:

Cookies

要获取cookie的所有值,首先需要从响应对象获取Cookies对象。从Cookies实例中,您可以使用Cookies.getValues()方法获取所有值,该方法返回包含所有cookie值的列表

字符串形式的简单值:

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");
如果是多值cookie:

List<Cookie> myCookies = allDetailedCookies.getList("myCookieNAme");
Doc建议从以下地点进口:

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

when()
    .get("https://www.stackoverflow.com").
then()
    .cookie("myCookieName", hasValue("value"));
io.restassured.RestAssured.*
io.restassured.matcher.RestAssuredMatchers.*
org.hamcrest.Matchers.*