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 ===================================
  • 相关阅读:
    理解“统一编址与独立编址、I/O端口与I/O内存” arm
    JS + CSS 美化 select 下拉框表单
    关于 ecshop common.js 文件 自动随机输出 Powered by ECShop
    Zend Framework 入门随笔 配置与注意事项
    Delphi编程保存数据到Excel文件(4):使用NativeExcel2控件
    ORACLE 最大连接数的问题1
    一生delphi编程经验(转)
    XLSReadWriteII控件来完成10×10的乘法表
    Delphi 动态调整打印机纸张大小
    Linux下Oracle重启和修改连接数3
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/13564157.html
Copyright © 2011-2022 走看看