ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-25 11:33:09  阅读:163  来源: 互联网

标签:搞定 env testing 接口 studio 测试 docker 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 格式的配置文件。

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


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

标签:搞定,env,testing,接口,studio,测试,docker,com
来源: https://www.cnblogs.com/hogwarts/p/15842261.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有