打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
pytest文档10-命令行传参addoption

前言

命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在cmd执行”pytest —html=report.html”,这里面的”—html=report.html“就是从命令行传入的参数
对应的参数名称是html,参数值是report.html

contetest配置参数

1.首先需要在contetest.py添加命令行选项,命令行传入参数”—cmdopt“, 用例如果需要用到从命令行传入的参数,就调用cmdopt函数:

# content of conftest.py import pytest def pytest_addoption(parser):    parser.addoption(        "--cmdopt", action="store", default="type1", help="my option: type1 or type2"    ) @pytest.fixture def cmdopt(request):    return request.config.getoption("--cmdopt")

2.测试用例编写案例

# content of test_sample.py import pytest def test_answer(cmdopt):    if cmdopt == "type1":        print("first")    elif cmdopt == "type2":        print("second")    assert 0  # to see what was printed if __name__ == "__main__":    pytest.main(["-s", "test_case1.py"])

cmd打开,输入指令启动,也可以在pycharm里面右键执行上面代码

$ pytest -s test_sample.py

运行结果:

>pytest -s ============================= test session starts ============================= test_sample.py first F ================================== FAILURES =================================== _________________________________ test_answer _________________________________ cmdopt = 'type1'    def test_answer(cmdopt):        if cmdopt == "type1":            print("first")        elif cmdopt == "type2":            print("second") >       assert 0  # to see what was printed E       assert 0 test_case1.py:8: AssertionError ========================== 1 failed in 0.05 seconds ===========================

带参数启动

1.如果不带参数执行,那么传默认的default=”type1”,接下来在命令行带上参数去执行

$ pytest -s test_sample.py —cmdopt=type2

test_sample.py second F ================================== FAILURES =================================== _________________________________ test_answer _________________________________ cmdopt = 'type2'    def test_answer(cmdopt):        if cmdopt == "type1":            print("first")        elif cmdopt == "type2":            print("second") >       assert 0  # to see what was printed E       assert 0 test_case1.py:8: AssertionError ========================== 1 failed in 0.05 seconds ===========================

2.命令行传参数有两种写法,还有一种分成2个参数也可以的,参数和名称用空格隔开

$ pytest -s test_case1.py —cmdopt type2

作者:上海-悠悠 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
pytest封神之路第二步 132个命令行参数用法
获取命令行参数
python参数化测试
PyTest运行指定的测试集
Python教程之pytest命令行方式运行用例
pytest文档11-assert断言
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服