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 相关文章推荐
Python-基础-入门 简介
Aug 09 Python
python提示No module named images的解决方法
Sep 29 Python
用Python编写一个简单的FUSE文件系统的教程
Apr 02 Python
Python Web框架Tornado运行和部署
Oct 19 Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
Python实现SQL注入检测插件实例代码
Feb 02 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
基于Python的Jenkins的二次开发操作
May 12 Python
python反扒机制的5种解决方法
Feb 06 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
PHP中SESSION过期设置
2021/03/09 PHP
对联广告js flash激活
2006/10/19 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
python设置检查点简单实现代码
2014/07/01 Python
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python批量按比例缩小图片脚本分享
2015/05/21 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python列表解析操作实例总结
2020/02/26 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
教师简历自我评价
2014/02/03 职场文书
初中家长寄语
2014/04/02 职场文书
反腐倡廉标语
2014/06/24 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
销售会议开幕词
2015/01/28 职场文书
党员转正意见怎么写
2015/06/03 职场文书
初中班干部工作总结
2015/08/10 职场文书
生活委员竞选稿
2015/11/21 职场文书