Jmeter Json List Element Assertion使用詳解
- 2019 年 10 月 15 日
- 筆記
使用背景:
jmeter4.0本身提供json Assertion斷言,但當我們想要對返回的json list中的多個欄位進行斷言的時候,我們就會感到很無力。那麼此時我們就可以通過Json List Element Assertion這個插件進行多欄位斷言。
插件下載鏈接:
1:百度雲盤鏈接: https://pan.baidu.com/s/110qjmj3QpVvmfzGztbp66A
2:提取碼: yst4
將4個jar包放置到目錄…libext下重啟JMeter即可;
安裝完了,廢話不多說,讓我們開搞吧!
舉個?:這是請求返回的json數據,我們需要對list返回的最新的一條數據的三個欄位(amount,currentAmount,title)進行校驗,看是否符合我們想要的結果。
此時,我們添加一個Json List Element Assertion獲取data路徑下的list中的欄位,先去獲取是否存在data路徑,我們可以在Json List Path下寫上.data,然後獲取list[0]下的欄位資訊:.list[0].amount,.list[0].currentAmount,.list[0].title, 期望的值就可以直接寫,或者與之前你保留的參數值做對比即:${todayScore}、${totalScore}、每日簽到隨機送分,這樣我們就可以對多欄位同時斷言,只有這三組條件同時滿足,則斷言成功,反之失敗。
遇到的坑:之前看到有人只下載 jmeter-plugins-json-radiomen-1.0.jar這一個包,結果重啟之後,打開
之後報錯:cannot find class:kg/apc/jmeter/JMeterPluginsUtils
還遇到的坑:$.data 這樣寫的,全部加了一個$,不知道為什麼要這樣寫,反正我是著了坑,斷言失敗,好像什麼類型是String的錯誤資訊,忘記了。。。。反正就是沒有獲取到data的path吧。
不知道能不能在三個Json Path的基礎上再添加幾個Json Path 希望有大佬能解決,還請不吝賜教!!!