這算是第一次寫博客吧,總覺得自己技術(shù)挺渣,寫不出高質(zhì)量的內(nèi)容,所以就想先介紹一些自己平時工作中經(jīng)常使用的工具,希望能堅持吧~
簡介
HTTP Client 是 Jetbrains 系列軟件中自帶的 HTTP 請求工具,不過只在 Professional 版本才有這個功能,我平時開發(fā)使用的是 Pycharm 2018.3。在 VS Code 中有相同功能的插件 REST Client. 以下的內(nèi)容全部來自 官方教程,不過是英文的,有能力可以直接看文檔,這里根據(jù)自己的理解從簡單到復(fù)雜梳理官方教程的常用功能.
創(chuàng)建請求腳本
創(chuàng)建請求腳本,跟創(chuàng)建一個 Python 文件一樣,在需要創(chuàng)建的文件夾 右擊 | New | HTTP Request 即可,一般在最下方,請求腳本是一個以 http 為擴展名的文件.

請求語法
創(chuàng)建好腳本以后,會有一些注釋告訴你可以使用模板快速生成請求,這里可以先忽略,下面來說請求語法.
Method Request-URI HTTP-Version
Header-field: Header-value
Request-Body
語法很簡單,就是 HTTP 請求的基本概念,按順序分別是 請求方法、請求地址、HTTP版本、請求頭、請求體. 其中 HTTP-Version 一般省略不寫,如果一定要寫,按照 HTTP/*.* 格式就好. 請求頭、請求體 沒有也可以不寫,所以一個最簡單的請求應(yīng)該是這樣的:

點擊左側(cè)的 箭頭 就可以發(fā)出請求,請求的結(jié)果會輸出在下方. 在腳本中, 注釋可以用 # 或者 // 表示,如果想在一個腳本文件中編寫多個請求,可以使用 ### 進行分割.
使用生成模板
了解語法之后就可以使用新建文件時注釋中的快速生成模板了,Tab 鍵自動生成.
-
gtr[p]: 獲取json格式數(shù)據(jù),p會自動生成參數(shù) -
ptr[p]: 上傳json數(shù)據(jù),p會自動生成參數(shù)- 上傳
json需要在請求體編寫數(shù)據(jù),注意使用 雙引號
- 上傳
-
mptr | fptr: 提交一個文本或文件表單- 如果提交文件表單,可以使用
< filepath指定文件路徑, 這里使用相對路徑即可.
- 如果提交文件表單,可以使用
使用環(huán)境變量
當你在編寫請求的時候,可以使用 環(huán)境變量 將一些字段參數(shù)化,例如 使用 {{ host }} 占位符表示 主機地址,當發(fā)起請求的時候,會讓你選擇是使用 生產(chǎn)環(huán)境 還是 開發(fā)環(huán)境, 之后從選擇的環(huán)境中讀取指定字段的值.
環(huán)境變量通過名為 http-client.env.json 的配置文件完成,配置文件創(chuàng)建在請求腳本的同級目錄,鍵 表示 環(huán)境,值 表示環(huán)境變量,這里使用 development、 production 分別表示 開發(fā)環(huán)境 和 生產(chǎn)環(huán)境,如果有多個環(huán)境,直接增加 鍵 即可,示例如下:
{
"development": {
"host": "localhost",
"id-value": 12345,
"username": "dev_username",
"password": "dev_password",
"my-var": "my-dev-value"
},
"production": {
"host": "example.com",
"id-value": 6789,
"username": "pro_username",
"password": "pro_password",
"my-var": "my-prod-value"
}
}
構(gòu)建請求的時候就可以這樣:
GET http://{{host}}/api/json/get?id={{id-value}}&key={{unresolved_var}}
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
{
"key": {{my-var}}
}
點擊左邊箭頭執(zhí)行,就會讓你選擇是使用什么環(huán)境發(fā)送請求. 如果一個環(huán)境變量沒有找到,比如上面的 {{unresolved_var}},將會被作為 原始字符發(fā)送.
在一個請求中可以使用環(huán)境變量占位符的部分為:
- 請求
地址、端口、路徑 - 查詢字符串
參數(shù)或值 請求頭-
請求體或者外部文件
官方示例
通過上面這些,已經(jīng)可以完成常用的請求發(fā)送了,官方也提供了一些示例進行參考,在 請求文件 右上角,將鼠標移過去就會顯示出來,左邊是 請求歷史,右邊 是 請求示例:

總結(jié)
這里只是列了常用用法,具體細節(jié)還是要看 文檔. HTTP Client 同樣可以使用 JavaScript ECMAScript 5.1 語法處理響應(yīng),例如對請求結(jié)果進行 斷言 等,這樣就可以形成一個完整的接口測試,通過查看 響應(yīng)API 了解更多.