JMeter 压力測试使用函数和 CSV 文件參数化 json 数据
? ? ? ? Step 1 http json 請求採樣器的錄制
? ? ? ? 這個工具非常多,能夠使用 JMeter 代理錄制。也能夠使用 Badboy。
該採樣器錄制好以后例如以下圖所看到的:
? ? ? ? Step 2 為該採樣器加入 HTTP 信息管理器
? ? ? ? 鼠標右擊該採樣器。右鍵菜單選擇 "加入" -> 配置元件 -> HTTP 信息頭管理器,然后信息頭加入一條名稱為 Content-Type。值為 application/json 就可以:
? ? ? ? 加入好 HTTP 信息管理器之后,選中該採樣器,編輯其 Content encoding 為 UTF-8:
? ? ? ? Step 3 為該採樣器加入響應斷言
? ? ? ? 比方請求返還的 json 串里,"status":0 代表處理成功,status 值為其它表示各種處理失敗。那么鼠標右擊該採樣器,右鍵菜單選擇 "加入" -> 斷言 -> 響應斷言。要測試的響應字段選中 "響應文本",模式匹配規則選中 "Substring",要測試的模式加入并編輯其內容為 "status":0。
? ? ? ? Step 4 編輯採樣器的 json 格式
? ? ? ? 選中該採樣器,Parameters 葉項里復制該 json 串,然后點擊 Body Data 葉項,粘貼該 json 串于當中的輸入域中(關于 json 串的提取,能夠使用 Badboy 自己錄制的,也能夠使用 Chrome 瀏覽器自帶工具 "JavaScript 控制臺 - Network" 進行捕捉)。最后調整 json 數據的展現格式例如以下圖所看到的:
? ? ? ? 這時能夠進行 http json 提交了,可是數據還都是寫死的。那么怎么樣把這些 json 數據參數化呢,就像其它非 json 提交的採樣器一樣?
? ? ? ? Step 5 使用函數將 http json 數據參數化
? ? ? ? 像其它採樣器一樣使用函數助手生成一個引用字符串,比方 ${__Random(0,9,random_num_0_9)},它的作用是隨機生成 0 - 9 之間的一個數字。
? ? ? ? 然后編輯 Body Data 里的 json 串里須要參數化的地方。使用 ${__Random(0,9,random_num_0_9)} 覆蓋須要參數化的部分:
? ? ? ? Step 6 使用 CSV Data Set Config 將 json 數據參數化
? ? ? ? 右鍵單擊 Thread Group,右鍵菜單選擇 "加入" -> 配置元件 -> CSV Data Set Config。Filename 輸入 e:/defonds/work/20141105/json.txt(要使用絕對路徑),Variable Names 輸入 cityCode,cityName,subCategoryCode,subCategoryName。編輯 e:/defonds/work/20141105/json.txt 內容例如以下圖所看到的:
? ? ? ? 最后編輯 Body Data 里的 json 串里須要參數化的地方。使用 ${cityCode} 等參數覆蓋須要參數化的部分:
? ? ? ? 這時候你就能夠使用參數化的 json 串進行壓力測試啦:
? ? ? ? 參考資料
- 一次 JMeter 腳本請求錯誤 HTTP Status 415 的解決筆記
- 一次 JMeter 腳本請求錯誤 Could not read JSON: Unexpected character : expected a valid value 的解決筆記
轉載于:https://www.cnblogs.com/cxchanpin/p/7227695.html
總結
以上是生活随笔為你收集整理的JMeter 压力測试使用函数和 CSV 文件參数化 json 数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注册公司一年需要多少费用 想有一份自己
- 下一篇: 光中通宝是哪个朝代的