久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python獲取響應某個字段值的3種實現方法

瀏覽:3日期:2022-07-26 18:50:00

近期將要對兩個接口進行測試,第一個接口的響應值是第二個接口的查詢條件。為了一勞永逸,打算寫個自動化測試框架。因為請求和響應都是xml格式的,遇到的問題就是怎么獲取xml響應的某一個值。

嘗試了很多博客的方法,最終代碼實現如下:

#!/usr/bin/python# -*- coding: UTF-8 -*-import requestsimport reimport unitestxmlhead=(’xml格式報文頭’)xmlhead=(’xml格式報文體’)result =request.post(url,data={’xmlhead’:xmlhead,’xmlbody’:xmlbody})#獲取響應字符串的某一個值(可以對字符串采取下標切片方式,此處采用的是正則表達式)data=’<key值>(.*?)</key值>’ #將想要的值先用正則表達式替代result_data=re.findall(data,result.text) #引入re模塊,利用正則表達式finall函數去響應字符串result.text里匹配。

最好用re.match()或re.search()函數,因為我調用這兩個函數一直報不存在此函數屬性,所以調用了re.findall函數

而今天在看視頻時,獲悉了兩種更簡單獲取響應字符串某個值的方法,

個人感覺比正則表達式思維給簡潔,在此分享:

result_json=result.json() #引入json模塊,將響應結果轉變為字典格式response_data=result_json[父元素1][子元素2] #獲取想要的值

result_json=eval(result.text)[父元素1][子元素2] #利用eval函數將字符串轉變為字典,在字典中獲取想要的value值

補充知識:python進行接口請求,第一個接口返回的數據作為第二個參數的入參

直接看代碼吧!

from operator import pos #導入包 定義要使用那個類import requestsimport jsonurl = ’http://123.56.22.39:48083/web/v2/user/userLogin’date={ ’userName’:’admin’, ’password’:’admin’}r=requests.post(url=url,data=date)print(r.status_code)print(r.text)print(r.json()[’data’][’token’])url2 = ’http://123.56.22.39:48083/web/v2/user/logout’date1={ ’userId’:1, ’token’:r.json()[’data’][’token’]}r2 = requests.post(url=url2,data=date1)print(r2.status_code)print(r2.text)

返回數據為

200{'code':0,'msg':'請求成功','userId':0,'token':null,'data':{'role':1,'videoPower':'1','snAuthPower':'1','userId':1,'token':'9f88cdad3c3b4e748e5367fb55cba90e'}}9f88cdad3c3b4e748e5367fb55cba90e #第一個接口返回的數據200{'code':0,'msg':'請求成功','userId':0,'token':null,'data':null}

第一個接口返回的token數據 作為第二個接口token的入參。

以上這篇python獲取響應某個字段值的3種實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 巴林右旗| 类乌齐县| 灵川县| 闽侯县| 伊宁县| 库伦旗| 银川市| 和政县| 青岛市| 建始县| 汽车| 台北市| 濮阳市| 文安县| 曲阜市| 长岭县| 金阳县| 抚远县| 平武县| 黔南| 东山县| 岳阳县| 泾阳县| 抚远县| 沁水县| 永修县| 常州市| 顺昌县| 肥东县| 右玉县| 那曲县| 山丹县| 嘉峪关市| 东莞市| 瑞安市| 治多县| 砀山县| 离岛区| 东明县| 兰坪| 梧州市|