九、JMeter實戰-JSON斷言


一、JSON響應斷言

該組件使您可以執行JSON文檔的驗證。
首先,它將解析JSON,如果數據不是JSON則失敗。
其次,它將使用https://github.com/json-path/JsonPath中的語法搜索指定的路徑。如果找不到該路徑,它將失敗。
第三,如果在文檔中找到JSON路徑,並要求針對期望值進行驗證,它將執行驗證。對於null值,在GUI中有一個特殊的復選框。請注意,如果路徑將返回數組對象,則將對其進行迭代,並且如果找到期望值,則斷言將成功。要驗證空數組,請使用[]字符串。另外,如果patch將返回字典對象,則在比較之前將其轉換為字符串。

什么是JSON

JSON(JavaScript Object Notation,JavaScript對象表示法)是一種輕量級的數據交換格式。JSON容易理解,便於閱讀和編寫;同時計算機也易於解析和生成,所以JSON有廣泛的應用。

鍵值對的形式存在:


JSON斷言分析:

  1. 返回的數據必須的JSON格式,否則會解析失敗。
  2. 他將JsonPath語法搜索指定的路徑,找不到路徑,則會失敗。http://goessner.net/articles/JsonPath/ 這個網址去學習JSON語法。
  3. JSON是鍵值對形式存在,通過路徑找到鍵,可以對該鍵的值進行校驗。
  4. 如果鍵的值為null,GUI中有復選框(Expect null),勾選上則表示以null作為預期值。
  5. 如果路徑找到的數組對象(在列表頁中比較常見這種情況),則會對數組中的數據進行輪詢。如果其中有一個值和預期值匹配,那么斷言也是成功的。
  6. 返回的是字典對象,則需要轉為字符串后再進行比較。

添加 》 斷言 》 JSON斷言


JSON斷言界面參數說明:

  1. 名稱:節點的名稱,顯示在查看結果樹中,自己根據實際情況定義。
  2. 注釋:對該節點進行注釋。
  3. 斷言存在JSON路徑:斷言JSON元素的路徑。
  4. 附加斷言值:如果要使斷言具有某個值,把這個值勾選上。如果寫了(3)JSON元素的路徑,要把這個值勾選上。
  5. 匹配為正則表達式:如果要使用正則表示式,選中該復選框。
  6. 預期值:JSON元素路徑對應的值。
  7. 反轉斷言:就是否的意思,即如果符合就失敗。

可以直接在查看結果樹中進行JSON語法的測試。測試ok了再直接放在JSON斷言中。

$  表示跟節點。
[] 表示數組,0表示第一個;$[0]   表示跟節點后的第一個對象。
resultcode 即key,這里要獲取resultcode的值,所以填寫resultcode。


當接口的返回數據比較多的時候,可以去https://www.json.cn/進行解析:


舉例:

取第一個id的值,$.data[0].id


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM