一、概述

  1.pytest.ini文件是pytest的主配置文件,用于改变pytest的运行方式,不管是pytest命令还是main()函数执行pytest,都会先读取该文件,获取配置信息,按指定的方式去运行。文件一般放在项目根目录下,文件名必须为pytest.ini,编码格式为ANSI(尽量用英文,中文容易编码报错,如遇报错记得修改文件编码)

  2.cmd中执行命令pytest -h 可以查看到pytest.ini的设置选项:

pytest怎么运行 pytest.ini_测试用例

  3.pycharm中需要安装ini插件

pytest怎么运行 pytest.ini_pytest怎么运行_02

 二、常用配置

  1.addopts配置:

    addopts可以更改默认命令行参数,可以将一些命令添加到pytest.ini里就不需要每次命令行执行时都带上参数了,默认以pytest.ini里配置去运行,多个命令行参数用空格分隔,可添加多个命令行参数,如:

    

pytest怎么运行 pytest.ini_测试用例_03

 

     如果pytest.ini中addopts未配置的命令参数,执行命令时加上即可

  2.testpaths配置:

    配置执行文件夹路径,未配置时按照默认规则执行当前目录下所有符合规则文件下的所有用例,可配置多个,空格隔开

    

pytest怎么运行 pytest.ini_python_04

  3.norecursedirs配置

    不搜索执行对应文件下的用例,和testpaths配置完全相反的效果,可配置多个,空格隔开

  4.python_files (args)配置

    pytest默认是匹配test_*.py、 *_test.py文件,如果配置python_files=api_*.py,将修改为执行api_*开头的py文件,可配置多个,空格隔开如:

    

pytest怎么运行 pytest.ini_python_05

  5.python_classes (args)配置

    配置python_classes =Test*  匹配class 类名称如Test*开头,可配置多个,空格隔开,和python_files (args)方法配置类似

  6.python_functions (args)配置

    配置python_functions = test_* 匹配函数和class里面方法 如test_*可配置多个,空格隔开,和python_files (args)方法配置类似

  7.markers配置

    测试用例中添加了 @pytest.mark.smoke 装饰器,如果不添加markers配置的话,就会报warnings

    

pytest怎么运行 pytest.ini_python_06

 

    markers可结合运行命令参数-m来分类执行用例

   8.xfail_strict配置

    设置xfail_strict = True可以让那些标记为@pytest.mark.xfail但实际通过显示XPASS的测试用例被报告为失败,格式True,False(默认)或者1,0

  9.log_cli配置

    控制台实时输出日志,格式:log_cli=True 或False(默认),或者log_cli=1 或 0

    加了log_cli=1之后,可以清晰看到哪个package下的哪个module下的哪个测试用例是否passed还是failed

pytest怎么运行 pytest.ini_pytest怎么运行_07