软件测试/测试开发丨接口自动化测试学习笔记,多环境自动切换

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/28026

多环境介绍

环境 使用场景 备注
dev 开发环境 开发自测
QA 测试环境 QA日常测试
preprod 预发布环境 回归测试、产品验测试
prod 线上环境 用户使用的环境

通过环境变量进行切换

  • 设置环境变量
  • 读取环境变量
python 复制代码
# mac设置环境变量
export env=dev
# windows 设置环境变量
set env=dev
python 复制代码
class TestMultiEnv:
    def setup_class(self):
        # 从环境变量中读取env
        path_env = os.getenv("interface_env")
        env = yaml.safe_load(open(f"./interface/{path_env}.yaml", encoding="utf-8"))
        self.host = env["host"]

    def test_env(self):
        print(self.host)

使用命令行进行切换

与《selenium 多浏览器处理》章节逻辑相同

python 复制代码
participant 命令行参数 as command

participant 测试用例 as cases
participant 环境配置 as env
autonumber
command -> cases : 通过命令执行测试用例,通过参数指定环境
command -> env: 通过命令行参数获取指定的环境
cases -> env: 测试用例获取指定的环境。如果没有指定,那么就执行默认的环境
python 复制代码
# conftest.py
global_env = {}

def pytest_addoption(parser):
    # group 将下面所有的 option都展示在这个group下。
    mygroup = parser.getgroup("hogwarts")
    # 注册一个命令行选项
    mygroup.addoption("--env",
     # 参数的默认值
    default='test',
    # 存储的变量
    dest='env',
    # 参数的描述信息
    help='设置接口自动化测试默认的环境'
     )

def pytest_configure(config):
    default_ev = config.getoption("--env")
    tmp = {"env": default_ev}
相关推荐
智者知已应修善业44 分钟前
【51单片机LED贪吃蛇】2023-3-27
c语言·c++·经验分享·笔记·嵌入式硬件·51单片机
charlie1145141914 小时前
从 0 开始:在 WSL + VSCode 上利用 Maven 构建 Java Spring Boot 工程
java·笔记·vscode·后端·学习·maven·springboot
e***74957 小时前
Spring Security 官网文档学习
java·学习·spring
山河亦问安10 小时前
Spring原理编码学习
java·学习·spring
思成不止于此10 小时前
【C++ 数据结构】二叉搜索树:原理、实现与核心操作全解析
开发语言·数据结构·c++·笔记·学习·搜索二叉树·c++40周年
碧海潮生_CC11 小时前
【CUDA笔记】03 CUDA GPU 架构与一般的程序优化思路(下)
笔记·架构·cuda
钟屿12 小时前
Back to Basics: Let Denoising Generative Models Denoise 论文阅读学习
论文阅读·人工智能·笔记·学习·计算机视觉
d111111111d12 小时前
SPI通信协议--在STM32中介绍(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
愚昧之山绝望之谷开悟之坡12 小时前
业务接待-公务接待-商务接待
笔记
断水客12 小时前
如何在手机上搭建Linux学习环境
linux·运维·学习