python怎么获取响应某个字段值

  介绍

小编这次要给大家分享的是python怎么获取响应某个字段值,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

近期将要对两个接口进行测试,第一个接口的响应值是第二个接口的查询条件。为了一劳永逸,打算写个自动化测试框架。因为请求和响应都是xml格式的,遇到的问题就是怎么获取xml响应的某一个值。

尝试了很多博客的方法,最终代码实现如下:

# !/usr/bin/python   # - * -编码:utf - 8 - *   进口的要求   进口再保险   进口单位   xmlhead=(& # 39; xml格式报文头& # 39;)   xmlhead=(& # 39; xml格式报文体& # 39;)   结果=request.post (url, data=https://www.yisu.com/zixun/{xmlhead: xmlhead,“xmlbody”: xmlbody})   #获取响应字符串的某一个值(可以对字符串采取下标切片方式,此处采用的是正则表达式)   data=' <键值>(* & # 63;) '   #将想要的值先用正则表达式替代   result.text result_data=re.findall(数据)   #引入再保险模块,利用正则表达式finall函数去响应字符串result.text里匹配。

最好用re.match()或re.search()函数,因为我调用这两个函数一直报不存在此函数属性,所以调用了再保险。findall函数

而今天在看视频时,获悉了两种更简单获取响应字符串某个值的方法,

个人感觉比正则表达式思维给简洁,在此分享:

result_json=result.json ()   #引入json模块,将响应结果转变为字典格式   response_data=https://www.yisu.com/zixun/result_json[父元素1][子元素2]   #获取想要的值

result_json=eval (result.text)[父元素1][子元素2]
#利用eval函数将字符串转变为字典,在字典中获取想要的价值值

<强> python进行接口请求,第一个接口返回的数据作为第二个参数的入参

直接看代码吧!

从运营商进口pos #导入包定义要使用那个类
  进口的要求
  进口json
  url=& # 39; http://123.56.22.39:48083/web/v2/user/userLogin& # 39;
  日期={
  & # 39;用户名# 39;:& # 39;行政与# 39;
  & # 39;密码# 39;:& # 39;行政与# 39;
  }
  r=requests.post (url=url, data=https://www.yisu.com/zixun/date)
  打印(r.status_code)
  打印(r.text)
  打印(r.json()(“数据”)(“令牌”))
  url2=' http://123.56.22.39:48083 web/v2/user/注销的
  date1={
  “标识”:1、
  “令牌”:r.json()(“数据”)(“令牌”)
  }
  r2=requests.post (url=url2数据=date1)
  打印(r2.status_code)
  打印(r2.text) 

返回数据为

200   {“code": 0,“msg":“请求成功“,“userId": 0,“token":空,“data": {“role": 1、“videoPower":“1“,“snAuthPower":“1“,“userId": 1,“token":“9 f88cdad3c3b4e748e5367fb55cba90e"}}   9 f88cdad3c3b4e748e5367fb55cba90e第号一个接口返回的数据   200   {“code": 0,“msg":“请求成功“,“userId": 0,“token":空,“data":零}

第一个接口返回的令牌数据作为第二个接口牌的入参。

看完这篇关于python怎么获取响应某个字段值的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

python怎么获取响应某个字段值