写点什么

软件测试 / 测试开发丨搞定多环境下的接口测试

作者:测试人
  • 2023-04-19
    北京
  • 本文字数:776 字

    阅读完需:约 3 分钟

公众号搜索:TestingStudio 霍格沃兹测试开发的干货都很硬核

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

以上,更多接口测试框架实战进阶内容,我们在后续文章分享。关注 「霍格沃兹测试学院」公众号,获取更多测试开发干货内容。

发布于: 刚刚阅读数: 3
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试/测试开发丨搞定多环境下的接口测试_软件测试_测试人_InfoQ写作社区