IDEA 自带的REST Client使用

打开方式IDEA操作

打开rest client的路径.png

打开如下所示:
接口测试位置.png

点击下图所示:
进入*.http文件入口.png

或者自动创建XXX.http文件

环境变量

环境变量在环境文件中定义的,文件定义在与 .http 文件相同目录下,文件可以是 : rest-client.env.json 或者 http-client.env.json, rest-client.private.env.json 或者 http-client.private.env.json。

rest-client.env.json 或者 http-client.env.json 表示这个文件是包含普通的变量,并把里面的变量分发到项目中。

rest-client.private.env.json 或者 http-client.private.env.json 表示该文件是一个私人的文件,可能包括密码,令牌,证书和其他敏感信息。默认情况下,此文件被添加到 VCS 忽略文件列表中。在 http-client.private.env.json 文件中指定的变量的值将覆盖环境文件中的值。

变量调用的时候使用:{{变量名}}

eg:


变量配置文件及*.http文件.png

打开http-client.env.json:

{
  "test":{
    "baseurl": "http://127.0.0.1",
    "username": "wangxy",
    "password": "1234qwer",
    "loginType": "account"
  },
  "local": {
    "baseurl": "http://localhost:8888",
    "username": "wangxy",
    "password": "1234qwer",
    "loginType": "account"
  }
}

使用的时候如下:

POST {{baseurl}}/api/login?loginType={{loginType}}&username={{username}}&password={{username}}
Content-Type: application/json;charset=UTF-8

> {%
client.global.set("Authentication", response.body.data.token);
client.log(response.body.data.token);
  %}

其中baseurlloginTypeusernameusername都是环境配置中的变量。

运行的时候选择test环境还是local环境,对应着http-client.env.json里面的test和local配置

选择运行环境.png

.http文件的一些简单语法:

  • 注释 : // 或者 #
  • 使用三个#号分割 request 请求 : ###

脚本的使用:

以 > 开头,然后把脚本包装在 {%%} 里面。
eg:

POST {{baseurl}}/api/login?loginType={{loginType}}&username={{username}}&password={{password}}
Content-Type: application/json;charset=UTF-8

> {%
// 设置选中环境的全局变量
client.global.set("Authentication", response.body.data.token);
// 输出日志
client.log(response.body.data.token + "....");
// 添加断言
client.test("Request executed successfully", function() {
    client.assert(response.status === 200, "Response status is not 200");
});
  %}

存储变量

通过 client.global.set 存储全局变量,通过 client.global.get 获取变量。可以通过 client 对象在内存中存储数据,可以保留到 idea 关闭之前。

client.global.set("Authentication", response.body.data.token);

可以通过变量获取值:

###
POST {{baseurl}}/api/test
Accept: application/json
Content-Type: multipart/form-data; charset=UTF-8; boundary=WebAppBoundary
Authentication:{{Authentication}}

其中Authentication 为上述脚本中存储的全局变量Authentication

那么在一处存储了变量, 就可以在其他地方调用了,非常适合处理 token,就有点像浏览器登录了。

请求记录结果:

请求结果一般存储在该项目的 .idea 目录下的 httpRequests 目录里面的 http-requests-log.http 文件中,如下 :


结果json查询位置.png

查看返回结果 json 通过 ctrl + 鼠标左键进入返回的 json 详情。

同一文件内多测试用例一起执行:

批量执行测试位置.png

点击途中的Run All Requests in File然后选择要运行的环境即可执行该.http文件内的所有测试用例。

你可能感兴趣的:(IDEA 自带的REST Client使用)