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

57 阅读2分钟

获取更多技术文章分享 在实际的工作中,绝大部分公司都至少有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格式的配置文件。
                                                                                                         
                                                                                                         ## 
                                                                                                         内容全面升级,4 个月 20+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,带你一站式掌握测试开发必备核心技能(对标阿里P6+,年薪50W+)!直推 BAT 名企测试经理,普遍涨薪 50%+!
                                                                                                         
                                                                                                         ⬇️ 点击“阅读原文”,提升测试核心竞争力!
                                                                                                         [原文链接](https://mp.weixin.qq.com/s?__biz=MzU3NDM4ODEzMg==&mid=2247493719&idx=1&sn=1450363034959cbc9c28b6ef80f37ddd&chksm=fd318a9cca46038aadb1459cda250129b72b35edaacfc6bfe65d227cd118256ee96a1ea935ef#rd) 
                                                                                                         
                                                                                                         [获取更多技术文章分享](https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=juejin&timestamp=1650249637
                                                                                                         ) ![img](https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=juejin&timestamp=1650249637)