写点什么

软件测试学习笔记丨 Pytest 编写插件—为第三方插件添加命令行参数

作者:测试人
  • 2024-05-16
    北京
  • 本文字数:647 字

    阅读完需:约 2 分钟

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/31489

在 hookspec.py 文件中找到 pytest_addoption 函数


在 conftest.py 文件中重写 pytest_addoption 函数

def pytest_addoption(parser):        mygroup = parser.getgroup("hogwarts")     #为命令行添加一个组parser,group 将下面所有的 option都展示在这个group下。    mygroup.addoption("--env",    #注册一个命令行选项        default='test',      # 参数的默认值        dest='env',            #  存储的变量,为属性命令,可以使用Option对象访问到这个值,暂用不到        help='set your run env'    # 帮助提示 参数的描述信息        )    mygroup.addoption("--env1",                      default="test1",                      dest='env1',                      help='set your run env1'                      )
复制代码



通过定义 fixture 拿到定义好的参数,并针对传入的不同参数完成不同的逻辑处理(例如测试环境和开发环境)

@pytest.fixture(scope='session')def cmdoption(request):    global datapath    myenv = request.config.getoption("--env", default='test')    if myenv == 'test':        datapath = "datas/test/data.yaml"    elif myenv == 'dev':        datapath = "datas/dev/data.yaml"
with open(datapath) as f: datas = yaml.safe_load(f) return myenv, datas
复制代码



通过在测试用例中获取 fixture 修饰的函数,实现新增命令行参数的传递


软件测试开发免费视频教程分享


发布于: 刚刚阅读数: 4
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨Pytest编写插件—为第三方插件添加命令行参数_软件测试_测试人_InfoQ写作社区