idea测试篇http工具的使用

Idea-Http-Test-Util介绍

在intellij idea2017.3版本中,增加了一个类VS Code的Rest-client的工具,通过这个工具我们可以完成绝大部分http请求,是一个不错的post-man替代工具,接下来详细讲讲它如何简化你的操作。

请求示例

所有HTTP请求需要在后缀为.http的文件中进行,新建一个test.http文件。基本格式为:

request
请求类型(如:GET, POST,PUT) + 请求地址(http:\\www.baidu.com) 请求头 ... 请求体

写完以后,点击左侧三角符号,即可完成测试。

GET请求

request
#### 一般GET请求 GET http://www.baidu.com?hi=hello Accept: application/json ### 带状态的GET请求 GET http://127.0.0.1:9085/api/item/list Cookie: JessionId=TG4OKFVOZP6A9ML4 Authorization: Bearer TG4OKFVOZP6A9ML4

POST请求

request
### 带body体的POST请求 POST http://127.0.0.1:9085/login Content-Type: application/json { "username":"zhangsan", "password":"123456" } ### 模仿form表单POST请求 POST http://127.0.0.1:9085/login Content-Type: application/x-www-form-urlencoded username=zhangsan&password=123 ### POST请求上传多类型 POST http://127.0.0.1:9085/upload Content-Type: multipart/form-data; boundary=WebAppBoundary ### text域 --WebAppBoundary Content-Disposition: form-data; name="element-name" Content-Type: text/plain username=zhangsan ### json文件域 --WebAppBoundary Content-Disposition: form-data; name="data"; filename="data.json" Content-Type: application/json < ./data.json

快捷键介绍

同样有内置快捷键帮你简化这些操作,内置的快捷键需要版本2018 +,2017.3版本的同样也可以在live templates设置中手写快捷键,下面简单说下这几个快捷键。

  • gtr:创建一个普通的GET请求,通过tab键一步一步填写即可。
    request
    GET http://localhost:80/api/item Accept: application/json ###
  • gtrp:功能与gtr一致,在此基础上增加了一个参数的位置。
    request
    GET http://localhost:80/api/item?id=99 Accept: application/json ###
  • ptr:创建一个普通的POST请求,内置地址、请求头、json体。
    request
    POST http://localhost:80/api/item Content-Type: application/json {} ###
  • ptrp:与ptr基本一致,唯一不同的就是json体,这里使用了键值对参数。
    request
    POST http://localhost:80/api/item Content-Type: application/x-www-form-urlencoded id=99&content=new-element
  • mptr:多类型POST请求,内置地址、请求头、一种请求体类型(form-data)
    request
    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请求,样式与mptr基本一致,将请求类型换成了文件
    request
    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-- ###

变量机制

这项功能能帮你省很多力气,比如现在你已经完成了很多测试接口的书写,在测试环境需要切换所有写好的接口测试地址的域名,这个时候变量就能帮你把这些相同的东西抽离出来,方便代码修改。

变量文件存放的文件名字为:http-client.env.json,隐私变量可以存放到http-client.private.env.json文件中,变量文件名为固定这两个,变量重复时以隐私变量为准。

变量的定义格式如下:

{
  "product": {
    "host": "http://127.0.0.1:8675"
  },
  "test": {
    "host": "http://192.168.28.90:9023"
  }
}

在使用时可以用{{var}}引用即可。


idea测试篇http工具的使用
https://blog.cikaros.top/doc/b1e46e75.html
作者
Cikaros
发布于
2021年3月26日
许可协议