8s yaml 配置生成_接口测试框架实战(六) | 配置的数据驱动

f7304df1b0b9cd2879b721a288e1825a.png

《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: 4
default:
"dev"

将环境准备中的代码稍作修改,把 env 变量从一个典型 dict 改为使用 yaml.safe_load 读取  env.yml

# 把host修改为ip,并附加host header
env = 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%+!

d72af48c1b0d62cc33a4b3fc41dd06fb.png

?15 期热招中,入群获取完整大纲?

Python 测试开发实战进阶,挑战阿里P6+,年薪50W+!

接口测试框架实战(五) | 测试数据的数据驱动

接口测试框架实战(四) | 通用 API 封装实战

接口测试框架实战(三) | APIObject 模式、原则与应用

接口测试框架实战(二) | 搞定多环境下的接口测试

接口测试框架实战(一) | 流程封装与基于加密接口的测试用例设计

干货 | 一文搞定 pytest 自动化测试框架(一)

干货 | 一文搞定 pytest 自动化测试框架(二)

Python 自动化测试(三): pytest 参数化测试用例构建

Python 自动化测试(四):数据驱动

Python 自动化测试(五): Pytest 结合 Allure 生成测试报告

干货 | 一文搞定 Linux 常用高频命令

1808a0ed6a310eec204d17f0ba0c4cff.png

7370bf7c0e111a33fddd569b5a6c24f4.gif戳“阅读原文”,提升自己的核心竞争力吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用JAXB和Jackson从XSD生成JSON模式

