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 相关文章推荐
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
Python循环语句中else的用法总结
Sep 11 Python
import的本质解析
Oct 30 Python
Python编程实现粒子群算法(PSO)详解
Nov 13 Python
Python基于pandas实现json格式转换成dataframe的方法
Jun 22 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
python操作文件的参数整理
Jun 11 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
通过实例了解python property属性
Nov 01 Python
python中format函数如何使用
Jun 22 Python
django中ImageField的使用详解
Dec 21 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 xml留言板 xml存储数据的简单例子
2009/08/24 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
php实现记事本案例
2020/10/20 PHP
js 匿名调用实现代码
2009/06/19 Javascript
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
javascript中函数的写法实例代码详解
2018/10/28 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
对numpy中轴与维度的理解
2018/04/18 Python
如何通过python画loss曲线的方法
2019/06/26 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
房地产销售员的自我评价分享
2013/12/04 职场文书
实习鉴定评语
2014/01/19 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
2014年纠风工作总结
2014/12/08 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
文艺委员竞选稿
2015/11/19 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
小学四年级作文之写景
2019/08/23 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS