
RestAssured学习(二)


<<<My Auto Studying Plan>>>
Vol
RestFul Assured
继assured(一)我们已经学习了一个最小的demo了,很多小伙伴看到这个框架是java后内心都比较恐怖+害怕。也常听人说“人生短暂,我学python”,不过在这个“卷王”霸世的环境里,只能说:多学有益,并且有小提莫一步一步带着实现,你说你怕啥呢?
一、提取封装Cookie
前言:因为上个demo-Cookie并没动态获取关联认证。并且根据惯例,我们接口都是需要携带cookie,所以提取这一步,必不可少哦,话不多说我们直接上代码
package common;import org.hamcrest.core.IsEqual;import static io.restassured.RestAssured.given;/*** @Project : teemoRestful* @File : TeemoConfig.java* @IDE : IntelliJ IDEA* @Author jelly的小蜗牛🐌🐌🐌* @Date 2021/7/26 10:04 上午**/public class TeemoConfig {private static String cookie;public static String getCookie() {if (cookie == null) {String url = "http://39.105.34.24:8080/apis/login";String body = "{\"userName\": \"admin\", \"password\": \"123456\"}";cookie = given().contentType("application/json").body(body).post(url).then().statusCode(200) //断言状态码是否等于200.body("success", IsEqual.equalTo(true)) //断言body里面的success是否等于true.extract().response().getCookie("JSESSIONID");cookie = "JSESSIONID" + "=" + cookie;}return cookie;}public static void main(String[] args) {System.out.println(TeemoConfig.getCookie().hashCode());System.out.println(TeemoConfig.getCookie().hashCode());/*** 输出* 741312491* 741312491*/}}
二、Cookie的使用
我们已经封装好了cookie,并且测试后没啥大毛病,那接下来我们就康康如何正确的使用它
import common.TeemoConfig;import org.testng.annotations.Test;import static io.restassured.RestAssured.*;public class RestDemo {@Testpublic void testLogin(){//接口urlString url = "http://39.105.34.24:8080/apis/login";//接口请求体String body = "{\"userName\":\"admin\",\"password\":\"123456\"}";given().log().all().contentType("application/json").body(body).post(url).then().log().all().statusCode(200);}@Testpublic void testGet(){String url = "http://39.105.34.24:8080/apis/task/1?taskName=&isParallel=";given().log().all().contentType("application/json").header("Cookie", "JSESSIONID=3D68194C785221F6E39ECB699C970791").get(url).then().log().all().statusCode(200);}/*** 使用封装好的cookie发送请求*/@Testpublic void testGetOne(){String url = "http://39.105.34.24:8080/apis/task/1?taskName=&isParallel=";given().log().all().contentType("application/json").header("Cookie", TeemoConfig.getCookie()).get(url).then().log().all().statusCode(200);}}
结果如下:

三、新增的pom依赖
<dependencies><dependency><groupId>io.rest-assured</groupId><artifactId>rest-assured</artifactId><version>3.2.0</version><scope>test</scope></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.10</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version><scope>compile</scope></dependency><dependency><groupId>io.rest-assured</groupId><artifactId>rest-assured</artifactId><version>4.1.1</version><scope>compile</scope></dependency></dependencies>
想玩的小伙伴,记得pom依赖要同步哦,不然项目可能会跑不起来
后续还会持续更新进一步封装,目前已有封装框架地址在下方
https://gitee.com/ronin-jelly/rest-assured喜欢的小伙伴请点个star哈
本文重点
重点:提取封装Cookie
难点:需要懂Java语言
本系列重点
1、Rest-Assured实现接口自动化
2、支持各种模版引擎:支持解析yml、json、har,优雅的实现基于http的接口自动化
Study Hard
And Make Progress Every Day


/
关
注
我
们
/

/ 微信号 ya1kaikai/
文章转载自迅捷小莫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




