开启第一个rest-assuredDemo实现之前我们先了解一下rest-assured方法:
a.response常用方法:
response.asString()--获取请求返回内容体
response.response.getContentType()--获取响应的内容类型
response.getStatusCode()--获取响应的状态代码
response.getHeaders()--获取所有响应头信息
response.getHeader(String name)-- 根据指定的header名称,获取对应的响应信息
response.getCookie(String name)-- 根据指定的cookie名称,获取对应cookie的值
response.getCookies()--获取所有cookies信息response.getTime()--响应时间(单位:毫秒)
b.获取节点一些节点验证方法:
1.response.then().body("returncode", equalTo(0));--return code是否等于0
2.response.getBody().prettyPrint();//格式化打印JSON数据
3.given().param("p1", "0").param("p2", "1").get("www.baidu.com");-URL参数化(拼接成www.baidu.com/p1=0&p2=1);
4.when().get("www.baidu.com/p1=0&p2=1").then().time(lessThan(100L),TimeUnit.MILLISECONDS);//判断响应时间是否少于预期值。
5.assured断言数据处理:get("/lotto").then().body("lotto.lottoId", equalTo(5)); 这个判断lotto下面的lotto.lottoId节点是否是5Assert.assertEquals(bmessage, "海报");---预期和实际值是否一致get("/lotto").then().body("lotto.winners.winnerId", hasItems(23, 54)); /lotto下面lotto.winners.winnerId值是否包含23,54
6.given().param("name","clq").then().statusCode(200).body("id", equalTo(2),"content", containsString("Hello").when().get("/greeting");(参数name,当我发送get请求之后,那么你给我返回响应码200,并且id=2,content为hello)。
7.rdposturl.startsWith("https://rdx")-确定此字符串实例的开头是否与指定的字符串匹配.
8. rdposturl.endsWith(".jpg")-确定此字符串实例的末尾是否是.jpg图片
9. JsonPath yloan = get(yurl).getBody().jsonPath().setRoot("result");-获取整个节点的数据
10.response.getBody().jsonPath().getString("returncode")--获取某一个节点的值(如:return code)
11. get(url).then().assertThat().statusCode(200);--判断url返回的code码是否为200等等
12. Assert.assertNotNull(res.getBody().jsonPath().getString("result.orderguid"));Assert.assertNotNull(res.getBody().jsonPath().get("result.orderno"));(/以上两个是判断断言下面值不能为空)
13.privateLogger logger = LoggerFactory.getLogger(AskDealersPricePvid.class);--打印错误log日志方法
14. List<String> titles = jsonPath.getList("topics.title")-获取所有列表标题信息;
---------------------原文:https://blog.csdn.net/Jack_Chen3/article/details/79322500