美文网首页
python/pytest命令行自定义参数(pytest-fix

python/pytest命令行自定义参数(pytest-fix

作者: jinjin1009 | 来源:发表于2021-08-03 16:34 被阅读0次

    1、python命令行接收参数
    1.1 脚本编写

    from configparser import ConfigParser
    cfg = ConfigParser()
    cfg.read('config_env')
    env = sys.argv[1]
    if env == 'gray':
        host = cfg.get('env', 'gray')
    if env == 'release':
        host = cfg.get('env', 'release')
    

    1.2 配置文件
    其中config_env文件内容,其中注意[env]字段是在cfg.get时使用

    [env]
    gray: http://gray.***.com
    release: http://online.***.com
    release-bak: http://online-bak.***.com
    

    1.3 命令行输入为

    python3 test.py gray
    

    2、pytest命令行自定义参数
    2.1 定义conftest.py文件
    生效范围,放在工程根目录会起到全局作用,在不同的测试子目录也可以放conftest.py,作用范围只在该层级以及以下目录生效
    文件内容

    import pytest
    from configparser import ConfigParser
    def pytest_addoption(parser):
        """
        增加参数 env
        """
        parser.addoption("--env", action="store", default="deeptables",
                         help="one of: deeptables, gbm")
    
    @pytest.fixture(scope="session")
    def get_host(pytestconfig):
        """
        调用该函数返回对应的host
        """
        env = pytestconfig.getoption('--env')
        return env
    

    2.2 测试用例变更

    #其中get_host是conftest.py 文件中的一个方法
    def test_search_corporate(self, get_host):
            url = get_host + uri + query
    

    2.3 命令行输入

    pytest -s test.py --env=gray
    

    相关文章

      网友评论

          本文标题:python/pytest命令行自定义参数(pytest-fix

          本文链接:https://www.haomeiwen.com/subject/vtsevltx.html