今日内容:接口自动化测试框架封装之数据类型处理以及DDT数据驱动封装
一、数据类型处理
“${read_extract_data(tag_id)}” 替换成 110
json: {"tag":{"id":"${read_extract_data(tag_id)}"}}
二、DDT数据驱动封装
数据驱动可以利用 excel,csv,yaml
用excel,csv的缺点
1.数据类型难处理
2.调用函数不是很方便
简单的操作:yaml中用例复制一遍 改一些参数信息

DDT数据驱动方法 $ddt{}

对 $ddt{}中的数据数据进行替换

def ddt(caseinfo):if "parameterize" in caseinfo.keys():caseinfo_str = json.dumps(caseinfo)for param_key, param_value in caseinfo["parameterize"].items():key_list = param_key.split("-")print("------key和value------")print(key_list,param_value)length_flag = Trueprint("------data数据列表------")#规范yaml数据文件的写法data_list = read_data_yaml(param_value)for data in data_list:print(data)if len(data) != len(key_list):length_flag = Falsebreak# 替换值print("------替换值------")new_caseinfo = []if length_flag:for x in range(1, len(data_list)):  # 循环数据的行数temp_caseinfo = caseinfo_strfor y in range(0, len(data_list[x])):  # 循环数据列if data_list[0][y] in key_list:# 替换原始的yaml里面的$ddt{}# 数字类型去掉“”if isinstance(data_list[x][y], int) or isinstance(data_list[x][y], float):temp_caseinfo = temp_caseinfo.replace('"$ddt{'+data_list[0][y]+'}"',str(data_list[x][y]))else:temp_caseinfo = temp_caseinfo.replace("$ddt{"+data_list[0][y]+"}", str(data_list[x][y]))print(temp_caseinfo)new_caseinfo.append(json.loads(temp_caseinfo))return new_caseinfoelse:return caseinfo
    @allure.story("删除标签")@pytest.mark.parametrize("caseinfo", read_testcase_yaml("./testcases/wx/delete_flag.yaml"))def test_delete_flag(self, caseinfo):res = RequestsUtil("base", "base_weixin_url",WxFun()).standard_yaml(caseinfo)

运行结果

python+requests+pytest 接口自动化框架(八)相关推荐

  1. python+requests+pytest 接口自动化框架(四)

    目录 一.requests库简介 二.requests库常用方法 三.request()返回的response对象 四.实战案例 post(url, data=None, json=None, **k ...

  2. python+requests+pytest 接口自动化框架(一)

    目录 一.Pytest详解以及常用的插件安装 二.Pytest默认的测试用例的规则 三.Pytest用例运行方式以及参数 1.命令行模式运行 命令:pytes 2.主函数模式运行 3.基于pytest ...

  3. 浅谈Python+requests+pytest接口自动化测试框架的搭建

    框架的设计思路 首先要明确进行接口自动化需要的步骤,如下图所示: 然后逐步拆解需要完成的工作: 1)了解分析需求:了解接口要实现的功能 2)数据准备:根据开发文档确定接口的基本情况,知晓接口的url. ...

  4. 最全最新pytest接口自动化框架

    pytest接口自动化框架介绍: Python+pytest+allure+log+yaml(默认数据和动态传参)+数据驱动+关键字驱动+pymysql(数据清理尽量接口清理)+一键切换环境+多角色随 ...

  5. 浅谈python+requests实现接口自动化

    前言 今年2月调去支持项目接口测试,测试过程中使用过postman.jmeter工具,基本能满足使用,但是部分情况下使用较为麻烦. 比如:部分字段存在唯一性校验或字段间有业务性校验,每次请求均需手工修 ...

  6. pytest接口自动化框架搭建

    目录: 一.设计思路-整体框架: 二.具体框架搭建 1.公共方法-common 1.1.yaml_util.py 1.2.excel_util.py 1.4.text_ util.py 1.5.exc ...

  7. 测试之路 pytest接口自动化框架扩展-GUI窗口

    各位大佬好~上期内容梳理了下接口自动化脚本扩展思路,以及成果展示,本期开始就从代码角度出发.分享出源码后的同时将我的思路一并梳理出来.好了,废话不多,昊料开始~ 引言 本期先从数据入口开始,扩展脚本初 ...

  8. Python+Requests实现接口自动化

    一般对于自动化的理解,有两种方式的自动化. 第一,不需要写代码,完全由工具实现,这种方式的工具一般是公司自己研发的,方便黑盒测试人员使用.这种工具的特点是学习成本低,方便使用,但是通用性不强,也就是换 ...

  9. python+pytest接口自动化框架(5)-requests发送post请求

    在HTTP协议中,与get请求把请求参数直接放在url中不同,post请求的请求数据需通过消息主体(request body)中传递. 且协议中并没有规定post请求的请求数据必须使用什么样的编码方式 ...

最新文章

  1. JVM 老年代对象来源
  2. LeetCode 832 Flipping an Image
  3. python分析excel数据-对照Excel使用Python进行数据分析,更快掌握
  4. 查询oracle中所有用户信息
  5. webstorm 代码提示
  6. python 串口助手 简书_python用pyserial读取串口问题解决
  7. Leetcode--1028. 从先序遍历还原二叉树(Java)
  8. 拓端tecdat|R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
  9. FlashFXP中文破解解压版
  10. 读写算杂志读写算杂志社读写算编辑部2022年第16期目录
  11. 【LSTM实战】股票走势预测全流程实战(stock predict)
  12. C语言求某天是一年里的第几天(详细)
  13. c语言综合合计实验报告,C语言设计实验报告(第一次)
  14. 清华叉院弋力:从谷歌研究科学家到清华任教,我想看远一点
  15. 汽车SoC安全故障的自动识别(下):案例展示和指标分析
  16. Redis的INCR方法
  17. android app防止锁屏_Android 禁止屏幕休眠和锁屏的方法
  18. 因为热爱,所以坚持;因为坚持,得以突破!
  19. php xampp教程,xampp教程(一):xampp下载,安装,配置,运行PHP的web项目
  20. 微信兵锋所向 阿里必将血流成河

热门文章

  1. 2022年数模国赛C题(岭回归、区间预测、矩阵热力图、Fisher判别分类模型)——总结心得(附最后一次数模经历,Matlab\SPSS\Lingo的理解综合)
  2. oracle导出到hive,从Oracle导出数据并导入到Hive
  3. 抖音很火的情侣公众号天气推送
  4. SaaS、PaaS、IaaS、aPaaS、iPaaS、RaaS、RPAaaS,傻傻分不清楚?
  5. python素数生成器_在python中用滤波器和生成器生成无穷素数
  6. 整理一些自己常用软件
  7. Office 办公软件 word Excel PPT(2)
  8. 电子通讯秤对接配置详解!
  9. mount命令 – 文件系统挂载
  10. 非隔离AC-DC恒压开关电源控制驱动降压芯片功能应用及原理图参考