pytest学习记录(四) pytest的配置文件

Pytest配置文件

配置文件

pytest.ini

pytest的主配置文件,可以改变pytest的默认行为,通常放在测试目录下,名称为pytest.ini,命令行运行时会使用该配置文件中的配置.

pytest.ini 文件内容如下:

[pytest]    
addopts = -s -v ...        #设置命令行参数  空格分隔,可添加多个命令行参数 
testpaths = ./scripts      #配置测试搜索的路径 当前目录下的scripts文件夹 -可自定义
python_files = test*.py    #配置测试搜索的文件名称 当前目录下的scripts文件夹下,以test开头,以.py结尾的所有文件 -可自定义
python_classes = Test_*    #配置测试搜索的测试类名 当前目录下的scripts文件夹下,以test开头,以.py结尾的所有文件中,以Test开头的类 -可自定义
python_functions = test_*  #配置测试搜索的测试函数名  当前目录下的scripts文件夹下,以test开头,以.py结尾的所有文件中,以Test开头的类内,以test_开头的方法 -可自定义

conftest.py

本地的插件库,其中hook函数和fixture将作用于改文件所在的目录及所有的子目录

_init_.py

每个测试子目录都包含该文件时,那么在多个测试目录中可以出现同名测试文件

tox.int

与pytest.int类似,只是它是tox的配置文件。我们可以保pytest的配置都写在tox.ini里面,这样就不用同时使用tox.ini和pytest.ini。

... tox specific stuff ...
[pytest]    
addopts = -s -v ...        #设置命令行参数  空格分隔,可添加多个命令行参数 
...

setup.cfg

如果想要发布一个python包,这个文件很有用。setup.cfg采用ini的文件格式。可以影响setup.py的行为。若想要发布包,也可以用其来存储pytest的配置信息。

... packaging specific stuff ...
[tool:pytest]    
addopts = -s -v ...        #设置命令行参数  空格分隔,可添加多个命令行参数 
...

常用配置项

查看可配置选项

可以使用pytest --help 查看所有的配置选项,如图所示:
在这里插入图片描述

常用的配置项

  • 更改默认命令行选项
    [pytest]    
    addopts = -s -v -n auto ...        #设置命令行参数  空格分隔,可添加多个命令行参数 
    
    • 注册标记来防范拼写错误
    [pytest]
    markers= test_demo1_test01:run test_demo1_test01()
            test_demo1_test01:run test_demo1_test02()
    

可以使用 pytest --markers 查看markers
在这里插入图片描述

  • 指定pytest的最低版本

     ```bash
     [pytest]
     minversion=3.0
     ```
    

如果有人使用老版本(小于3.0)pytest运行测试,就会得到一个报错信息

  • 指定pytest忽略某些目录
    pytest执行搜索时,会递归遍历所有子目录。
    可以使用norecurse选项简化pytest的搜索工作,告诉pytest那些路径不用访问。例如:设置src目录不是默认搜索

    [pytest]
    norecursedirs = src
    
  • 指定测试目录(告诉pytest需要访问那些目录)
    testpaths 是一系列相对于根目录的路径,用于限定测试用例的搜索范围。只有在pytest未指定文件目录参数或测试用例标识符时,该选项才会启用。

    [pytest]    
    testpaths = ./scripts      #配置测试搜索的路径 当前目录下的scripts文件夹 -可自定义
    
  • 更改搜索规则

    [pytest]    
    python_files = test*.py    #配置测试搜索的文件名称 当前目录下的scripts文件夹下,以test开头,以.py结尾的所有文件 -可自定义
    python_classes = Test_*    #配置测试搜索的测试类名 当前目录下的scripts文件夹下,以test开头,以.py结尾的所有文件中,以Test开头的类 -可自定义
    python_functions = test_*  #配置测试搜索的测试函数名  当前目录下的scripts文件夹下,以test开头,以.py结尾的所有文件中,以Test开头的类内,以test_开头的方法 -可自定义
    
    
  • 禁用xpass

    [pytest]
    xfail_strict = ture
    

    xfail_strict = ture 会将那些被标记为@pytest.mark.xfail的但实际运行通过的用例也被报告为失败。所以这个选项建议一直保持。

  • 避免文件名冲突
    在测试路径下添加__init__.py文件,可以在多个测试目录中使用同名测试文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Selenium pytest 项目实战的一些笔记: 1. 安装所需的软件和库: - 安装 Python:在官网下载 Python 并安装。 - 安装 Selenium:使用 pip 命令安装 Selenium 库。 - 安装 pytest:使用 pip 命令安装 pytest 框架。 2. 创建项目结构: - 创建一个项目文件夹,并在其中创建一个名为 `tests` 的文件夹,用于存放测试用例。 - 在项目文件夹中创建一个名为 `conftest.py` 的文件,用于存放共享的测试配置和夹具。 3. 编写测试用例: - 在 `tests` 文件夹中创建一个名为 `test_example.py` 的文件,用于编写测试用例。 - 导入必要的依赖模块,如 pytest 和 selenium。 - 编写测试函数,使用 pytest 的装饰器 `@pytest.mark.parametrize` 定义参数化的测试用例。 - 在测试函数中通过 Selenium WebDriver 实例化浏览器,并执行相应的操作和断言。 4. 配置夹具: - 在 `conftest.py` 中使用 pytest 的 `fixture` 装饰器定义夹具函数。 - 夹具函数可以在测试用例中被调用,以提供预置条件或资源。 - 例如,可以创建一个 `driver` 夹具,用于在每个测试用例之前启动浏览器,并在测试完成后关闭浏览器。 5. 运行测试用例: - 在项目根目录下打开终端,并运行 `pytest` 命令来运行所有的测试用例。 - 使用命令行参数可以指定运行特定的测试用例,如 `pytest -k test_example`,将只运行名称中包含 "test_example" 的测试用例。 这些是 Selenium pytest 项目实战的一些基本笔记,希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值