文章目錄
[JMeter] 取得 JSON Token 做為 Http Request Header 參數
一般公開對外的 REST API 基於安全性考量都會有認驗證機制,做法很多,其中一種做法就是透過使用指定格式來取得 token,後續的資料交換就改以 token 為識別是否為合法 request 並提供有效 response 的基準。因此測試情境也就需要有相應的處理:先取得 token 才能測試目標 api
今天簡單紀錄一下,取得 token 時內容沒有加密的做法,當做後續紀錄遇到加密 response 的比較基準
基本環境說明
- macOS Mojave 10.14.6
- JMeter 5.1.1
- 測試用 api : reqres.in
JMeter 設定
Test Plan 右鍵 –> Add –> Threads (Users) –> Thread Group
建立 Login Http Header Manager
用來管理取得 token 的 request header
建立 Login HTTP Request
用來實際取得 token,測試 api 用法請參考 reqres.in 說明
建立 JSON Extractor
取得回傳的 JSON 內容,並設定為 JMeter 變數
- Names of created variables 為指定 JMeter 的變數名稱
- JSON Path expression 為目標 JSON 屬性名稱
再次建立 Http Header Manager
用來管理實際執行目標 api 的 header 設定, 並使用上方 JSON Extractor 設定的參數
建立測試目標 HTTP Request
實際執行測試目標
加入 View Results Tree
用來檢視各步驟的執行結果
實際執行測試
可以從 View Results Tree 看到 HTTP Request - Login 取得 token :
QpwL5tke4Pnpja7X4
,並可以看到 HTTP Request 的 request header 也正確使用Authorization: Bear QpwL5tke4Pnpja7X4
心得
簡單的設定,沒有複雜的操作,上手難度不高,如果真實環境可以這麼簡單想必工作起來一定輕鬆寫意不少,不過也就是因為可以面對這麼多變的需求才顯得程式工作的挑戰性跟有趣
參考資訊
文章作者 Yowko Tsai
上次更新 2019-09-02
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。