测试执行选择用例之参数化

在执行测试用例时,有时候需要选择需要执行的用例,此时可以用参数化的形式,方便的选择要执行的用例:

import argparse


def run():
    # 测试服务器写法
    
    # (1) 声明一个parser
    parser = argparse.ArgumentParser()
    
    # (2) 添加参数
    parser.add_argument("params")  # 位置参数,这里表示第一个出现的参数赋值给params
    parser.add_argument('-c', dest='case', type=str, default='demo', help='选择需要执行的用例')
    parser.add_argument('-n', dest='cpu', type=int, default=2, help='输入执行的CPU个数')
    
    # (3) 读取命令行参数
    args = parser.parse_args()
    
    pytest.main([
        "--clean-alluredir",  # 清理 allure 历史测试数据
        "--cache-clear",  # 清除 pytest 缓存
        "-s", "-v",  # 执行参数
        f"-m {args.case}",  # 获取命令行-c后的参数dest='case'
        f"-n {args.cpu}",  # 获取命令行-n后的参数dest='cpu'
        "--alluredir=report/allure",
    ])

if __name_ == '__main__':
    run()

参考:

https://docs.python.org/3/library/argparse.html

posted @ 2022-01-14 19:04  xyztank  阅读(118)  评论(0)    收藏  举报