python接口测试-项目实践(二)获取接口响应,取值(re、json)
一 分别请求3个接口,获取响应。
第三方接口返回有两种:1 纯字符串 2 带bom头的json字串
import requests api1 = 'url1'
response1 = requests.get(api1)
result1 = response1.content.decode('utf-8-sig') #带BOM头的响应 api2 = 'url2'
response2 = requests.get(api2)
result2 = response2.content.decode('utf-8-sig') #带BOM头的响应 api3 = 'url3'
response3 = requests.get(api3)
result3 = response3.text.replace('\\n', '').replace('\\', '') #去除特殊字符
二 从响应中提取所需数据。
1 正则匹配
def findinfo_from_api(str1,str2):
'''
从str1中找第一个"str2":...的值
:param str1:
:param str2:
:return: str2冒号后面的值
'''
pattern1 = '"'+str2 + '":(.*?),"' #左右边界
result = re.search(pattern1, str1) #正则匹配
if result:
result = result.group(1)
return result
2 json格式的数据,取第一行标题对应的最后一行的值
def get_last_value_of_key(resultlist,key):
'''
从二维数组取第一行的元素对应的最后一行的值
:param resultlist:
:param key:
:return: value
'''
for i in range(0,len(resultlist[0])):
if key == resultlist[0][i]: #第一行中找到对应字段名的索引
result = resultlist[-1][i]
return result #返回数组最后一行对应的值
python接口测试-项目实践(二)获取接口响应,取值(re、json)的更多相关文章
- python接口测试-项目实践(一) 测试需求与测试思路
测试需求: 第三方系统提供了3个接口,需要测试前端显示的字符串里的对应数据与接口数据是否一致. 测试分层: 开发人员的设计:每周从接口取一次数据,拼接完成后保存到数据库.再从数据库取数提供接口给前端开 ...
- python接口测试-项目实践(八) 完成的接口类和执行脚本
脱敏后脚本 projectapi.py: 项目接口类 # -*- coding:utf-8 -*- """ xx项目接口类 2018-11 dinghanhua &quo ...
- python接口测试-项目实践(五) 实际结果与预期结果对比之 接口对比
五 与开发接口对比 1 分别将三个接口封装成三个函数,传入接口参数,返回提取并处理后的各字段. 拼接字符串作为单独的函数. def api_1(code): 发送请求获取响应 提取响应数据 响应数据转 ...
- python接口测试-项目实践(七)脚本优化
七 脚本优化:重复代码的提取成函数:与项目接口相关的都封装到一个类中:添加手工验证脚本,增加输入值的判断逻辑 将所有与该项目接口相关的封装成类 class ProjectApi: #3个数据源接口 d ...
- python接口测试-项目实践(四)拼接出预期结果
四 字符串拼接 空值处理 当某字段接口数据为空,则不显示相关字串. 比如字串原本是 "...,净资产收益率:ROE%",当接口数据中ROE为空,不显示',净资产收益率:%' 三目运 ...
- python接口测试-项目实践(三)数据的处理示例
三 数据处理 枚举值的转换.如接口返回1-5,需转成对应的中文. typecap = findinfo_from_api(result, 'TypeCap') dictcap = {': '微盘'} ...
- python接口测试-项目实践(六) 实际结果与预期结果对比之 数据源与数据库对比
六 与数据库对比 import pymssql def compare_expected_vs_db(): diff_list = [] # 存储不一致的代码 with pymssql.connect ...
- Python 项目实践二(生成数据)第一篇
上面那个小游戏教程写不下去了,以后再写吧,今天学点新东西,了解的越多,发现python越强大啊! 数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的 ...
- Python 项目实践二(下载数据)第四篇
接着上节继续学习,在本节中,你将下载JSON格式的人口数据,并使用json模块来处理它们.Pygal提供了一个适合初学者使用的地图创建工具,你将使用它来对人口数据进行可视化,以探索全球人口的分布情况. ...
随机推荐
- [转] Nook Glowlight Plus入门指南(Root及相关软件设置)
[From] http://www.dakang.info/nook-glowlight-plus-root/ 本文仅仅是对大神 xukong及众多热心Hper帖子的一个汇总,稍作个人补充,方便查询, ...
- opatch on-line patch and standby-fisrt patch
opatch on-line patch and standby-fisrt patch on-line patch 有缺陷,不建议使用,standby-fisrt patch 可以考虑使用 #### ...
- (转)Linux curl命令参数详解
Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- TimesTen启动停止命令
ttDaemonAdmin –start 启动 ttDaemonAdmin –stop 停止 或打开服务cmd-serviers.msc,找到相关服务启动或停止.
- Coursera 机器学习 第7章 Support Vector Machines 学习笔记
7 Support Vector Machines7.1 Large Margin Classification7.1.1 Optimization Objective支持向量机(SVM)代价函数在数 ...
- 白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档
前言 通过之前的两篇文章,可以简单的搭建一个路由网关了.而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的.现在由于使用了统一 ...
- ie8点击焦点有虚线框兼容问题
a标签的: 方法一:在IE下是使用html属性:hideFoucs,在HTML标签中加上hidefocus=”true” 属性即可,但这个属性是IE私有的,Firefox是不认的. <a hre ...
- [转]微信小程序安全浅析
本文转自:http://blog.csdn.net/baize_security/article/details/54582854 引言 近期微信小程序重磅发布,在互联网界掀起不小的波澜,已有许多公司 ...
- bootstrap --datetimepicker之时间段选择
文件引入 <script type="text/javascript" src="css/jquery-3.2.1.js"></script& ...
- PHP配置错误信息回报的等级
Error_reporting:配置错误信息回报的等级 1 E_ERROR 致命的运行错误 2 E_WARNING 运行时警告( ...