8s yaml 配置生成_接口测试框架实战(六) | 配置的数据驱动
《Python 测试开发实战进阶》课程,4 个月挑战 BAT 大厂年薪 50W+ Offer,文末加群!
在实际工作中,为了便于维护,对于环境的切换和配置,通常不会使用硬编码的形式完成。在之前文章《多环境下的接口测试》中,已经介绍了如何将环境的切换作为一个可配置的选项。本文会把这部分内容进行重构,使用数据驱动的方式完成多环境的配置。
环境准备
参考《多环境下的接口测试》,将环境配置部分改为数据驱动的模式:
代码如下:
#把host修改为ip,并附加host header
env={"docker.testing-studio.com": {"dev": "127.0.0.1","test": "1.1.1.2" },"default": "dev"}data["url"]=str(data["url"]).replace("docker.testing-studio.com", env["docker.testing-studio.com"][env["default"]])data["headers"]["Host"]="docker.testing-studio.com"
实战演示
依然以 YAML 为示例,将所有的环境配置信息放到 env.yml
文件中。如果怕出错,可以先使用 yaml.safe_dump(env)
将 dict 格式的代码转换为 YAML。
如下所示,打印出来的,就是成功转换 YAML 格式的配置信息:
def test_send(self): env={"docker.testing-studio.com": {"dev": "127.0.0.1","test": "1.1.1.2" },"default": "dev" } yaml2 = yaml.safe_dump(env) print("") print(yaml2)
将打印出来的内容粘贴到 env.yml
文件中:
docker.testing-studio.com:dev: "127.0.0.1"test: "1.1.1.2"level: 4default:"dev"
将环境准备中的代码稍作修改,把 env
变量从一个典型 dict 改为使用 yaml.safe_load
读取 env.yml
:
# 把host修改为ip,并附加host headerenv = yaml.safe_load(open("./env.yml"))data["url"] = str(data["url"]).\ replace("docker.testing-studio.com", env["docker.testing-studio.com"][env["default"]])data["headers"]["Host"] = "docker.testing-studio.com"
如此一来,就可以实现使用数据驱动的方式,通过修改 env.yml
文件来直接修改配置信息。
每日一问
关于测试的数据驱动,你有没有遇到过令你印象深刻的难题,或者可分享的实战经验?欢迎在评论区留言。
更多接口测试框架实战进阶内容,我们在后续文章分享。关注 「霍格沃兹测试学院」公众号,获取更多测试开发干货内容。
推荐学习
霍格沃兹出品 《测试开发实战进阶》课程,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践。4 个月 20+ 项目实战强化训练,带你一站式掌握 BAT 测试开发工程师必备核心技能(对标阿里P6+,年薪50W+)!学员直推 BAT 名企测试经理,普遍涨薪 50%+!
?15 期热招中,入群获取完整大纲?
Python 测试开发实战进阶,挑战阿里P6+,年薪50W+!
接口测试框架实战(五) | 测试数据的数据驱动
接口测试框架实战(四) | 通用 API 封装实战
接口测试框架实战(三) | APIObject 模式、原则与应用
接口测试框架实战(二) | 搞定多环境下的接口测试
接口测试框架实战(一) | 流程封装与基于加密接口的测试用例设计
干货 | 一文搞定 pytest 自动化测试框架(一)
干货 | 一文搞定 pytest 自动化测试框架(二)
Python 自动化测试(三): pytest 参数化测试用例构建
Python 自动化测试(四):数据驱动
Python 自动化测试(五): Pytest 结合 Allure 生成测试报告
干货 | 一文搞定 Linux 常用高频命令
戳“阅读原文”,提升自己的核心竞争力吧!
8s yaml 配置生成_接口测试框架实战(六) | 配置的数据驱动相关推荐
- CSDN【top1】Pytest接口测试框架实战项目搭建
一.前言 想想之前玩的框架,做的项目都是把数据用例冗余到一起的,不符合数据用例分离的思想,所以准备基于pytest搭建个测试框架,支持数据用例分离,接下来会用一系列文章逐步介绍整个框架是怎么搭建起来的 ...
- python接口测试框架实战与自动化进阶(三)
python接口测试框架实战与自动化进阶 一.持续集成 1.持续集成环境搭建 1)安装Jenkins 官网下载后直接安装:https://jenkins.io/ 终端直接安装及启动:java -jar ...
- 8s yaml 配置生成_cfg4py:一个严肃的Python配置模块应有的风格-层级式、部署环境自适应、自动补全...
关于如何配置一个Python程序,如果你还停留在使用ini,json,yaml,xml等文件格式之争,或者还在为使用哪个库来加载配置纠结,只能说明你还没有开发过一个严肃认真的大型Python应用程序. ...
- python consul配置中心_微服务注册发现配置中心-consul
Consul详解 近期在微服务业务中用的注册中心,在此简单记录下以备后用. 一 概述 1.1 概念 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.Con ...
- @scheduled注解配置时间_探究 Spring 的定时任务配置
作者 | 郭朝兴 责编 | Elle 最近在项目开发中进行了一些Spring定时任务的开发工作,在开发过程中对Spring定时任务的配置方式进行了一些研究,现在对各种配置方式进行一个总结.Schedu ...
- eigrp配置实验_路由器 OSPF 动态路由配置
本文档详细介绍路由器 OSPF 动态路由配置的方法,文内含长段代码可复制可往左滑,希望对大家有帮助! 实验目的 掌握 OSPF 协议的配置方法 掌握查看通过动态路由协议 OSPF 学习产生的路由 熟悉 ...
- 如何查看笔记本电脑配置参数_江淮平板运输车图片配置参数查看(罗平)
江淮平板运输车图片配置参数查看(罗平) 平板运输车制造厂家,平板运输车种类有:蓝牌平板车,单桥平板车,三桥平板运输车,四桥平板运输车,东风平板运输车,解放平板运输车,江淮平板运输车,大运平板运输车,东 ...
- 配置中文_星球大战:战机中队配置需求公布 支持中文
近日<星球大战>系列新作<星球大战:战机中队>公布,该作采用寒霜引擎打造,支持中文.游戏将于2020年10月3日发售,预购价格为238元,登陆Xbox One/PS4/PC(S ...
- word打开老是配置进度_小白教程 | office出现配置进度框,怎么办?
最近很多同学在备考二级时候,自己的电脑上office软件Word或者Excel出问题了,每次打开都会出现配置进度框. 这种情况怎么办呢? 这种情况都是注册表的问题,马上安排解决 之前在 右键菜单没有 ...
最新文章
- javascript与浏览器学习(一)
- C#实现快速重命名JPEG文件
- 基于MATLAB均值漂移图像分割技术
- c语言不可见字符的ascii,转CHAR不可见字符
- xpath之string(.)方法
- 有道云 语法高亮_antlr语法增强使用
- C++普通类继承模版类demo
- 基于java springboot框架的电子发票管理系统
- 安防监控系统百问百答
- excel汇总报表如何做?
- 数据分析的工作目标是什么
- python使用numba库实现gpu加速
- docker swarm实践爆心肝总结全在这里,火速收藏!!!
- CIDR表示IP地址
- 主机、web漏洞修复整理
- QQ传输文件原理参考(来自互联网)
- 转子豪兄 树莓派上安装OpenCV
- 漫画解读:车规芯片为何比普通芯片贵?跟普通芯片有什么差异?
- js判断当前设备和获取设备、浏览器宽高
- 独立钻石Solitaire算法求解
热门文章
- zune自搭虚拟服务器离线升级,Zune 30g 固件更新至 3.3 记录
- 常用计算机网络性能指标的是什么,什么是Bit?【计算机网络的性能指标】
- 2020非全日计算机博士,在职攻读博士是不是非常难,免考在职博士和非全日博士有什么不同...
- n.html id=198,YPE htmlhtml lang=enhead data-n-head-ssrtitle data-n-=true小程序获取不到unionid 微信开放社区...
- JavaScript方法——call和apply
- SVN 本地文件锁/服务端文件锁清除步骤
- webstorm最新破解方法
- 推荐文章:机器学习:“一文读懂机器学习,大数据/自然语言处理/算法全有了...
- Python之路,day4-Python基础
- DELPHI跨平台的临界替代者