創建文件
文件夾名稱
文件名稱
目錄結構
加密接口測試方法:
案例1
https://postman-echo.com/basic-auth
案例2
https://postman-echo.com/digest-auth
Digest username="postman", realm="Users", nonce="ni1LiL0O37PRRhofWdCLmwFsnEtH1lew", uri="/digest-auth",
response="254679099562cf07df9b6f5d8d15db44", opaque=""
案例3
https://postman-echo.com/auth/hawk
Postman環境變量
點那個眼睛
切換變量
postman本地變量
全局變量
全局變量是指在所有的環境裏面,變量值都是一樣的,全局變量的作用域是所有請求。
全局變量設置有兩種方式:
點擊眼睛圖標後,在 Global 選項菜單點擊 Edit 菜單即可設置全局變量,如下圖所示。全局變量的引用格式和環境
變量一樣,
注意:當環境變量和全局變量名稱一樣時,切換到某個環境時,環境變量會覆蓋全局變量。
腳本設置
使用如下腳本可以設置全局變量: variable_key 表示變量名稱, variable_value 表示變量值。
pm.globals.set("variable_key", "variable_value");
實踐案例
在實際接口測試過程中,接口經常會有關聯。比如需要取上一個接口的某個返回值,然後作爲參數傳遞到下一個接
口作爲參數。假設我們要獲取 A 接口返回的 userid 值作爲 B 接口的請求參數。
A 接口請求 URL 如下:
https://postman-echo.com/post
• 請求方式爲 Post
• 請求參數:userid(這裏自己定義,接口會返回對應的 id 值)
返回值
{
"args": {},
"data": "",
"files": {},
"form": {
"userid": "123456"
},
"headers": {
"host": "postman-echo.com",
"content-length": "13",
"accept": "*/*",
"accept-encoding": "gzip, deflate",
"cache-control": "no-cache",
"content-type": "application/x-www-form-urlencoded",
"cookie":
"sails.sid=s%3AxZeg8NHeQGGFv2AUFblww7xF5HeP-4pi.sYxwR13VMFrUqvpJ%2Be8scGNnjgQAdOP3EeL6DSZqNQo",
"postman-token": "7890d763-2bb1-4e88-aa1c-ad0bfc7db9b1",
"user-agent": "PostmanRuntime/7.1.5",
"x-forwarded-port": "443",
"x-forwarded-proto": "https"
},
"json": {
"userid": "123456"},
"url": "https://postman-echo.com/post"
}
根據返回值我們需要從返回值中提取 userid 值。在 Test 標籤欄下編寫如下腳本獲取 userid 值
// 獲取返回的響應值然後轉化爲 json 格式
var jsonData = pm.response.json();
// 獲取返回的 userid 值
userid=jsonData.json['userid'];
// 控制檯日誌查看
console.log(userid);
// 將獲取的變量設置全局變量
pm.globals.set("userid", userid);
B 接口請求 URL 如下:請求方式爲 GET
postman-echo.com/get?userid={{userid}}
先執行 A 接口的,然後在執行 B 接口,此時 B 接口通過全局變量 userid 可以獲得 A 接口的返回值。
數據變量
數據變量是通過導入外部數據文件(json 文件或者 csv 文件),來獲取變量數據。我們可以創建一個如下內容的 json
文件:
data.json
[{
"username": "jack",
"passwd": "6666"
},{
"username": "Bob",
"passwd": "5555"
}, {
"username": "Marry",
"passwd": "8888"
}]
環境變量
本地變量
本地變量傳參
獲取json user_id 獲取全局變量
全局變量
全局變量調用
設置斷言
配置本地變量
配置本地變量 並填寫
配置腳本 並響應狀態
正確響應結果
稍後我們會結合運行 Collection 來講解如何導入該數據文件。
Newman 簡介
Newman 是一款基於 Node.js 開發的可以運行 Postman 的工具,使用 Newman,可以直接從命令行運行和測試
Postman 集合。
Newman 應用
環境準備
• Node.js
• cnpm 或 npm
以上安裝可以參考:Appium 環境搭建 配置好環境後,執行如下命令安裝 newman
cnpm install newman --global
輸入如下面命令檢測安裝是否成功
3.10.0 執行測試 首先將 postman 的集合導出,如下圖所示:
在桌面新建文件夾 pmtest ,將導出的 postman 文件和相關數據文件放入。 打開 cmd 進入到 pmtest
目錄,輸入如下命令:
newman run Postman_API.postman_collection.json -d data.json -r html
命令說明
• run 代表要執行的 postman 腳本,即爲導出的集合。
• -d 表示要執行的數據,也就是之前導入 postman 的數據
• -r 生成的測試報告類型,這裏生成 html 格式報告
更多命令用法請輸入 newman -h 即可查看。 報告查看 在測試文件夾 pmtest 裏面可以看到生成的一個 newman
文件夾,打開就可以看到生成的測試報告。
Html 報告樣式:newman-run-report
newman 不僅支持生成 html 報告,還支持其他報告類型:
• JSON reporter
• JUNIT/XML reporter
• Client report
• Html report