干货 | 环境问题还是测试的老大难?两个步骤轻松搞定
【摘要】 在实际的工作中,绝大部分公司都至少有3个以上的环境,供测试与研发人员使用。测试人员不可能为每个环境都准备一个自动化测试的脚本,这样的维护成本太过庞大。所以就需要做到一套脚本,可以在各个环境上面运行。 首先在上一节提到过的字典结构体的基础上进行改造(没看过的戳这里 干货 | 实战演练基于加密接口测试测试用例设计),将url从一个写死的ip地址改为一个域名。 req_data={ ...
在实际的工作中,绝大部分公司都至少有3个以上的环境,供测试与研发人员使用。测试人员不可能为每个环境都准备一个自动化测试的脚本,这样的维护成本太过庞大。所以就需要做到一套脚本,可以在各个环境上面运行。
首先在上一节提到过的字典结构体的基础上进行改造(没看过的戳这里 干货 | 实战演练基于加密接口测试测试用例设计),将url从一个写死的ip地址改为一个域名。
req_data={
"schema": "http",
"method": "get",
"url": "http://docker.testing-studio.com:10000/demo64.txt",
"headers":
{"Host":None}
}
然后需要另外一个字典结构体去存储环境的配置。使用env变量存放一个字典结构体的环境配置。然后将请求结构体中的url替换为env配置文件中个人选择的url。
先用env[“docker.testing-studio.com”]读到全部的环境配置选项,再使用改变[env[“default”]]中的选择,去切换不同的环境。
#把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"
由上面两个步骤就可以将环境的切换作为一个可配置的选项,根据需求,很方便的去切换不同的使用环境。不过目前这样的解决办法依然是写在代码中,不够优雅,在后面会讲解如何将env变量中的配置信息转换为一个yaml格式的配置文件。
获取更多内容:https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=hwyun×tamp=1650522766
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)