<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      學會這個Python庫,接口測試so easy!

      0
      分享至

      摘要:我們在做接口測試時,大多數返回的都是json屬性,我們需要通過接口返回的json提取出來對應的值,然后進行做斷言或者提取想要的值供下一個接口進行使用。

      但是如果返回的json數據嵌套了很多層,通過查找需要的詞,就很不方便,小編今天介紹一種python的第3方庫jsonpath。



      jsonpath

      jsonpath是使用一種簡單的方法來提取給定JSON內容。在我們做接口測試時,目前流行的數據格式就是JSON格式的,當碰到復雜JSON格式時,我們可以使用JsonPath快速提取數據或者更新數據。

      安裝:pip install jsonpath。



      小編先通過正常的接口,獲取一段json數據供我們進行測試使用:

      import requests

      #請求天氣的url地址

      url='http://apis.juhe.cn/simpleWeather/query'

      #請求參數

      data={

      "city":"上海",

      "key":"331eab8f3481f37868378fcdc76cb7cd"

      #發送post請求

      r=requests.post(url,data=data)

      j=r.json()

      print(j)

      通過執行后,獲取一段我們想要的json數據。

      "reason":"查詢成功!",

      "result":{

      "city":"上海",

      "realtime":{

      "temperature":"23",

      "humidity":"25",

      "info":"多云",

      "wid":"01",

      "direct":"西北風",

      "power":"2級",

      "aqi":"58"

      },

      "future":[

      "date":"2023-03-15",

      "temperature":"10/23℃",

      "weather":"多云",

      "wid":{

      "day":"01",

      "night":"01"

      },

      "direct":"西南風轉東北風"

      },

      "date":"2023-03-16",

      "temperature":"9/15℃",

      "weather":"多云轉小雨",

      "wid":{

      "day":"01",

      "night":"07"

      },

      "direct":"東南風"

      },

      "date":"2023-03-17",

      "temperature":"9/13℃",

      "weather":"中雨轉小雨",

      "wid":{

      "day":"08",

      "night":"07"

      },

      "direct":"東南風轉北風"

      },

      "date":"2023-03-18",

      "temperature":"8/15℃",

      "weather":"多云",

      "wid":{

      "day":"01",

      "night":"01"

      },

      "direct":"北風轉東南風"

      },

      "date":"2023-03-19",

      "temperature":"12/16℃",

      "weather":"晴",

      "wid":{

      "day":"00",

      "night":"00"

      },

      "direct":"東南風"

      },

      "error_code":0

      通過下標提取

      json數據有了,那么我們先用正常提取json的方法,進行提取3-16日的天氣信息,看看如何提取。

      data=result['result']['future'][1]

      print(data)

      ------------------------------輸出結果---------------------------

      {'date':'2023-03-16','temperature':'9/15℃','weather':'多云轉小雨','wid':{'day':'01','night':'07'},'direct':'東南風'}

      可以看到我們想要提取需要找到對應的值,然后在繼續往下一層一層的查找,如果嵌套層數過多,容易出錯,返回信息格式發生改變,這里需要修改信息。

      通過jsonpath提取

      同樣的json數據,我們通過jsonpath進行提取:

      data=jsonpath.jsonpath(result,'$..[?(@.date=="2023-03-16")]')

      print(data)

      -----------------------------輸出結果----------------------------

      [{'date':'2023-03-16','temperature':'9/15℃','weather':'多云轉小雨','wid':{'day':'01','night':'07'},'direct':'東南風'}]

      通過上面的內容會發現,我們直接通過過濾器的方式來講我們的數據取出來了。有點類似我們的正則表達式。

      jsonpath的其他用法

      上面介紹的只是jsonpath的一個用法,下面小編介紹幾種jsonpath的其他用法。

      通過$獲取屬性值內容

      #直接獲取到future的內容

      data=jsonpath.jsonpath(result,'$.result.future')

      data1=jsonpath.jsonpath(result,'$.reason')

      print(data)

      print(data1)

      -----------------------------輸出結果----------------------

      [[{'date':'2023-03-15','temperature':'10/23℃','weather':'多云','wid':{'day':'01','night':'01'},'direct':'西南風轉東北風'},{'date':'2023-03-16','temperature':'9/15℃','weather':'多云轉小雨','wid':{'day':'01','night':'07'},'direct':'東南風'},{'date':'2023-03-17','temperature':'9/13℃','weather':'中雨轉小雨','wid':{'day':'08','night':'07'},'direct':'東南風轉北風'},{'date':'2023-03-18','temperature':'8/15℃','weather':'多云','wid':{'day':'01','night':'01'},'direct':'北風轉東南風'},{'date':'2023-03-19','temperature':'12/16℃','weather':'晴','wid':{'day':'00','night':'00'},'direct':'東南風'}]]

      ['查詢成功!']

      通過【*】獲取對應值

      通過上面的json值,獲取到關于date的時間值。

      data=jsonpath.jsonpath(result,'$.result.future.[*].date')

      print(data)

      -----------------------------輸出結果----------------------

      ['2023-03-15','2023-03-16','2023-03-17','2023-03-18','2023-03-19']

      通過切片獲取對應值

      data=jsonpath.jsonpath(result,'$..future[0,1]')

      print(data)

      -----------------------------輸出結果----------------------

      [{'date':'2023-03-15','temperature':'10/23℃','weather':'多云','wid':{'day':'01','night':'01'},'direct':'西南風轉東北風'},{'date':'2023-03-16','temperature':'9/15℃','weather':'多云轉小雨','wid':{'day':'01','night':'07'},'direct':'東南風'}]

      以上只是小編簡單的介紹幾種jsonpath的使用方法,具體的使用需要大家通過項目上進行結合使用,這里小編在推薦一個jsonpath的調試器,我們可以通過調試器進行查看編寫是否正確:http://www.atoolbox.net/Tool.php?Id=792。



      總結

      小編通過簡單的案例進行介紹了如何通過jsonpath進行提取json數值,方面我們在做接口測試對于json的數據進行解析,文章中沒有太多的知識點,主要是熟能生巧,經常使用,這樣在項目中才能靈活運用。感謝您的閱讀,希望對您有所幫助。

      最后:在我的V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。


      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      拉什福德接受19萬周薪,永久轉會巴薩已定!曼聯不降價但同意分期

      拉什福德接受19萬周薪,永久轉會巴薩已定!曼聯不降價但同意分期

      羅米的曼聯博客
      2026-02-28 10:42:01
      外媒:伊朗軍隊總司令哈塔米“安然無恙”

      外媒:伊朗軍隊總司令哈塔米“安然無恙”

      參考消息
      2026-02-28 20:11:05
      沉默整整9天,毛寧一錘定音,中美戰機已交手,美方要見中國代表

      沉默整整9天,毛寧一錘定音,中美戰機已交手,美方要見中國代表

      丁羂解說
      2026-02-26 14:31:05
      我今年85歲,很少生病。這三個習慣我堅持了三十年,普通人也能做

      我今年85歲,很少生病。這三個習慣我堅持了三十年,普通人也能做

      王曉愛體彩
      2026-02-25 04:37:22
      28歲趙心童身家上億,開豪車住別墅,禁賽期間仍與女友形影不離

      28歲趙心童身家上億,開豪車住別墅,禁賽期間仍與女友形影不離

      白面書誏
      2026-02-26 16:21:41
      “凌晨3點被它嚎醒!”最近,不少深圳人被吵到!網友:又開始了

      “凌晨3點被它嚎醒!”最近,不少深圳人被吵到!網友:又開始了

      南方都市報
      2026-02-27 14:29:30
      隨著陳垣宇3-4惜敗,新加坡大滿貫男單4強出爐:國乒僅剩王楚欽

      隨著陳垣宇3-4惜敗,新加坡大滿貫男單4強出爐:國乒僅剩王楚欽

      足球評論qs
      2026-02-28 22:18:59
      山東一奶奶用孫女沒用完的染發膏,染完還挺時尚!網友笑瘋

      山東一奶奶用孫女沒用完的染發膏,染完還挺時尚!網友笑瘋

      大象新聞
      2026-02-27 10:49:07
      暴跌80%,全球支付霸主要被賣了

      暴跌80%,全球支付霸主要被賣了

      融資中國
      2026-02-26 13:33:34
      國際籃聯(FIBA)向中國道歉,一場比賽28次誤判太離譜

      國際籃聯(FIBA)向中國道歉,一場比賽28次誤判太離譜

      孤影來客
      2026-02-28 13:14:47
      黎智英案再次開審!美高層要求特朗普訪華前放人,香港法庭再宣判

      黎智英案再次開審!美高層要求特朗普訪華前放人,香港法庭再宣判

      哄動一時啊
      2026-02-28 14:27:03
      全球最“倒霉”夫妻,花費240萬買下“鬼屋”,沒水沒電沒網,94個房間全是垃圾,7年后突然火爆全網!

      全球最“倒霉”夫妻,花費240萬買下“鬼屋”,沒水沒電沒網,94個房間全是垃圾,7年后突然火爆全網!

      背包旅行
      2026-02-21 10:34:33
      妻子帶家人看電影約男閨蜜在旁親熱,被抓包后他們對話信息量好大!

      妻子帶家人看電影約男閨蜜在旁親熱,被抓包后他們對話信息量好大!

      不二表姐
      2026-02-27 21:37:19
      女婿當眾摟腰挽留丈母娘,10天后評論區還在吵:這算親?還是越界

      女婿當眾摟腰挽留丈母娘,10天后評論區還在吵:這算親?還是越界

      大熊歡樂坊
      2026-02-28 01:40:08
      令人窒息!公公掀翻飯桌燙傷3歲孫子,就因一句咱們先吃,不等了

      令人窒息!公公掀翻飯桌燙傷3歲孫子,就因一句咱們先吃,不等了

      丫頭舫
      2026-02-26 16:42:46
      伊朗伊斯蘭共和國軍隊發布第1號公告

      伊朗伊斯蘭共和國軍隊發布第1號公告

      界面新聞
      2026-02-28 19:53:31
      中國男籃vs中國臺北男籃12人名單:郭士強保持原班人馬沖擊2連勝

      中國男籃vs中國臺北男籃12人名單:郭士強保持原班人馬沖擊2連勝

      狼叔評論
      2026-02-28 17:46:06
      出軌、凈身出戶?這次,74歲的梁錦松,終究在伏明霞身上栽了跟頭

      出軌、凈身出戶?這次,74歲的梁錦松,終究在伏明霞身上栽了跟頭

      秋姐居
      2026-02-10 09:19:42
      北京市公安局發布通告!3月1日零時起——

      北京市公安局發布通告!3月1日零時起——

      BRTV新聞
      2026-02-27 14:59:34
      你見過哪些悶聲發大財的人?網友:干這個買三套房子,兩個門面

      你見過哪些悶聲發大財的人?網友:干這個買三套房子,兩個門面

      夜深愛雜談
      2026-02-01 18:57:04
      2026-02-28 23:15:00
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1528文章數 13252關注度
      往期回顧 全部

      科技要聞

      狂攬1100億美元!OpenAI再創融資神話

      頭條要聞

      美以襲擊伊朗 華人緊急逃離德黑蘭:沒想到來得這么快

      頭條要聞

      美以襲擊伊朗 華人緊急逃離德黑蘭:沒想到來得這么快

      體育要聞

      球隊主力全報銷?頂風擺爛演都不演了

      娛樂要聞

      周杰倫兒子正面照曝光,與父親好像

      財經要聞

      沖突爆發 市場變天?

      汽車要聞

      嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

      態度原創

      教育
      家居
      藝術
      本地
      公開課

      教育要聞

      這件事不做對,將來孩子會恨你!

      家居要聞

      素色肌理 品意式格調

      藝術要聞

      就是這個畫風,美的我有點兒接受不了!

      本地新聞

      津南好·四時總相宜

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版