在本文中,我演示了一种从XML Schema (XSD)生成JSON Schema的 方法 。 在概述从XML Schema创建JSON Schema的方法的同时,本文还演示了JAXB实现的用法(与JDK 9捆绑在一起的xjc版本2.2.12-b150331.1824 [build 1.9.0-ea-b…

Spring Integration完整示例

本文是我们名为“ Spring Integration for EAI ”的学院课程的一部分。 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来,您将深入研究Spring Integration的基础知识,例如通道,转换器和适…

配置环境_JavaJDK环境变量配置

1.Java环境搭建1.1 JDK与JREJDK(Java Development Kit Java开发工具包)JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中开发工具:编译工具(javac.exe)打包工具(…

僵固式思维 OR 成长式思维

有意无意中,看到这样的一篇文章,觉得非常富有正能量,而且也比较有同感。而且,不仅仅对于职场暂时失落或者失意的人有帮助,就是对学生,也一样的。故特分享,以共勉之。 我想每个新人进入职场之后都…

Asp.net MVC 的一些总结(二)——图片显示

这里实现的是,如下图片所示的效果: 当然,当你看的下图的时候,请不要自己想当然的认为是简单的html布局!!! (1)业务说明:图片地址是数据库里存的,图…

Spring整合基础

本文是我们名为“ Spring Integration for EAI ”的学院课程的一部分。 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来,您将深入研究Spring Integration的基础知识,例如通道,转换器和适…

java 布局管理器_有时在Java中,一个布局管理器是不够的

java 布局管理器在开发Java Swing应用程序时,最经常的是,我们需要在多个嵌套面板中使用多个布局管理器。 这通常不是问题,被认为是几乎所有人类已知语言的所有UI开发的常规做法。 但是,大多数情况下,对于UI中的每个面板…

支付宝支付、微信支付(最详细教程)

对接支付宝支付接口,官方文档已经写的很清楚了,但是也有很多像我一样的小白,第一次对接支付宝支付接口,会有些迷茫,所以我在此写下这篇文章,给我和我一样的同学,一点思路吧。 第一步&#xff1…

降雨插值_ArcGIS计算土壤侵蚀模数(二)降雨侵蚀力因子R计算

本次采用中国土壤流失方程CSLE计算土壤侵蚀模数,计算公式为:ARKLSBET式中,式中:A—土壤侵蚀模数。thm-2a-1;R—降雨侵蚀力因子,MJmmhm-2h-1a-1;K—土壤可蚀性因子,thm2hhm-2MJmm-1&a…

购买阿里云ECS服务器忘记终端管理密码或者没有设置

自己开发一个APP,想把源码放到服务器上跑一跑,发现使用Xshell远程连接不上去,我记得买服务器的时候没有设置。 一般有两种方法: 1.买服务器的时候,阿里会给你发一份邮件,邮件里面有,这个是官方的说法,我是公司CTO,账号是老板开的,根本不可能看到邮件,所以对我来说不…

输出空格隔开换行_【前端干货】CSS 的空格处理

一空格规则HTML 代码的空格通常会被浏览器忽略。<p>◡◡hello◡◡world◡◡</p>上面是一行 HTML 代码&#xff0c;文字的前部、内部和后部各有两个空格。为了便于识别&#xff0c;这里使用半圆形符号◡表示空格。浏览器的输出结果如下。hello world可以看到&#x…

宝塔面板绑定域名导致无法访问

用这个命令rm -f /www/server/panel/data/domain.conf删除绑定域名后&#xff0c; 就能用ip端口进入面板了&#xff0c;以后还是不要绑定域名了 主要是因为我手残。 看重点&#xff0c;我是绑定了域名&#xff0c;用域名也无法访问。 现在终于进去啦

宝塔访问域名访问不到

首先说明一点&#xff0c;我这个问题不是宝塔面板绑定域名的那种情况。 浏览器输入域名会报上面的错误&#xff0c;经过各种尝试&#xff0c;发现是安全组没有放开&#xff0c;在阿里云控制台添加一个80/80的通用安全组规则即可&#xff0c;知道上行和下行的区别&#xff0c;打…

双千兆和双频千兆哪个好_关于千兆路由器的那些事儿!赶紧收藏

无线Wi-Fi已成为现代人生活、工作的标配&#xff0c;随着百兆乃至千兆的光纤网络普及&#xff0c;传统路由器已跟不上时代的速度了。不少用户的眼光已投向速度更快的千兆路由器&#xff0c;那么大家真的了解什么是千兆路由器吗&#xff1f;千兆路由器有哪几种&#xff1f;近期火…

华三ospf联动bfd_HCIE2020__路由交换专家__BFD综合实验

1.1.1 关于本实验本实验通过配置BFD与BGP协议联动及与VRRP协议联动&#xff0c;掌握BFD的功能和配置方法。1.1.2 实验目的理解BFD的工作原理。 掌握BFD与BGP联动的应用场景及配置方法。 掌握BFD与VRRP联动的应用场景及配置方法。1.1.3 实验组网介绍图1-1 BFD原理配置实验拓扑图…

大学生助学贷款如何还利息(本金+利息都可以)

生源地助学贷款还利息的步骤: 1、首先需要将钱转入支付宝,金额稍微高于应还款项即可。然后登陆电脑版支付宝,一定是要电脑登陆(手机上无法操作),如图所示 2、然后在支付宝主页中,点击右上角的“应用中心”,然后点击“生活服务”如图所示。

谷歌浏览器下载的内容老是自动打开

原因是每次下载内容在浏览器左下角都有提示&#xff0c;一般都是选择打开所在文件夹&#xff0c;一次手残&#xff0c;点了总是打开此文件导致一下载文件就自动打开。 解决方法。 1.点击右上角的... 2.找到设置-高级设置-下载 3.关掉我标红的位置信息即可。现在看不到啦&…

JBoss Fuse 6.2发布–指导如何快速尝试

在上周的红帽峰会上&#xff0c;宣布发布了JBoss Fuse 6.2 。 我要祝贺保险丝团队发布此版本。 我知道他们今年以来一直非常努力地进行质量检查&#xff0c;并确保质量检查通过了企业产品所期望的高品质壁垒。 因此&#xff0c;带着我的Camel帽子&#xff0c;很高兴看到包含最…

插入文件找不到桌面了?

解决方法&#xff0c;在那个界面空白处&#xff0c;右键显示所有文件即可。

mysql自增长主键_MySQL数据库8(九)列属性之主键、自增长

主键顾名思义&#xff0c;主要的键&#xff0c;primary key&#xff0c;在一张表中&#xff0c;有且只有一个字段&#xff0c;里面的值具有唯一性创建主键随表创建系统提供了两种增加主键的方式&#xff1a;1、直接在需要当做主键的字段之后&#xff0c;增加primary key属性来确…