专栏首页测吧测试开发接口测试框架实战(二) | 搞定多环境下的接口测试
原创

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

本文节选自霍格沃玆测试学院内部教材,文末链接进阶学习。

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

以上,更多接口测试框架实战进阶内容,我们在后续文章分享。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 接口测试框架实战(六) | 配置的数据驱动

    在实际工作中,为了便于维护,对于环境的切换和配置,通常不会使用硬编码的形式完成。在之前文章《多环境下的接口测试》中,已经介绍了如何将环境的切换作为一个可配置的选...

    霍格沃兹测试开发
  • Google 测试总监聊如何经营成功的测试职业生涯

    1989 年,我在田纳西大学读研究生的时候,完成了从软件开发人员到软件测试人员的转型。而这一转型并非出于我自己的选择。我命运的改变发生在一个早晨,我的教授质问我...

    霍格沃兹测试开发
  • 移动性能测试 | 持续集成中的 Android 稳定性测试

    来自学院内部学员 xinxi 同学的又一篇佳作,本文主要介绍了作者如何借助开源工具进行 Android 的稳定性测试,并在持续集成中使用,希望对大家有所帮助。

    霍格沃兹测试开发
  • 接口测试框架实战(六) | 配置的数据驱动

    在实际工作中,为了便于维护,对于环境的切换和配置,通常不会使用硬编码的形式完成。在之前文章《多环境下的接口测试》中,已经介绍了如何将环境的切换作为一个可配置的选...

    霍格沃兹测试开发
  • 为什么浏览器不能跨域

     现在很多人特别是前端开发人员,在ajax请求,XMLHttpRequest的过程中会碰到一个问题,那就是跨域请求:

    跟着阿笨一起玩NET
  • C#判断文件属于文本或二进制

    其实标题说错了,所有的文件储存都是二进制,但我们想区别的是那些可以当做文本来读的,如 .txt,.cs,.c 的文件和一般的不是文字的文件。 我们有什么办法可区...

    林德熙
  • Spring Boot 项目上传日志到 Azure Application Insights

    你需要做的就是在你的 Spring Boot 项目中配置好依赖和参数后,Spring Boot 项目启动后就会自动将日志上传到 Azure 供分析。

    HoneyMoose
  • Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成实战终极教程

    使用 Jenkins 镜像创建容器,并搭建 Python + Pytest +Allure 的自动化测试环境

    小菠萝测试笔记
  • 火力十足!区块链、比特币热词频频上榜

    2017年至今,区块链在短时间内吸引了众多银行业巨头加盟,在各大银行背书和利好的消息刺激下,资本热捧,峰会不断,创业公司如雨后春笋般兴起。比特币的热度...

    躲在树上的域小名
  • .NET跨平台之旅:在Linux上以本地机器码(native)运行ASP.NET Core站点

    在将“.NET跨平台之旅”示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 (博文链接)之...

    逸鹏

扫码关注云+社区

领取腾讯云代金券