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利用beautifulSoup实现爬虫
Sep 29 Python
Python优化技巧之利用ctypes提高执行速度
Sep 11 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
python添加菜单图文讲解
Jun 04 Python
Python 旋转打印各种矩形的方法
Jul 09 Python
简单了解Django ContentType内置组件
Jul 23 Python
Django Rest framework认证组件详细用法
Jul 25 Python
Python yield的用法实例分析
Mar 06 Python
python程序需要编译吗
Jun 19 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 Python
python实战之90行代码写个猜数字游戏
Apr 22 Python
python通过函数名调用函数的几种方法总结
Jun 07 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
php中看实例学正则表达式
2006/12/25 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
php动态绑定变量的用法
2015/06/16 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
js数据类型检测总结
2018/08/05 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
如何提高MySql的安全性
2014/06/19 面试题
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
检查接待方案
2014/02/27 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers