博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RestAssured接口自动化从入门到框架搭建-10-RestAssured获取响应头和Cookies
阅读量:4302 次
发布时间:2019-05-27

本文共 2556 字,大约阅读时间需要 8 分钟。

这篇来学习下Rest Assured中如何获取响应头和cookies,前面某一篇,我们介绍过如何拿到 响应内容,再做其他操作这条用例,本篇就是在拿到响应内容基础上,再获取headers 和cookies。

 

1.获取Headers

/**	 * 得到响应头	 */	@Test	public void testGetResponseHeaders() {		Response res = get("http://jsonplaceholder.typicode.com/photos");		// 得到一个响应header中字段		String headerCFRAY = res.getHeader("CF-RAY");		System.out.println("CF-RAY: " + headerCFRAY);				// 得到全部的headers		Headers headers = res.getHeaders();		for (Header h : headers) {			System.out.println(h.getName() + ":" + h.getValue());		}	}

运行结果

[RemoteTestNG] detected TestNG version 6.14.3CF-RAY: 4fb6dafa2a0532e1-HKGDate:Wed, 24 Jul 2019 15:16:27 GMTContent-Type:application/json; charset=utf-8Transfer-Encoding:chunkedConnection:keep-aliveSet-Cookie:__cfduid=dc375e91c76ca96482f7d7e07e691fbc01563981387; expires=Thu, 23-Jul-20 15:16:27 GMT; path=/; domain=.typicode.com; HttpOnlyX-Powered-By:ExpressVary:Origin, Accept-EncodingAccess-Control-Allow-Credentials:trueCache-Control:public, max-age=14400Pragma:no-cacheExpires:Wed, 24 Jul 2019 19:16:27 GMTX-Content-Type-Options:nosniffEtag:W/"105970-HCYFejK2YCxztz8++2rHnutkPOQ"Content-Encoding:gzipVia:1.1 vegurCF-Cache-Status:HITAge:445Server:cloudflareCF-RAY:4fb6dafa2a0532e1-HKGPASSED: testGetResponseHeaders

这个很简单,获取某一个需要Key来获取value,冒号左边就是key,右边就是value,获取多个就是要foreach 集合遍历就行。

 

2.获取cookies

再来一个cookies的获取的例子。

我们手动在浏览器打开

浏览器自带F12工具去看看请求头中的cookies

上面这个只有一个cookies,我们来看看代码如何拿到这个cookies.

/**	 * 得到cookies	 */	@Test	public void getCookies() {		Response res = get("http://jsonplaceholder.typicode.com/photos");		Map
cookies = res.getCookies(); //遍历集合,拿到每一个cookies for (Map.Entry
entry : cookies.entrySet()) { System.out.println(entry.getKey() + ":" + entry.getValue()); } }

运行结果

[RemoteTestNG] detected TestNG version 6.14.3__cfduid:d5e86b93acfb5c8e74246613aae27d9231564154045PASSED: getCookies

这个每次请求的cookies都不一样,和上面红圈的格式是一样的。

 

3.得到cookies的详细信息

我们还可以得到cookies的详细信息,例如过期时间等,前提是要根据cookie的key去拿到这个cookie的详细信息。

/**	 * 得到cookies详细信息	 */	@Test	public void getCookiesDetailsInfo() {		Response res = get("http://jsonplaceholder.typicode.com/photos");				//得到一个详细cookies对象		Cookie c = res.getDetailedCookie("__cfduid");		System.out.println("判断这个cookies是否有过期时间设定: " + c.hasExpiryDate());		System.out.println("打印cookies的过期时间: " + c.getExpiryDate());		System.out.println("判断是否值: " + c.hasValue());	}

得到

[RemoteTestNG] detected TestNG version 6.14.3判断这个cookies是否有过期时间设定: true打印cookies的过期时间: Sat Jul 25 23:21:38 CST 2020判断是否值: truePASSED: getCookiesDetailsInfo

关于cookies的详细信息,还有一些方法自己可以在上面代码c. 后面弹出的方法补全,看看这些方法的作用。上面我只是介绍了三种方法。

转载地址:http://ejows.baihongyu.com/

你可能感兴趣的文章
高频交易的几种策略
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>
量化策略回测DCCV2
查看>>
mongodb查询优化
查看>>
五步git操作搞定Github中fork的项目与原作者同步
查看>>
git 删除远程分支
查看>>
删远端分支报错remote refs do not exist或git: refusing to delete the current branch解决方法
查看>>
python multiprocessing遇到Can’t pickle instancemethod问题
查看>>
APP真机测试及发布
查看>>
iOS学习之 plist文件的读写
查看>>
通知机制 (Notifications)
查看>>
10 Things You Need To Know About Cocoa Auto Layout
查看>>
C指针声明解读之左右法则
查看>>
一个异步网络请求的坑:关于NSURLConnection和NSRunLoopCommonModes
查看>>
iOS 如何放大按钮点击热区
查看>>
ios设备唯一标识获取策略
查看>>