"
If you have good thoughts they will shine out of your face like sunbeams and you will always look lovely.
—— Roald Dahl
"
Web
开发还在一手 PyCharm
一手 Postman
吗?快给电脑减负(卸载掉 Postman
)吧!教你如何使用 PyCharm
替代 Postman
。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
在 PyCharm
的 Professional
版本中,有一个专门测试 RESTful
接口的工具「HTTP client
」。也许你从未听说过,但是看了这篇文章后你将发现一个新世界。
1.窗口化操作
如果你习惯了 Postman
,无法突然适应发生的变化,可以采用此种方法。
1.1 步骤
1) 点击顶部菜单栏中的 「Tools
」 按钮
2) 点击下拉菜单中的 「HTTP client
」
3) 点击菜单中的「Test RESTful Web Service
」
下面是界面介绍:
2.curl 操作
如果你是一个 Linux
习惯者,可以在黑窗口中来去自如,那么完全可以使用此种方法。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
2.1 步骤
1) 点击顶部菜单栏中的 「Tools
」 按钮
2) 点击下拉菜单中的 「HTTP client
」
3) 点击菜单中的「Convert cURL to HTTP Request
」
4) 然后你会看到如下界面,再按要求填写完成之后,点击「CONVERT
」进行转换。转换后会发现进入了一个脚本文件(详细请看后面内容介绍),点击 url
左侧的运行绿色按钮即可执行访问。
3.编写脚本文件
如果是最新版本的 PyCharm
,官方强烈推荐你使用最新的方式,即类似于脚本的方法,直接编写访问用例。语法超级简单,就好像写接口文档一样。界面超级清爽,以下将会以常见的场景讲解使用方法。
3.1 步骤
1) 首先创建3个文件:http-client.env.json
(此文件为配置文件,文件名固定)、http-client.private.env.json
(此文件为配置文件,文件名固定)、xxx.http
(此为脚本文件,xxx
为自定义名称)
2) 配置环境文件 http-client.env.json
。此文件是通用配置文件,比如有两套环境(开发和测试),可以使用如下的方式进行配置,在使用时随意切换:
{
"development": {
"host": "192.168.0.88",
"id-value": 1,
"username": "",
"password": "",
"my-var": "my-dev-value"
},
"test": {
"host": "192.168.0.99",
"id-value": 2,
"username": "",
"password": "",
"my-var": "my-test-value"
}
}
1.配置文件中的字段可以自定义,相当于变量。脚本文件中使用变量的语法是
{{字段名}}
。字段名便是环境配置文件中定义的字段。2.也许你好奇为什么
username
和password
两个字段空着。那是因为如此私密的信息当然要保存在私密文件中啦 ~ 此时就用到了下一个文件http-client.private.env.json
3) 配置私密环境文件 http-client.private.env.json
。此文件中保存账号密码等信息:
{
"development": {
"username": "admin",
"password": "admin"
},
"test": {
"username": "admin",
"password": "admin"
}
}
4) 编写脚本文件。
如果没有变量,没有账号密码等私密信息,完全可以省略上面的步骤,直接编写访问用例更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
语法如下:
# 此处是注释信息,采用井号
# 访问方式,格式:请求方式 url
GET http://{{host}}/es/stage_order_info/_search
# 请求头,注意:请求头与url之间不许有空行
Accept: application/json
# 引用变量的方法:{{xxx}}
Authorization: Basic {{username}} {{password}}
...
# 请求体,如果有的话
...
# 最后以三个井号结尾
###
3.2 示例
1) GET
方式请求:
GET http://{{host}}/es/stage_order_info/_search
Accept: application/json
Authorization: Basic {{username}} {{password}}
###
2) DELETE
方式请求:
DELETE http://{{host}}/es/ethanyantest
Authorization: Basic {{username}} {{password}}
###
3) PUT
方式请求:
PUT http://{{host}}/es/ethanyantest/_doc/1
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
{"testfield": "测试成功"}
###
4) POST
方式请求:
POST http://{{host}}/es/ethanyantest/_doc/1/_update
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
{
"doc" : {
"testfield" : [ "{{testfield}}" ],
"views": 0
}
}
###
3.3 运行方式
1.点击请求地址前的运行按钮:
2.选择运行环境:更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』