二十一、json響應斷言
阿新 • • 發佈:2021-08-07
一、JSON響應斷言
該元件使您可以執行JSON文件的驗證。
首先,它將解析JSON,如果資料不是JSON則失敗。
其次,它將使用https://github.com/json-path/JsonPath中的語法搜尋指定的路徑。如果找不到該路徑,它將失敗。
第三,如果在文件中找到JSON路徑,並要求針對期望值進行驗證,它將執行驗證。對於null值,在GUI中有一個特殊的複選框。請注意,如果路徑將返回陣列物件,則將對其進行迭代,並且如果找到期望值,則斷言將成功。要驗證空陣列,請使用[]字串。另外,如果patch將返回字典物件,則在比較之前將其轉換為字串。
什麼是JSON
JSON(JavaScript Object Notation,JavaScript物件表示法)是一種輕量級的資料交換格式。JSON容易理解,便於閱讀和編寫;同時計算機也易於解析和生成,所以JSON有廣泛的應用。
鍵值對的形式存在:
JSON斷言分析:
- 返回的資料必須的JSON格式,否則會解析失敗。
- 他將JsonPath語法搜尋指定的路徑,找不到路徑,則會失敗。http://goessner.net/articles/JsonPath/這個網址去學習JSON語法。
- JSON是鍵值對形式存在,通過路徑找到鍵,可以對該鍵的值進行校驗。
- 如果鍵的值為null,GUI中有複選框(Expect null),勾選上則表示以null作為預期值。
- 如果路徑找到的陣列物件(在列表頁中比較常見這種情況),則會對陣列中的資料進行輪詢。如果其中有一個值和預期值匹配,那麼斷言也是成功的。
- 返回的是字典物件,則需要轉為字串後再進行比較。
新增》斷言》JSON斷言
JSON斷言介面引數說明:
- 名稱:節點的名稱,顯示在檢視結果樹中,自己根據實際情況定義。
- 註釋:對該節點進行註釋。
- 斷言存在JSON路徑:斷言JSON元素的路徑。
- 附加斷言值:如果要使斷言具有某個值,把這個值勾選上。如果寫了(3)JSON元素的路徑,要把這個值勾選上。
- 匹配為正則表示式:如果要使用正則表示式,選中該複選框。
- 預期值:JSON元素路徑對應的值。
-
反轉斷言:就是否的意思,即如果符合就失敗。
可以直接在檢視結果樹中進行JSON語法的測試。測試ok了再直接放在JSON斷言中。
$ 表示跟節點。
[]表示陣列,0表示第一個;$[0] 表示跟節點後的第一個物件。
resultcode即key,這裡要獲取resultcode的值,所以填寫resultcode。
當介面的返回資料比較多的時候,可以去https://www.json.cn/進行解析:
舉例:
取第一個id的值,$.data[0].id