测试需求: 第三方系统提供了3个接口,需要测试前端显示的字符串里的对应数据与接口数据是否一致. 测试分层: 开发人员的设计:每周从接口取一次数据,拼接完成后保存到数据库.再从数据库取数提供接口给前端开发,前端展示到页面. 三个层次: 1 常规功能测试方式,验证接口数据与前端数据的一致性[因前端数据嵌入在客户端内无法提取,该步可实现脚本协助手工验证] 2 验证数据源接口与前端接口的一致性[前端接口数据每次最多取100条数据] 3 验证数据源接口与数据库数据的一致性[可实现全量验证] 脚本思路: 一…
脱敏后脚本 projectapi.py: 项目接口类 # -*- coding:utf-8 -*- """ xx项目接口类 2018-11 dinghanhua """ import requests import re import pymssql #region 工具类函数 def findinfo_from_apiquerystockdetailinfo(str1,str2): """ 从str1中找第一个&q…
七 脚本优化:重复代码的提取成函数:与项目接口相关的都封装到一个类中:添加手工验证脚本,增加输入值的判断逻辑 将所有与该项目接口相关的封装成类 class ProjectApi: #3个数据源接口 def api_1(self,code): pass def api_2(self,code): pass def api_3(self,code): pass #数据源拼接函数 def result_of_3api(self,code): pass #获取开发接口数据 def api_dev(sel…
五 与开发接口对比 1 分别将三个接口封装成三个函数,传入接口参数,返回提取并处理后的各字段. 拼接字符串作为单独的函数. def api_1(code): 发送请求获取响应 提取响应数据 响应数据转换 将所取字段和值以字典形式保存到result_dict返回 def result_of_3api(code): result1 = api_1(code) #请求三个接口 result2 = api_2(code) result3 = api_3(code) result = 字符串拼接 retu…
六 与数据库对比 import pymssql def compare_expected_vs_db(): diff_list = [] # 存储不一致的代码 with pymssql.connect(server=',database='db') as myconnect: with myconnect.cursor(as_dict=True) as cursor: cursor.execute("SELECT top 10 code,content FROM [db].[dbo].[tabl…
四 字符串拼接 空值处理 当某字段接口数据为空,则不显示相关字串. 比如字串原本是 "...,净资产收益率:ROE%",当接口数据中ROE为空,不显示',净资产收益率:%' 三目运算符 ROE = ',净资产收益率:{0}%'.format(ROE) if ROE else '' 值的相关性 当某一个值为空时,相关联的另一个也置为空 if val1 == '' or val2 == '': val1 = val2 = '' 字符串拼接 result = '{val1}{val2}{va…
三 数据处理 枚举值的转换.如接口返回1-5,需转成对应的中文. typecap = findinfo_from_api(result, 'TypeCap') dictcap = {': '微盘'} result_dict['TypeCap'] = dictcap[typecap] 去除开头的字符串 公司 公司是 公司是一家 if string.startswith('公司是一家'): result_dict['string'] = string[5:] elif string.startswi…
一 分别请求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(…
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 Python接口测试实战3(上)- Python操作数据库 Python接口测试实战3(下)- unittest测试框架 Python接口测试实战4(上) - 接口测试框架实战 Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例…
测试需求: 项目包含两个数据展示页面,数据均来自于四个数据源接口. 测试操作步骤: 选择5个大类型中的一个,每个大类型下有3个子类型,选择任一子类型,页面数据更新.需验证页面上的数据与数据源接口数据一致. 自动化必要性: 1 更新频率:接口数据每天更新 2 数据量:单个子类型页面的数据量较大 ,且需全量覆盖15个子类型的数据验证 测试思路:分别获取页面和接口数据,对比是否一致 dinghanhua 2019-01 一 获取接口数据 [预期结果] --requests --发送请求,获取响应 --…