霍格沃兹测试开发学社

《Python测试开发进阶训练营》(随到随学!)
2023年第2期《Python全栈开发与自动化测试班》(开班在即)
报名联系weixin/qq:2314507862

环境问题还是测试的老大难?两个步骤轻松搞定

在实际的工作中,绝大部分公司都至少有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 headerenv={    "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格式的配置文件。

** _
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
点击获取更多信息

posted @ 2022-01-29 09:45  霍格沃兹测试开发学社  阅读(34)  评论(0编辑  收藏  举报