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


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

    在实际的工作中,绝大部分公司都有至少 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 格式的配置文件。
    以上,更多接口测试框架实战进阶内容,我们在后续文章分享。

  • 相关阅读:
    QSslError 类
    QNetworkRequest 请求类
    QFTP走了以后QNetworkAccessManager出现了
    Android之SQLite总结
    Android之Handler机制
    Android之SeekBar总结(一)
    Android之测试相关知识点
    Android数据储存之SharedPreferences总结
    android studio的常用快捷键
    BitmapFactory.Options详解
  • 原文地址:https://www.cnblogs.com/hogwarts/p/13808655.html
Copyright © 2020-2023  润新知