zoukankan      html  css  js  c++  java
  • pytest(十)--命令行传参

    前言

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

    conftest配置参数

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

    #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.测试用例编写案例

    #test_answers.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"])
        pytest.main(["-s","test_answers.py"])#这两种写法,执行结果是一样的  

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

    pytest -s test_answers.py

    运行结果;可以看到结果显示Ffirst,F代表Fail,first就是type1时的输出。

     带参数启动

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

    pytest -s test_answers.py --cmdopt=type2

     运行结果:

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    spring集成 log4j + slf4j
    用Maven创建第一个web项目
    Spring mvc4 + ActiveMQ 整合
    ActiveMQ (一):安装启动及测试
    Pycharm 2017 激活码
    mahout推荐系统
    用Maven构建Mahout项目
    maven编译时出现读取XXX时出错invalid LOC header (bad signature)
    标签传播算法(Label Propagation)及Python实现
    VMware下centos7安装
  • 原文地址:https://www.cnblogs.com/canglongdao/p/13399589.html
Copyright © 2011-2022 走看看