管理信息系统开发网站seo优化网站
点此获取更多相关资料
本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/28026
多环境介绍
环境 | 使用场景 | 备注 |
---|---|---|
dev | 开发环境 | 开发自测 |
QA | 测试环境 | QA日常测试 |
preprod | 预发布环境 | 回归测试、产品验测试 |
prod | 线上环境 | 用户使用的环境 |
通过环境变量进行切换
- 设置环境变量
- 读取环境变量
# mac设置环境变量
export env=dev
# windows 设置环境变量
set env=dev
class TestMultiEnv:def setup_class(self):# 从环境变量中读取envpath_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 多浏览器处理》章节逻辑相同
participant 命令行参数 as commandparticipant 测试用例 as cases
participant 环境配置 as env
autonumber
command -> cases : 通过命令执行测试用例,通过参数指定环境
command -> env: 通过命令行参数获取指定的环境
cases -> env: 测试用例获取指定的环境。如果没有指定,那么就执行默认的环境
# 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}