RestAssured接口自动化从入门到框架搭建-13-响应断言-状态码/Header/ContentType

这篇开始来学习下响应中的校验,断言场景,主要有状态码,响应Header断言,响应content type断言和响应正文内容断言。其中响应正文内容断言是最难也是最复杂,接口的响应数据就在正文。

 

1.状态码断言

        /**
	 * 状态码断言
	 */
	@Test
	public void testStatusInResponse() {
    	
    	given().get("http://jsonplaceholder.typicode.com/photos/").then().assertThat().statusCode(200).log().all();
    	given().get("http://jsonplaceholder.typicode.com/photos/").then().assertThat().statusLine("HTTP/1.1 200 OK");
    	given().get("http://jsonplaceholder.typicode.com/photos/").then().assertThat().statusLine(containsString("OK"));
		
	}

上面第一个用例是状态码断言,是不是200,然后打印响应内容。第二个用例是响应消息中的响应起始行内容行断言,这个在HTTP协议基础系列文章有介绍过。第三个用例是在响应起始行内容行中部分字符串包含断言。

 

2.响应header断言

响应头断言场景

上面红圈可以分别一个一个Header去断言,可以可以多个Headers一起断言。

        /**
	 * header断言
	 */
	@Test
	public void testResponseHeader() {
		given().
			get("http://jsonplaceholder.typicode.com/photos").
		then().
			assertThat().header("X-Powered-By","Express");
		
		given().
			get("http://jsonplaceholder.typicode.com/photos").
		then().
			assertThat().headers("Vary","Origin, Accept-Encoding","Content-Type", containsString("json"));
	}

上面两个case,第一个是只断言一个Header,key是X-Powered-By,value是Express。

第二个用例是断言了两个Header,第一个是Vary和它的value是不是Origin, Accept-Encoding,第二个Content-Type中包含字符串json。

 

3.响应Content Type断言

Content Type常见的三种HTML XML和JSON,这个我们在基本功能文章中介绍过,这里复习一下。

        /**
	 * Content-type断言
	 */
	@Test
	public void testContentTypeInResponse() {
		given().
			get("http://jsonplaceholder.typicode.com/photos").
		then().
			assertThat().contentType(ContentType.JSON);
	}

 

4.正文文本断言

有时候我们需要对正文文本断言,可以是全部的text,也可以是其中一部分text,下面来举例一个全部text,有一个这个响应内容是xml,text内容不多,我们就直接全部text去断言。

        /**
	 * 响应正文 文本断言
	 */
	@Test
	public void testBodyTextInResponse() {
		String responseString = get("http://www.thomas-bayer.com/sqlrest/CUSTOMER/02/").asString();
		given().get("http://www.thomas-bayer.com/sqlrest/CUSTOMER/02/").
			then().assertThat().body(equalTo(responseString));
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值