pytest入门十:配置文件

  • pytest.ini:pytest的主配置文件,可以改变pytest的默认行为
  • conftest.py:测试用例的一些fixture配置

pytest.ini

复制代码
marks
mark 打标的执行 @pytest.mark.add  add需要些marks配置否则报warning
[pytest]
markers=
  add:测试打标

测试用例中添加了 @pytest.mark.webtest 装饰器,如果不添加marks选项的话,就会报warnings

pytest

markers =

smoke

end

fist
xfail_strict

设置xfail_strict = True可以让那些标记为@pytest.mark.xfail但实际通过显示XPASS的测试用例被报告为失败

addopts

addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作

命令行参数

addopts = -v --reruns=1 --count=2 --html=reports.html --self-contained-html -n=auto

加了addopts之后,我们在cmd中只需要敲pytest就可以生效了!!

log_cli

控制台实时输出日志

格式:log_cli=True 或False(默认),或者log_cli=1 或 0
norecursedirs

pytest 收集测试用例时,会递归遍历所有子目录,包括某些你明知道没必要遍历的目录,遇到这种情况,可以使用 norecursedirs 参数简化 pytest 的搜索工作
pytest默认的测试用例收集规则

;指定测试目录

;定义执行的目录

testpaths=tests

;自定义测试文件命名规则

python_files = test_* check_*

;自定义测试类

python_classes = Test* Check*

;自定义测试方法

python_functions = test_* check_*

;指定特定路径:当在上级路径时,也会默认执行sub_demo

;testpaths = sub_demo

;忽略路径

norecursedirs = result logs datas

指定pytest最低版本号

minversion=5.0

conftest.py

conftest.py

import pytest

@pytest.fixture()

def conftest_fixture():

print("fixture前置")

yield

print("fixture后置")
test_demo.py

def test_case(conftest_fixture):

print("测试用例")
运行结果

============================= test session starts =============================

collecting ... collected 1 item

test_demo.py::test_case fixture前置

PASSED [100%]测试用例

fixture后置

============================== 1 passed in 0.02s ==============================

相关推荐
金玉满堂@bj11 小时前
Pytest 完整使用教程
运维·服务器·pytest
测试员周周16 小时前
【Appium 系列】第10节-手势操作实战 — 滑动、拖拽、缩放与轻拂
linux·服务器·开发语言·人工智能·python·appium·pytest
金玉满堂@bj17 小时前
pytest+uiautomation+allure 数据驱动桌面自动化项目搭建指南-yaml版本
运维·自动化·pytest
金玉满堂@bj17 小时前
pytest+uiautomation+allure+Excel 数据驱动桌面自动化
自动化·excel·pytest
Be reborn2 天前
用例不是孤立执行的:依赖、变量池与 storage_state 设计
python·自动化·pytest
小陈的进阶之路2 天前
安集商城接口自动化项目架构介绍
python·自动化·pytest
测试员周周2 天前
【Appium 系列】第08节-pytest 集成 — conftest.py 中的 fixture 与 hook
开发语言·人工智能·python·功能测试·appium·测试用例·pytest
Be reborn2 天前
从一行 CSV 到一次浏览器操作:关键字驱动执行引擎设计
python·自动化·pytest
魔都吴所谓2 天前
【开源LiteReport】告别 JDK 依赖 -- 用 LiteReport 为 pytest 项目打造轻量级测试报告
开源·pytest
旦莫4 天前
AI驱动的纯视觉自动化测试:知识库里应该积累什么知识内容
人工智能·python·测试开发·pytest·ai测试