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

本文节选自霍格沃玆测试学院内部教材,进阶学习,文末加群!

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

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


来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
点击获取更多信息

上一篇:react memo 和 react.fc的使用


下一篇:(20220220)链栈