Postman 以前是做爲Chrome 的一個插件,如今要下載應用才能使用。json
如下是postman 的界面:數組
各個功能區的使用以下:瀏覽器
a. 環境變量的設置方法以下圖。點擊設置一個環境變量,名爲"user_pwd", 裏面設置username 和passwd的值,而後在請求中應用這個環境變量"user_pwd"便可。安全
環境變量可使用在如下地方:cookie
注意:在你要使用的變量名上附上雙花括號,一個請求只能應用一個環境變量。less
下圖"username" 和"passwd" 的value值應用了環境變量"user_pwd",因此在body 中,只需在key對應的value那寫上變量{{username}}, {{passwd}}。dom
注意:一個項目須要測試好幾個環境的狀況,就能夠對不一樣的環境設置一個環境變量,好比對「test environment」設置一個環境變量,對「stage environment」設置一個環境變量,對「production 環境」設置一個環境變量。函數
b. 全局變量的設置方法相似,以下圖,點擊"Globals" 後就會出現添加環境變量相似的頁面,進行變量和值的設置。工具
注意:全局變量設置就應用於整個收藏夾(Collection)中的請求,不用像環境變量同樣須要選取。post
**接口測試中經常使用的請求爲GET 和POST,如下均以這兩種請求爲例。
GET 和POST 的區別:
**對於上面的區別,其實第一點POST也能夠將數據放在URL裏,GET請求其實也沒有長度限制,POST請求看起來是隱式的,可是能夠經過抓包拿到參數。
1. GET 請求:
日常咱們拿一個url 訪問頁面,就是所謂的get 請求。
例1.(stu_info 接口:獲取名字爲xx 的信息)
將請求方式設爲GET, 同時輸入完整的url, 跟訪問瀏覽器同樣, 或者輸入接口url, 點擊"Params" 輸入須要的key 以及value, 點擊"Send", 便可在"Response" 中查看返回的結果。
注意: get 請求的內容不能放在body裏,而且長度有限制。因爲對domain 設置了全局變量,因此,url 中用變量{{domain}} 作了替換,如下的請求中都應用了這個全局變量。
例2. (all_stu 接口:獲取全部用戶的信息)
除了例1這種GET請求,還有些接口發送GET請求時除了發送key-value, 還要將Headers的信息也一塊兒發送過去,這樣就能夠藉助Postman來實現。如下圖爲例,須要在Headers 裏添加"Referer"信息,以獲取全部用戶的信息。
POST 請求不能像GET同樣直接在瀏覽器輸入就能夠請求,須要藉助工具來完成。
使用方法:選擇請求方式爲post,輸入請求的url,以及輸入必要的"Authorization" , "header" 和"Body" 數據。post請求能夠發送key-value, json格式,file等。
對於"Authorization"的使用,遇到比較多的是Type 爲"Basic Auth", 而後設置對應的Username 和Password。
這裏的username, password的值能夠經過設置環境變量的方式取得。
以login 接口爲例,在Body 中選取"form-data" 格式,輸入所需的key-value, 選取對應的環境變量。
以add user 接口爲例,在Body 中選取"raw" 格式,根據接口文檔輸入json 數據, 有須要應用環境變量的選取環境變量。
以file upload 接口爲例,在Body 中選取"form-data" 格式,在key 裏輸入"file",在右邊的下拉里選取類型爲"File",點擊"Choose Files" 就能夠上傳本地文件了。
對於環境變量和全局變量的使用,除了上面所講的方法外,也能夠用Pre-requestScript 方法。
以login接口爲例,在"Pre-requestScript"中設置環境變量 "username", "passwd",在Body 中選取"form-data" 格式,輸入所需的key-value, value即爲變量{{username}}, {{passwd}}。
postman. setEnvironmentVariable (「key」, 「value」);
postman. setGlobalVariable (「key」, 「value」);
getEnvironmentVariable ("key");//獲取key的環境變量
getGlobalVariable(「key」);//獲取key的全局變量
Tests 主要用來設計用例,好比要測試返回結果是否含有某一字符串,就能夠用到 Tests。以gold_add 接口爲例,來編寫測試用例,分別測試返回的結果是否含有,以下所示:
響應成功返回PASS, 失敗返回FAIL。
1.檢查response body中是否包含某個stringtests["Body matches string"] = responseBody.has("string_you_want_to_search");
注意:"Body matches string" 需惟一。
2.檢測JSON中的某個值是否等於預期的值
JSON.parse()方法,把json字符串轉化爲對象。parse()會進行json格式的檢查是一個安全的函數。
如:檢查json中某個數組元素的個數(這裏檢測programs的長度)
3.檢查response body是否與某個string相等
4.轉換XML body爲JSON對象var jsonObject = xml2Json(responseBody);
tests["Body is correct"] = responseBody === "response_body_string";
5.測試response Headers中的某個元素是否存在(如:Content-Type)
或者:
tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
上面的方法,不區分大小寫。下面的方法,要區分大小寫。
6.驗證Status code的值
tests["Status code is 200"] = responseCode.code === 200;
7.驗證Response time是否小於某個值tests["Response time is less than 200ms"] = responseTime < 200;
8.name是否包含某個值tests["Status code name has string"] = responseCode.name.has("Created");
9.POST 請求的狀態響應碼是不是某個值tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
10.很小的JSON數據驗證器
以gold_add 接口爲例,因爲該接口有權限驗證,須要admin用戶才能夠作操做,須要添加cookie,因此須要將login 接口關聯起來使用。
在login 請求中, 在"Tests"中加入
var jsonData =JSON.parse(responseBody);//獲取body中返回的全部參數
postman.setEnvironmentVariable("sign",jsonData.login_info.sign);//把返回參數中的sign設置爲環境變量
這樣sign 就能夠做爲環境變量,應用於gold_add接口。
在gold_add 接口中,{{username}} 因爲在環境變量"user_pwd" 中已經設置,能夠直接輸入變量名, {{sign}} 動態取得login接口中 Response 的 "sign" 值,{{sign}}已在上面login 請求的"Tests" 中定義。
以上就是postman接口測試基本使用方法總結。