<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
      網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

      學(xué)會(huì)這個(gè)Python庫(kù),接口測(cè)試so easy!

      0
      分享至

      摘要:我們?cè)谧鼋涌跍y(cè)試時(shí),大多數(shù)返回的都是json屬性,我們需要通過(guò)接口返回的json提取出來(lái)對(duì)應(yīng)的值,然后進(jìn)行做斷言或者提取想要的值供下一個(gè)接口進(jìn)行使用。

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



      jsonpath

      jsonpath是使用一種簡(jiǎn)單的方法來(lái)提取給定JSON內(nèi)容。在我們做接口測(cè)試時(shí),目前流行的數(shù)據(jù)格式就是JSON格式的,當(dāng)碰到復(fù)雜JSON格式時(shí),我們可以使用JsonPath快速提取數(shù)據(jù)或者更新數(shù)據(jù)。

      安裝:pip install jsonpath。



      小編先通過(guò)正常的接口,獲取一段json數(shù)據(jù)供我們進(jìn)行測(cè)試使用:

      import requests

      #請(qǐng)求天氣的url地址

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

      #請(qǐng)求參數(shù)

      data={

      "city":"上海",

      "key":"331eab8f3481f37868378fcdc76cb7cd"

      #發(fā)送post請(qǐng)求

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

      j=r.json()

      print(j)

      通過(guò)執(zhí)行后,獲取一段我們想要的json數(shù)據(jù)。

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

      "result":{

      "city":"上海",

      "realtime":{

      "temperature":"23",

      "humidity":"25",

      "info":"多云",

      "wid":"01",

      "direct":"西北風(fēng)",

      "power":"2級(jí)",

      "aqi":"58"

      },

      "future":[

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

      "temperature":"10/23℃",

      "weather":"多云",

      "wid":{

      "day":"01",

      "night":"01"

      },

      "direct":"西南風(fēng)轉(zhuǎn)東北風(fēng)"

      },

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

      "temperature":"9/15℃",

      "weather":"多云轉(zhuǎn)小雨",

      "wid":{

      "day":"01",

      "night":"07"

      },

      "direct":"東南風(fēng)"

      },

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

      "temperature":"9/13℃",

      "weather":"中雨轉(zhuǎn)小雨",

      "wid":{

      "day":"08",

      "night":"07"

      },

      "direct":"東南風(fēng)轉(zhuǎn)北風(fēng)"

      },

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

      "temperature":"8/15℃",

      "weather":"多云",

      "wid":{

      "day":"01",

      "night":"01"

      },

      "direct":"北風(fēng)轉(zhuǎn)東南風(fēng)"

      },

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

      "temperature":"12/16℃",

      "weather":"晴",

      "wid":{

      "day":"00",

      "night":"00"

      },

      "direct":"東南風(fēng)"

      },

      "error_code":0

      通過(guò)下標(biāo)提取

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

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

      print(data)

      ------------------------------輸出結(jié)果---------------------------

      {'date':'2023-03-16','temperature':'9/15℃','weather':'多云轉(zhuǎn)小雨','wid':{'day':'01','night':'07'},'direct':'東南風(fēng)'}

      可以看到我們想要提取需要找到對(duì)應(yīng)的值,然后在繼續(xù)往下一層一層的查找,如果嵌套層數(shù)過(guò)多,容易出錯(cuò),返回信息格式發(fā)生改變,這里需要修改信息。

      通過(guò)jsonpath提取

      同樣的json數(shù)據(jù),我們通過(guò)jsonpath進(jìn)行提取:

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

      print(data)

      -----------------------------輸出結(jié)果----------------------------

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

      通過(guò)上面的內(nèi)容會(huì)發(fā)現(xiàn),我們直接通過(guò)過(guò)濾器的方式來(lái)講我們的數(shù)據(jù)取出來(lái)了。有點(diǎn)類似我們的正則表達(dá)式。

      jsonpath的其他用法

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

      通過(guò)$獲取屬性值內(nèi)容

      #直接獲取到future的內(nèi)容

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

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

      print(data)

      print(data1)

      -----------------------------輸出結(jié)果----------------------

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

      ['查詢成功!']

      通過(guò)【*】獲取對(duì)應(yīng)值

      通過(guò)上面的json值,獲取到關(guān)于date的時(shí)間值。

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

      print(data)

      -----------------------------輸出結(jié)果----------------------

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

      通過(guò)切片獲取對(duì)應(yīng)值

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

      print(data)

      -----------------------------輸出結(jié)果----------------------

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

      以上只是小編簡(jiǎn)單的介紹幾種jsonpath的使用方法,具體的使用需要大家通過(guò)項(xiàng)目上進(jìn)行結(jié)合使用,這里小編在推薦一個(gè)jsonpath的調(diào)試器,我們可以通過(guò)調(diào)試器進(jìn)行查看編寫(xiě)是否正確:http://www.atoolbox.net/Tool.php?Id=792。



      總結(jié)

      小編通過(guò)簡(jiǎn)單的案例進(jìn)行介紹了如何通過(guò)jsonpath進(jìn)行提取json數(shù)值,方面我們?cè)谧鼋涌跍y(cè)試對(duì)于json的數(shù)據(jù)進(jìn)行解析,文章中沒(méi)有太多的知識(shí)點(diǎn),主要是熟能生巧,經(jīng)常使用,這樣在項(xiàng)目中才能靈活運(yùn)用。感謝您的閱讀,希望對(duì)您有所幫助。

      最后:在我的V:atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。


      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

      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.

      相關(guān)推薦
      熱點(diǎn)推薦
      潘江帶隊(duì)終于打出點(diǎn)東西了!末節(jié)拒用人一根筋,新三巨碾壓新疆!

      潘江帶隊(duì)終于打出點(diǎn)東西了!末節(jié)拒用人一根筋,新三巨碾壓新疆!

      籃球資訊達(dá)人
      2026-04-05 00:40:29
      24小時(shí)內(nèi),美軍為營(yíng)救飛行員,又損失4架戰(zhàn)機(jī)

      24小時(shí)內(nèi),美軍為營(yíng)救飛行員,又損失4架戰(zhàn)機(jī)

      兵國(guó)大事
      2026-04-04 19:47:00
      62年印軍戰(zhàn)斗力如何?陰法唐回憶:很多戰(zhàn)斗,印軍戰(zhàn)死比被俘的多

      62年印軍戰(zhàn)斗力如何?陰法唐回憶:很多戰(zhàn)斗,印軍戰(zhàn)死比被俘的多

      云霄紀(jì)史觀
      2026-03-29 16:54:22
      杜鋒:薩林杰拉傷影響排兵布陣 崔永熙頂四號(hào)位贏下來(lái)非常不容易

      杜鋒:薩林杰拉傷影響排兵布陣 崔永熙頂四號(hào)位贏下來(lái)非常不容易

      狼叔評(píng)論
      2026-04-04 23:10:37
      5萬(wàn)美軍突踩剎車!內(nèi)塔尼亞胡陷死局,狂咬中俄朝,死綁美國(guó)戰(zhàn)車

      5萬(wàn)美軍突踩剎車!內(nèi)塔尼亞胡陷死局,狂咬中俄朝,死綁美國(guó)戰(zhàn)車

      小蔑談事
      2026-04-04 21:13:42
      歐洲媒體沉默了,500美軍在迪拜被一鍋端,傷亡竟只有13人?

      歐洲媒體沉默了,500美軍在迪拜被一鍋端,傷亡竟只有13人?

      趙枹是個(gè)熱血青年
      2026-04-03 21:16:56
      財(cái)神爺講述:做生意人理發(fā)最好的日子,每月這3天,剪一次旺一月

      財(cái)神爺講述:做生意人理發(fā)最好的日子,每月這3天,剪一次旺一月

      古怪奇談錄
      2026-03-24 10:23:03
      網(wǎng)購(gòu)13.8元藍(lán)莓苗后選擇“僅退款”,兩天后女子收到“萬(wàn)古流芳”殯葬用品

      網(wǎng)購(gòu)13.8元藍(lán)莓苗后選擇“僅退款”,兩天后女子收到“萬(wàn)古流芳”殯葬用品

      黃河新聞網(wǎng)呂梁
      2026-04-03 09:25:55
      1999 鶴壁特大奸殺案:房四平一腳跺殺人,囂張語(yǔ)錄震碎三觀

      1999 鶴壁特大奸殺案:房四平一腳跺殺人,囂張語(yǔ)錄震碎三觀

      咪咖事界
      2026-04-03 14:22:33
      于東來(lái)兒媳首次正面露面,顏值封神,和婆婆馬麗撞臉像復(fù)制粘貼

      于東來(lái)兒媳首次正面露面,顏值封神,和婆婆馬麗撞臉像復(fù)制粘貼

      往史過(guò)眼云煙
      2026-03-23 19:27:43
      以軍稱空襲德黑蘭多處關(guān)鍵基礎(chǔ)設(shè)施

      以軍稱空襲德黑蘭多處關(guān)鍵基礎(chǔ)設(shè)施

      界面新聞
      2026-04-04 14:34:26
      伊朗有救了?車臣開(kāi)出參戰(zhàn)條件,局勢(shì)變成3對(duì)1,以色列遭南北夾擊

      伊朗有救了?車臣開(kāi)出參戰(zhàn)條件,局勢(shì)變成3對(duì)1,以色列遭南北夾擊

      董董歷史燴
      2026-04-03 20:56:59
      金昊月薪1300元,瑤瑤媽媽是鄉(xiāng)長(zhǎng),并沒(méi)高攀他家,記者最新采訪

      金昊月薪1300元,瑤瑤媽媽是鄉(xiāng)長(zhǎng),并沒(méi)高攀他家,記者最新采訪

      漢史趣聞
      2026-04-04 17:17:30
      登貝萊:第一個(gè)進(jìn)球?這種球如果讓我射十次,可能也就進(jìn)一次

      登貝萊:第一個(gè)進(jìn)球?這種球如果讓我射十次,可能也就進(jìn)一次

      懂球帝
      2026-04-04 06:03:10
      美容院老板娘大實(shí)話:脫了衣服,女人的差距根本不在臉上!

      美容院老板娘大實(shí)話:脫了衣服,女人的差距根本不在臉上!

      夜深愛(ài)雜談
      2026-03-08 21:28:24
      漫步者把唱片機(jī)塞進(jìn)了音箱,只賣269元

      漫步者把唱片機(jī)塞進(jìn)了音箱,只賣269元

      灰度測(cè)試中
      2026-04-03 19:25:03
      美媒:美軍兩架搜救直升機(jī)被擊中 無(wú)人受傷

      美媒:美軍兩架搜救直升機(jī)被擊中 無(wú)人受傷

      新華社
      2026-04-04 04:12:04
      51歲周迅變樣:滿頭白發(fā)臉?biāo)煽澹T嘴像老奶奶,無(wú)兒無(wú)女成遺憾

      51歲周迅變樣:滿頭白發(fā)臉?biāo)煽澹T嘴像老奶奶,無(wú)兒無(wú)女成遺憾

      悅君兮君不知
      2026-03-20 12:19:00
      逼走陳忠和,打壓劉國(guó)梁,排擠郎平,90歲“體壇惡人”如今怎樣了

      逼走陳忠和,打壓劉國(guó)梁,排擠郎平,90歲“體壇惡人”如今怎樣了

      拳擊時(shí)空
      2026-04-03 05:53:14
      張雪評(píng)哪吒汽車“5億Logo”:張雪機(jī)車Logo是白送的

      張雪評(píng)哪吒汽車“5億Logo”:張雪機(jī)車Logo是白送的

      三言科技
      2026-04-04 17:35:26
      2026-04-05 01:12:49
      51Testing軟件測(cè)試網(wǎng) incentive-icons
      51Testing軟件測(cè)試網(wǎng)
      中國(guó)軟件測(cè)試人的精神家園
      1549文章數(shù) 13258關(guān)注度
      往期回顧 全部

      科技要聞

      內(nèi)存一年漲四倍!國(guó)產(chǎn)手機(jī)廠商集體漲價(jià)

      頭條要聞

      特朗普發(fā)文:距離一切災(zāi)難降臨在伊朗頭上僅剩48小時(shí)

      頭條要聞

      特朗普發(fā)文:距離一切災(zāi)難降臨在伊朗頭上僅剩48小時(shí)

      體育要聞

      剎不住的泰格·伍茲,口袋里的兩粒藥丸

      娛樂(lè)要聞

      Q女士反擊,否認(rèn)逼宋寧峰張婉婷離婚

      財(cái)經(jīng)要聞

      中微董事長(zhǎng),給半導(dǎo)體潑點(diǎn)冷水

      汽車要聞

      17萬(wàn)級(jí)海豹07EV 不僅續(xù)航長(zhǎng)還有9分鐘滿電的快樂(lè)

      態(tài)度原創(chuàng)

      游戲
      健康
      房產(chǎn)
      手機(jī)
      時(shí)尚

      好玩還上頭!創(chuàng)新與傳統(tǒng)并存的戰(zhàn)棋黑馬《永鈴回響》值不值得玩?

      干細(xì)胞抗衰4大誤區(qū),90%的人都中招

      房產(chǎn)要聞

      小陽(yáng)春全面啟動(dòng)!現(xiàn)房,才是這波行情里最穩(wěn)的上車票

      手機(jī)要聞

      華為新機(jī)再曝,旗艦、闊折疊、常規(guī)折疊都有!

      別再穿大一碼了!遮肉根本不是靠寬松

      無(wú)障礙瀏覽 進(jìn)入關(guān)懷版