1. 程式人生 > 其它 >二十一、json響應斷言

二十一、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