pytest框架进阶自学系列 (pytest框架详细介绍)
本文目录导航:
pytest框架进阶自学系列 | 运行的失败管理
书籍来源:房荔枝 梁丽丽《pytest框架与自动化测试应用》pytest框架进阶自学系列文章旨在分享和整理课程内容及实验笔记,以供爱好者学习。
如遇侵权,将立即删除。
以下内容与书籍内容相关,深入探讨pytest框架的运行管理,特别关注如何管理测试用例的失败情况。
在pytest中,控制最多允许失败的测试用例数可以通过命令行参数实现。
例如,使用`pytest -x`命令,程序将在遇到第一个失败测试用例时停止执行。
同样,`pytest --maxfail=2`命令将在遇到第二个失败测试用例时停止执行,以此类推。
测试用例失败后,管理其运行状态对于后续分析至关重要。
pytest框架提供了内置的缓存机制来记录测试执行状态。
默认情况下,pytest将测试结果缓存在根目录下的`_cache`文件夹中。
用户可以通过在``文件中自定义`cache_dir`选项来改变缓存目录位置,该目录可以是相对路径或绝对路径。
若想将特定目录下的测试结果缓存与该目录下的源代码分开,可通过在特定目录的``文件中配置`cache_dir`选项实现。
举例来说,要将`src/chapter12/`目录下的测试缓存与源码分开存储,可以通过以下配置:确保在`src/chapter12/`中加入此配置,执行测试时,`pytest src/chapter12/`,测试结果将只缓存至`src/chapter12/_cache`,避免占用根目录缓存。
测试失败管理的实现可以通过使用cacheprovider插件,该插件帮助测试者在测试失败后,可以选择性地执行失败的测试用例。
使用`--lf`选项时,只执行上一轮失败的测试用例;`--ff`选项则先执行上次失败的测试用例,再执行其他用例;`--nf`选项则优先执行新添加或修改的测试用例。
`--cache-clear`选项在清除所有缓存后执行用例,对未失败测试用例执行时,确保不会生成`lastfailed`文件,从而避免`--lf`和`--ff`选项在没有失败用例时的误操作。
具体操作步骤包括在特定目录下创建``文件,编写测试用例文件(如`test_`、`test_`等),并在``中设置自定义缓存目录,实现测试用例的独立缓存与源代码的分离。
通过命令行参数和插件功能,开发者可以灵活管理测试用例的运行过程,优化测试流程。

pytestconfig--获取命令行参数及pytest.ini文件配置
来更新知识点了~pytestconfig 是 pytest 一个内置的 fixture ,可以读取相关配置,这里主要介绍如何获取命令行参数以及 中所写的配置项。
读取命令行参数还是比较有意义的,比如有多个 root_url ,可以通过读取参数来指定。
其实在 pytest_addoption 这篇文章中已经介绍了如何注册命令行参数(甚至如何获取也有说明,只不过是用的 ),这里就用 pytestconfig 来再次实现参数获取吧。
执行 pytest test_ --value=pro 运行结果如下图:首先在 文件中,标记如下配置。
读取其实只需要用到 getini 方法。
运行上方已建立的 test_ ,运行结果如下图,ini文件中的配置已成功输出。
最近关注博主的人儿就竟然快50了,是个非常大的鼓励了~这个月更新慢,重点确实不在这里,不过下个月会继续努力学习,努力做一个小知识点传送门的! 今天心情不错,祝大家也开心哦~ 自我记录,有错误欢迎指正~
pytest框架系列——配置文件pytest.ini
pytest的主配置文件起着至关重要的作用,它能定制pytest的运行方式。
一般位于项目根目录下,不可随意移动或改名。
要查看配置选项,可通过命令行pytest -h或pytest --help查看。
关键配置如下:
1. markers:标记测试用例,如使用,自定义标记需在中注册,避免执行后警告。
例如,自定义标记smoke和normal,通过pytest --markers查看。
2. xfail_strict:设置为True时,标记为xfail的测试用例会显示为failed,而非XPASS。
3. addopts:用于更改默认命令行选项,简化长指令,如设置测试报告生成和重跑等。
4. log_cli:控制台实时日志输出,调试时推荐设置为True,便于追踪日志信息。
5. norecursedirs:过滤不需要执行的目录,通过--ignore命令行参数或addopts进行设置。
6. testpaths:定制搜索测试用例的范围,如指定文件名、类名或方法名。
注意,命令行参数会覆盖中的配置。
最后,学习pytest配置时,结合实战资料和学习资源能更好地理解和应用。