python获取响应某个字段值的3种实现方法


Posted in Python onApril 30, 2020

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

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests
import re
import unitest
xmlhead=('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 requests
import json
url = '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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
Python2.x中文乱码问题解决方法
Jun 02 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
python实现字符串和字典的转换
Sep 29 Python
基于python指定包的安装路径方法
Oct 27 Python
pygame游戏之旅 添加键盘按键的方法
Nov 20 Python
python构建基础的爬虫教学
Dec 23 Python
jupyter notebook清除输出方式
Apr 10 Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 Python
Python用dilb提取照片上人脸的示例
Oct 26 Python
python二维图制作的实例代码
Dec 03 Python
Python帮你解决手机qq微信内存占用太多问题
Feb 15 Python
如何在python中执行另一个py文件
Apr 30 #Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
Apr 30 #Python
Python实现转换图片背景颜色代码
Apr 30 #Python
Python requests.post方法中data与json参数区别详解
Apr 30 #Python
python:解析requests返回的response(json格式)说明
Apr 30 #Python
python 串行执行和并行执行实例
Apr 30 #Python
Django Channel实时推送与聊天的示例代码
Apr 30 #Python
You might like
php Try Catch异常测试
2009/03/01 PHP
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
Php图像处理类代码分享
2012/01/19 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
php实现映射操作实例详解
2019/10/02 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
webpack学习--webpack经典7分钟入门教程
2017/06/28 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
Python与R语言的简要对比
2017/11/14 Python
python实现的发邮件功能示例
2019/09/11 Python
python实现XML解析的方法解析
2019/11/16 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
2014年班务工作总结
2014/12/02 职场文书