搞定多环境下的接口测试(接口测试框架实战)

Posted 程序员二黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搞定多环境下的接口测试(接口测试框架实战)相关的知识,希望对你有一定的参考价值。

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

以上,更多接口测试框架实战进阶内容,我们在后续文章分享。关注 「程序员二黑」公众号,获取更多测试开发干货内容。

以上是关于搞定多环境下的接口测试(接口测试框架实战)的主要内容,如果未能解决你的问题,请参考以下文章

最全面的Java接口自动化测试实战

Python+unittest+requests 接口自动化测试框架搭建 完整的框架搭建过程 实战

Python接口测试实战4(上) - 接口测试框架实战

Python接口测试实战4(上) - 接口测试框架实战

接口测试框架实战与自动化进阶指南!

搞定接口测试变态要求:海量接口返回值对比验证