接口测试框架实战(二) | 搞定多环境下的接口测试
本文节选自霍格沃玆测试学院内部教材,文末链接进阶学习。
在实际的工作中,绝大部分公司都有至少 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 格式的配置文件。
以上,更多接口测试框架实战进阶内容,我们在后续文章分享。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了