zoukankan      html  css  js  c++  java
  • pytest扫盲17--自定义命令行参数

    当存在多套测试环境时,通过自定义命令行参数,快速切换host

    查看pytest系统命令行参数:pytest -h

    1、编辑 conftest.py:

    import os
    import pytest
    def pytest_addoption(parser):
        '''增加命令行参数 --cmdhost'''
        parser.addoption(
            "--cmdhost",
            action="store",
            # default: 默认值,命令行没有指定host时,默认用该参数值
            default="http://xx.xx.xx.xx:xxxx",
            help="test case project host address"
        )
    
    @pytest.fixture(scope="session", autouse=True)  # autouse=True自动执行该前置操作
    def host(request):
        '''获取命令行参数,给到环境变量'''
        os.environ["host"] = request.config.getoption("--cmdhost")
        print("当前用例运行测试环境:%s"%os.environ["host"])

    pytest -h 查看到增加了如下自定义参数

    2、执行测试代码,不带host

    pytest.main(['-s', '-q', 'test_demo_16_relevance.py'])
    E:personalpython38python.exe E:/personal/GitWorkSpace/pytest_basic/main.py
    test_demo_16_relevance.py::TestLogin::test_1[login0]
    test_demo_16_relevance.py::TestLogin::test_2[login0]
    test_demo_16_relevance.py::TestLogin::test_3
    当前用例运行测试环境:http://xx.xx.xx.xx:xxxx
    
    正在操作登录,账号:admin, 密码:123456
    登录成功
    F
    正在操作登录,账号:admin, 密码:123456
    登录成功
    ..
    ================================== FAILURES ===================================

    3、切换host

    pytest.main(['-s', '-q', '--cmdhost=http://www.xxx.xxx', 'test_demo_16_relevance.py'])
    E:personalpython38python.exe E:/personal/GitWorkSpace/pytest_basic/main.py
    test_demo_16_relevance.py::TestLogin::test_1[login0]
    test_demo_16_relevance.py::TestLogin::test_2[login0]
    test_demo_16_relevance.py::TestLogin::test_3
    当前用例运行测试环境:http://www.xxx.xxx
    
    正在操作登录,账号:admin, 密码:123456
    登录成功
    F
    正在操作登录,账号:admin, 密码:123456
    登录成功
    ..
    ================================== FAILURES ===================================
  • 相关阅读:
    python学习笔记-面向对象进阶复习小结
    python学习笔记-类的静态属性,类方法和静态方法
    python学习笔记-面向对象的继承、多态、封装
    python学习笔记-python简介
    python学习笔记-列表、元组字典
    python学习笔记-常用数据类型之字符串
    python学习笔记-函数,递归和内置函数
    python学习笔记-文件操作
    python学习笔记-迭代器与生成器
    python学习笔记-装饰器
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/13564157.html
Copyright © 2011-2022 走看看