a) 新建一个 maven 项目

b) 在 pom.xml 添加相关依赖

<!--Rest assured依赖包-->
<dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <version>3.0.1</version>
      <scope>test</scope><!--会发现我们自己建的类无法使用是因为设置了只在测试时使用用于编译和运行测试代码不会随项目发布删除<scope>后所有类都可使用-->
</dependency>
<!--独立Json path依赖包-->
<dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>json-path</artifactId>
      <version>3.0.1</version>
</dependency>
<!--独立的Xml path依赖包-->
<dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>xml-path</artifactId>
      <version>3.0.1</version>
</dependency>

c) 新建一个测试类:

在类中引入相关 rest-assured 包:

import static io.restassured.RestAssured.*

官方建使用静态引入相关包,如果非静态方式引入,get()方法就会提示不存在,让你创建些方法。

d) 了解一些常用的请求设置

cookies(“name”,”testerhome”,”password”,”123456”,……)

cookie(“name”,”testerhome”).and().cookie(“password”,”123456”)

proxy("192.168.221.190",80)

Map<String, String> parameters = new HashMap<String, String>();
            parameters.put("pm", "2");
            parameters.put("a", "2");
            parameters(parameters);
parameters (parameters )

param("username", "John").and().param("password", "1234").

Header first = new Header("username", "testerhome");
header(first)`

headers("username", "testerhome", "username1", "testerhome1")

e) 试着发起一个接口请求:

String url = "http://platform.app.autohome.com.cn/platform_v7.5.0/api/opt/propaganda";
    //设置入参
    Map<String, String> parameters = new HashMap<String, String>();
    parameters.put("pm", "2");
    parameters.put("a", "2");
    parameters.put("v", "7.6.0");
    parameters.put("deviceid", "7b64fb2877cbb15900b670886ea3f71488899c90");
 parameters.put("cityid", "110100");         
//设置url请求头
Header first = new Header("username", "xushizhao");
    Response response = given().proxy("192.168.221.190",80)
                .parameters(parameters)
                .header(first)
                .get(url);
//查看请求正文
System.out.println(response.asString());

f) 再了解一下 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() 响应时间 (单位:毫秒)

rest-assured 的代码相对来说简洁明了,而且还提供了相应的断言机制json 验证以及封装了相关jsonpathxmlpath,使接口测试更加方便快捷,对接口测试感兴趣的小伙们可以试试~

相关使用我们会持续更新,欢迎大家一起来分享 rest-assured 相关知识,一起构造rest-assured相关节点~


↙↙↙阅读原文可查看相关链接,并与作者交流