<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.

      相關推薦
      熱點推薦
      36歲龍洋辭別央視!新身份曝光,人生徹底轉向

      36歲龍洋辭別央視!新身份曝光,人生徹底轉向

      草莓解說體育
      2026-02-10 00:27:58
      給中國下“最后通牒”?這操作,真是把我給看笑了!

      給中國下“最后通牒”?這操作,真是把我給看笑了!

      毛豆論道
      2026-02-08 18:22:22
      高市勝選第1天!先謝過特朗普,美日慶祝完,就對中國來了兩手?

      高市勝選第1天!先謝過特朗普,美日慶祝完,就對中國來了兩手?

      東極妙嚴
      2026-02-09 13:15:33
      大S主演大尺度三級片:女主從小被繼父偷看洗澡,在恐懼中長大

      大S主演大尺度三級片:女主從小被繼父偷看洗澡,在恐懼中長大

      追影客棧
      2026-02-09 12:58:03
      永遠不要攻擊孩子的人格:毀掉一個孩子,這幾句話就夠了

      永遠不要攻擊孩子的人格:毀掉一個孩子,這幾句話就夠了

      木言觀
      2026-02-09 21:59:55
      辛芷蕾方開撕微博風波升級!娃娃被偷再添實錘,楊冪大粉幫倒忙!

      辛芷蕾方開撕微博風波升級!娃娃被偷再添實錘,楊冪大粉幫倒忙!

      古希臘掌管月桂的神
      2026-02-09 15:13:16
      中南建筑集團破產

      中南建筑集團破產

      地產微資訊
      2026-02-08 20:35:40
      慌了?中國開盤前,全球市場大反轉:比特幣暴跌,兩大數據藏殺招

      慌了?中國開盤前,全球市場大反轉:比特幣暴跌,兩大數據藏殺招

      魏家東
      2026-02-08 14:16:00
      外資車1月份大獲成功后,果然強化價格戰,國產車壓力更大了

      外資車1月份大獲成功后,果然強化價格戰,國產車壓力更大了

      柏銘銳談
      2026-02-07 16:47:51
      特朗普急眼了!超級碗一夜三連暴擊,壞兔子綠日崔娃輪番開團

      特朗普急眼了!超級碗一夜三連暴擊,壞兔子綠日崔娃輪番開團

      潘殤旅行浪子
      2026-02-09 16:10:12
      北京又有兩所大學搬遷

      北京又有兩所大學搬遷

      高等教育數字局
      2026-02-09 17:21:20
      國學大師曾仕強:2026年,有些地方請盡量少去

      國學大師曾仕強:2026年,有些地方請盡量少去

      郁郁乎文
      2026-02-09 21:29:32
      直落兩盤!王欣瑜多哈站首輪輕松取勝,下輪PK新科澳網冠軍

      直落兩盤!王欣瑜多哈站首輪輕松取勝,下輪PK新科澳網冠軍

      全景體育V
      2026-02-09 20:07:03
      純電新能源所剩無幾,其他集體塞回發動機,這事到底誰在“打臉”

      純電新能源所剩無幾,其他集體塞回發動機,這事到底誰在“打臉”

      過期少女致幻錄
      2026-02-09 14:20:53
      周末打虎,今年第11“虎”任上被查!受賄均過億,兩“虎”被判無期

      周末打虎,今年第11“虎”任上被查!受賄均過億,兩“虎”被判無期

      上觀新聞
      2026-02-09 11:54:07
      特斯拉續航剩72公里,高速上突然斷電,售后回應引發爭議

      特斯拉續航剩72公里,高速上突然斷電,售后回應引發爭議

      大象新聞
      2026-02-09 10:01:09
      現在還有人認為韓國電影很敢拍嗎?

      現在還有人認為韓國電影很敢拍嗎?

      閑人電影
      2026-02-09 18:57:35
      你聽過最勁爆的瓜是啥?網友:被大八歲的補習班老師表白了

      你聽過最勁爆的瓜是啥?網友:被大八歲的補習班老師表白了

      帶你感受人間冷暖
      2025-11-26 00:10:06
      發個帖都撐不過倆小時,居然有心情看虛幻的《鏢人》?

      發個帖都撐不過倆小時,居然有心情看虛幻的《鏢人》?

      老蕭雜說
      2026-02-08 13:11:02
      楊冪開撕微博風波發酵!辛芷蕾大粉開撕,楊冪工作室徹底怒了!

      楊冪開撕微博風波發酵!辛芷蕾大粉開撕,楊冪工作室徹底怒了!

      古希臘掌管月桂的神
      2026-02-07 19:17:33
      2026-02-10 06:51:00
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1522文章數 13252關注度
      往期回顧 全部

      科技要聞

      實測|字節新模型帶著音效和復雜運鏡殺瘋了

      頭條要聞

      人民日報評"南博事件":無論涉及到什么人 絕不放任

      頭條要聞

      人民日報評"南博事件":無論涉及到什么人 絕不放任

      體育要聞

      不會打籃球,如何入選詹娜前男友第一陣容

      娛樂要聞

      央視電影活動名場面!明星站位太講究

      財經要聞

      滬深北交易所優化再融資 釋放3個信號

      汽車要聞

      長安將搭鈉電池 好比汽車要裝柴油機?

      態度原創

      手機
      教育
      藝術
      本地
      軍事航空

      手機要聞

      紅米放大招:K90 Ultra配風扇+BOSE音效,平板電池9000mAh!

      教育要聞

      選政史地男生別急!國防科大和武警警官學院報考解析

      藝術要聞

      301.7米!安徽最高、中國最長的樓,外墻寫滿篆書

      本地新聞

      圍觀了北京第一屆黑色羽絨服大賽,我笑瘋了

      軍事要聞

      美伊最敏感時刻 林肯號航母迎來三位“不速之客”

      無障礙瀏覽 進入關懷版