pytestconfig--获取命令行参数及pytest.ini

2021-10-19  本文已影响0人  Rainbow想喝奶茶

来更新知识点了~

pytestconfigpytest一个内置的fixture,可以读取相关配置,这里主要介绍如何获取命令行参数以及pytest.ini中所写的配置项。

读取命令行参数

读取命令行参数还是比较有意义的,比如有多个root_url,可以通过读取参数来指定。其实在pytest_addoption这篇文章中已经介绍了如何注册命令行参数(甚至如何获取也有说明,只不过是用的request.config),这里就用pytestconfig来再次实现参数获取吧。

  1. 注册命令行参数。
#conftest.py
def pytest_addoption(parser):
    parser.addoption(
        "--value",#名称,在命令行中接受该选项后面的值
        action="store",#对命令行中名称后面的值执行存储操作
        dest="environment",#存储值的名称
        default='test',#默认值
        help="It's too hard for me"#帮助信息
    )
  1. 获取参数主要是应用getoption方法
#conftest.py
@pytest.fixture
def env(pytestconfig):
    return pytestconfig.getoption("environment")
  1. 再来写一个测试文件看看fixture的运行结果。
#test_pytestconfig.py
def test_getoption(env):
    print(env)

执行pytest test_pytestconfig.py --value=pro运行结果如下图:

获取命令行参数

读取pytest.ini文件配置

首先在pytest.ini文件中,标记如下配置。

[pytest]
log_cli= True#控制台输出具体测试用例的执行结果
addopts= -s#标记默认命令行选项

读取其实只需要用到getini方法。

@pytest.fixture(autouse=True)
def getini(pytestconfig):
    print(pytestconfig.getini('addopts'))
    print(pytestconfig.getini('log_cli'))

运行上方已建立的test_pytestconfig.py,运行结果如下图,ini文件中的配置已成功输出。

ini文件读取结果

最近关注博主的人儿就竟然快50了,是个非常大的鼓励了~这个月更新慢,重点确实不在这里,不过下个月会继续努力学习,努力做一个小知识点传送门的!

今天心情不错,祝大家也开心哦~

自我记录,有错误欢迎指正~

上一篇下一篇

猜你喜欢

热点阅读