51Testing软件测试论坛

标题: 在IDEA中快速测试API接口 [打印本页]

作者: 小文0111    时间: 2019-3-19 16:55
标题: 在IDEA中快速测试API接口
IntelliJ IDEA从2017.3 版支持在IDEA中请求测试API接口,Editor REST Client 支持的文件类型有两种,.http 和 .rest,文件图标为[attach]123044[/attach]

1、创建文件

    1.1、创建临时请求文件

        我们在开发过程中,可以新建一些临时请求文件,这些临时文件并不存储在项目中,也不会被git监测到。

        快捷键:Ctrl+Shift+Alt+Insert

    1.2、创建真实存在的请求文件

[attach]123045[/attach]

2、创建GET请求

     IntelliJ IDEA增强了HTTP请求格式,提供了几个有用的适应性:

    2.1、仅指定GET默认情况下要使用的URL:

  1. http://localhost:8888/tools/postcard/providence
复制代码

     2.2、长URL请求

  1. POST http://localhost:8888
  2.     /tools
  3.     /postcard
  4.     /providence
  5. Accept : application/json
  6. Content-Type: application/json;charset=UTF-8
  7. Cache-Control : no-cache
复制代码

注意:长URL换行时,必须缩进,如果不缩进,Editor REST Client将识别不了URL

3、创建POST请求

    3.1、 普通请求形式

  1. POST http://localhost:8888/tools/postcard/county
  2. Accept : application/json
  3. Content-Type: application/json

  4. {
  5.   "city" : "130100",
  6.   "providence" : "",
  7.   "county" : ""
  8. }
复制代码

注意:参数必须和请求头用空行隔开,否则会请求失败,异常信息为:Required request body is missing

    3.2 从文件中引入请求参数

        3.2.1、 新建一个*.json文件

        3.2.2、 定义实体参数

        3.2.3、 引入json实体

       *.json

  1. {
  2.   "city" : "130100",
  3.   "providence" : "",
  4.   "county" : ""
  5. }
复制代码

  POST请求

  1. POST http://localhost:8888/tools/postcard/county
  2. Content-Type: application/json

  3. < test.json
复制代码

     3.2.4、请求结果

[attach]123046[/attach]

4、配置多环境变量

    Editor REST Client 支持配置多环境变量,也可以使用{{host}}占位符代替URL地址。

    4.1、环境变量要定义在rest-client.env.json文件中,且必须存储在项目中。

    4.2、变量可以包含主机地址,端口,路径,查询参数以及标头值

    4.3、变量的名称只能包含字母,数字,下划线符号(_)或连字符号(-)

  1. {
  2.     "development": {
  3.         "host": "localhost",
  4.         "id-value": 12345,
  5.         "unresolved_var": "niithub"
  6.     },

  7.     "production": {
  8.         "host": "example.com",
  9.         "id-value": 6789,
  10.         "unresolved_var": "niithub"
  11.     }
  12. }
复制代码

        在http请求中引用:

  1. GET http://{{host}}/api/json/get?id={{id-value}}&key={{unresolved_var}}
复制代码

执行上述请求时,IntelliJ IDEA可在已定义的执行环境之间进行选择:

[attach]123047[/attach]

5、 其他技巧

     5.1、当你在同一个文件夹内想定义多个URL,可以使用###对URL进行分割

  1. POST http://localhost:8888/tools/postcard/county
  2. Accept: application/json
  3. Content-Type: application/json

  4. {
  5.   "city" : "130100",
  6.   "providence" : "",
  7.   "county" : ""
  8. }
  9. ###
  10. POST http://localhost:8888/tools/postcard/county
  11. Content-Type: application/json

  12. < test.json
复制代码

5.2、注释

  1. # 从文件中引用请求实体
  2. POST http://localhost:8888/tools/postcard/county
  3. Content-Type: application/json

  4. < test.json
复制代码



作者: 海海豚    时间: 2019-3-20 11:26
谢谢分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2