介绍
支持组合、执行和存储HTTP请求。它可以用于测试RESTful Web服务,可以发送multipart/form-data请求或者只执行http请求。如果你在你的idea里面没有找到这个插件。说明你的idea版本太低了。
如何创建文件
你可以直接在idea代码编辑器里面直接来测试你的RESTful web服务。创建这样的文件。
你可以创建临时文件,也可以创建物理文件。也可以使用(选择Refactor或者Move菜单,按F6按钮)把临时文件变为物理文件。当然这里推荐使用物理文件。如果是临时文件那只有你本机有,其他同事想要测试你的接口,还需要自己在写一个文件。
组合请求
你可以在一个文件里面,组合多个请求。这样你可以对一个接口列举各种不同场景,每个场景写一个请求,下次有代码修改回归的时候,可以直接一个一个的测试了。
可以使用模板来快速创建get/post请求。
使用gtr来快速创建get请求。
GET http://localhost:80/api/item
Accept: application/json
###
使用gtrp来快速创建get带参数请求。
GET http://localhost:80/api/item?id=99
Accept: application/json
###
使用mptr来快速创建multipart/form-data
的POST请求。
POST http://localhost:80/api/item
Content-Type: multipart/form-data; boundary=WebAppBoundary
--WebAppBoundary
Content-Disposition: form-data; name="field-name"
field-value
--WebAppBoundary--
###
使用fptr来快速创建上传文件请求。
POST http://localhost:80/api/item
Content-Type: multipart/form-data; boundary=WebAppBoundary
--WebAppBoundary
Content-Disposition: form-data; name="field-name" filename="file.txt"
< ./relative/path/to/local_file.txt
--WebAppBoundary--
###
使用ptr来快速创建简单的post请求
POST http://localhost:80/api/item
Content-Type: application/json
{}
###
使用ptrp来快速创建post请求
POST http://localhost:80/api/item
Content-Type: application/x-www-form-urlencoded
id=99&content=new-element
###
设置环境变量
你可能需要区分不同的环境,测试环境一个地址,开发环境又是一个地址,还有不同环境有些变量也不同,那么如何来满足这个需求呢?http client也支持使用环境变量。你可以使用类似{{host}}这样的占位符,设置了变量之后,你可以在执行请求的时候选择环境。如图
需要在项目中创建http-client.env.json文件。文件里面的内容为:
{
"development": {
"host": "127.0.0.1:8090",
"authorization": ""
},
"test": {
"host": "127.0.0.1:8011",
"authorization": ""
},
"yace": {
"host": "127.0.0.1:8099",
"authorization": ""
}
}
可以创建http-client.private.env.json文件,来设置一些隐式数据,如用户名、密码等
{
"development": {
"username": "dev-user",
"password": "dev-password"
},
"test": {
"username": "user",
"password": "password"
}
}
设置变量的示例:
GET http://{{host}}/api/item?id=99&token={{authorization}}
Accept: application/json
###
用脚本处理返回值
这里可以使用一些脚本来对返回值进行特殊处理,比如比较结果等。可以直接把脚本写到方法体里面,也可以引入js文件。
GET http://localhost:80/api/test
> {%
// Response Handler Script
...
%}
引入文件
GET http://localhost:80/api/test
> scripts/my-script.js
返回值脚本是使用 ECMAScript 5.1编写的。你需要启动 HTTP Response Handler
类库。打开my-script.js,在菜单中选择Use JavaScript Library 或者 HTTP Response Handler。
具体示例:
GET https://localhost:80/status/200
> {%
client.test("Request executed successfully", function() {
client.assert(response.status === 200, "Response status is not 200");
});
%}
执行http请求
点击每个请求左侧按钮,如图
选择好相应的环境之后,就会执行这个http请求。执行过一次之后,可以在工具类上面直接看到,后面直接在这里执行就可以了。
执行完之后可以在这里看到结果:
使用ctrl+左键 点击url,可以在浏览器中打开这个地址。
执行历史结果
每次执行都会存历史执行结果,会在.idea/httpRequests/下面生成历史文件。
可以对历史执行结果进行比较,选择两个文件,按快捷键ctrl+D,查看文件之间的不同。
查看历史请求
idea会保留最近50个执行请求,他们都被存储在.idea/httpRequests/下面,在http-requests-log.http会存在50个执行,你可以看到之前的执行请求。你也可以在这个文件里面执行之前的请求。
注意:本文归作者所有,未经作者允许,不得转载