Postman下載安裝後html
下面是在網上隨便抓了一個請求地址來作演示,把請求地址填入地址欄,此請求爲GET請求。點擊Send發送請求,請求結果將會在下方顯示出來。每次的請求歷史數據,會被記錄下來,可是常常使用的請求,仍是保存一下,這麼每次用的時候,選擇就好了,及其方便。ajax
另外,最好建立一個帳號,這樣數據將會永久保存下來,不至於重裝了系統或者換了臺電腦數據都沒了的尷尬。json
保存的時候起個好聽的名字api
Header會傳輸一些咱們須要的一些通用的數據,定義好以後,每一個接口幾乎都是同樣的。因此,把這些數據進行預置,這樣就不用每新建一個請求,都要重複的添加Header了。瀏覽器
請求的時候,會把請求狀態,請求的時間,以及返回的數據大小返回回來。這樣一目瞭然。最多見的status就是200表示成功,400表示未找到資源。500開頭的基本都是服務端異常等等。我以前寫了一篇很詳細的狀態說明,請參見「HTTP狀態碼大全」服務器
點擊params能夠把url裏的參數以列表的形式展示出來,方便編寫併發
還有一種更方便的編輯方式,點擊Bulk Edit ,直接修改字符串的方式修改,並且能夠複製粘貼,方便遷移到其它地方。並且這個功能在其它參數編輯的地方都適用。app
咱們來看看如何發送POST接口less
form-data、x-www-form-urlencoded、raw、binary的區別post
x-www-form-urlencoded
當用戶經過form表單提交數據的時候,例如:
<form method="post"action="http://api.test.com/user" >
<inputtype="text" name="name">
<inputtype="text" name="age">
</form>
提交時會向服務器端發出這樣的數據(已經去除部分不相關的頭信息),數據以下:
POST /user HTTP/1.1
Content-Type:application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: api.test.com
Content-Length: 21
Connection: Keep-Alive
Cache-Control: no-cache
name=互扯程序&age=18
它的Content-Type是application/x-www-form-urlencoded,這表示消息內容會通過URL編碼
form-data
當須要上傳文件(能夠上傳多個文件),而且有參數同時傳遞的時候,選擇這個選項能夠上傳文件。
舉個例子
<form method="post"action="http://api.test.com/user/upload.do" enctype=」multipart/form-data」>
<inputtype="text" name="desc">
<inputtype="file" name="pic">
</form>
瀏覽器將會發送如下數據:
POST /user/upload.do HTTP/1.1
Accept-Language: zh-cn,zh;q=0.5
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Content-Length: 60408
Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
Host: api.test.com
咱們看到Content-Type:multipart/form-data;
當須要上傳數據的時候,必須設置enctype=「multipart/form-data」,
enctype:規定在發送到服務器以前應該如何對錶單數據進行編碼,他有以下的三個值:
1. application/x-www-form-urlencoded。默認的編碼方式。全部字符都會進行編碼(空格轉換爲 "+" 加號,特殊符號轉換爲 ASCII HEX 值)。
2. multipart/form-data 。 指定傳輸數據爲二進制類型,好比圖片、mp三、文件。 不對字符編碼。在使用包含文件上傳控件的表單時,必須使用該值。
3. text/plain。純文體的傳輸。空格轉換爲 「+」 加號,但不對特殊字符編碼。
其實form表單在你不寫enctype屬性時,也默認爲其添加了enctype屬性值,默認值是enctype="application/x- www-form-urlencoded",因此上面註冊用戶的時候雖然沒寫,其實默認加上了。
raw
當須要給服務端傳遞json,xml等數據的時候選擇raw,當選擇了raw的時候,header裏會自動加上
Content-Type: application/json
例如:
$.ajax({
url:"/user/",
data:JSON.stringify(user),
method:"POST",
contentType:"application/json",
success: function(res){
console.info("添加成功")
}
});
binary(注意了這個格式這裏能夠上傳你的壓測數據文件)
PS:壓測文件能夠是csv格式跟json格式的
這裏還能夠在Pre-requestScript"中設置環境變量 "username", "password",在Body 中選取"form-data" 格式,輸入所需的key-value, value即爲變量{{username}}, {{password}}。
postman.setEnvironmentVariable("username",data["username"]);
postman.setEnvironmentVariable("password",data["password"]);
而後再Tests裏添加斷言
tests["Status code is 200"] = responseCode.code === 200;
tests["Response time is less than 10000ms"] = responseTime < 10000;
console.log(responseTime);
只能上傳一個文件,也不能添加參數。
壓力測試
當你須要驗證你的接口的抗壓能力的時候,能夠點擊Runner,進行壓力測試
注意:壓力測試只能以文件夾的方式執行多個接口,不能單獨執行,若是想要測試某一個接口,就創一個文件夾,這個文件夾裏只有一個要測試的接口。
點擊執行,併發執行了500次。每次再100毫秒內返回結果。