自动化测试Pytest篇
文章平均质量分 85
介绍Pytest在自动化测试的应用,包括测试准备、清理、fixture、参数化、命令行调用、测试分组、conftest等
知识的宝藏
这个作者很懒,什么都没留下…
展开
-
Pytest设置日志
如果您需要自定义日志格式,可以使用logging或loguru的配置选项。例如,使用logging在 pytest 中,您可以使用内置的日志功能来记录测试过程中的信息。通过命令行参数和配置文件,您可以控制日志级别和输出位置。如果您需要更高级的日志管理功能,可以考虑使用插件。原创 2024-07-29 00:45:00 · 0 阅读 · 0 评论 -
Pytest软断言
如果您不希望使用外部插件,也可以自己编写一个简单的软断言函数。在这个例子中,我们定义了一个函数,它接受一个条件和一条错误消息。如果条件不满足,则将错误消息添加到一个列表中。在测试结束时,如果列表中有任何失败的断言,我们将使用报告它们。使用插件可以方便地在 pytest 中实现假设检查。这有助于在测试过程中捕获更多的信息,并提供更详细的错误报告。如果您需要控制测试的执行流程和失败时的行为,提供了灵活的选项来满足这些需求。使用插件可以方便地在 pytest 中实现软断言。原创 2024-07-28 00:30:00 · 13 阅读 · 0 评论 -
pytest如何设置失败重试
如果您需要根据特定条件来决定是否重试,可以在测试函数中使用装饰器来指定重试条件。在这个例子中,reruns=2表示最多重试两次,表示每次重试之间等待 1 秒。通过使用插件,您可以轻松地设置测试失败后的重试次数。这有助于在某些情况下提高测试的稳定性,尤其是在网络不稳定或系统负载波动的情况下。如果您需要更高级的定制功能,可以考虑使用装饰器来控制重试行为。原创 2024-07-28 00:15:00 · 15 阅读 · 0 评论 -
Pytest设置测试用例执行顺序
您可以创建一个文件,并在其中定义一个使用插件可以方便地控制测试用例的执行顺序。只需安装插件并使用适当的装饰器即可实现您的需求。如果需要更复杂的排序逻辑,可以考虑使用 collection hooks。原创 2024-07-27 19:17:49 · 124 阅读 · 0 评论 -
Pytest setup teardown传统实现及fixture实现
本节描述了如何在每个模块/类/函数的基础上实现fixture(设置和拆卸测试状态)的经典和流行的方法。注意:虽然这些setup/teardown方法对于来自unittest或nose背景的用户来说既简单又熟悉,但您也可以考虑使用pytest更强大的fixture机制,该机制利用了依赖注入的概念,从而为管理测试状态提供了更模块化、更可扩展的方法,尤其是对于大型项目和功能测试。您可以在同一文件中混合使用两种fixture机制,但unittest.TestCase子类的测试方法无法接收fixture参数。原创 2023-04-29 03:00:00 · 961 阅读 · 0 评论 -
使用pytest命令行实现环境切换
在自动化测试过程中经常需要在不同的环境下进行测试验证,所以写自动化测试代码时需要考虑不同环境切换的情况。pytest钩子函数pytest_addoption可以很好帮我们解决这个痛点。parser注册argparse样式选项和ini样式配置值,在测试运行开始时调用一次。由于pytest在启动过程中如何发现插件,因此该函数只能在位于测试根目录的插件或conftest.py文件中实现。参数parser(pytest.parser)–若要添加命令行选项,请调用parser.addoption(…)。原创 2023-07-06 22:24:12 · 801 阅读 · 0 评论 -
Pytest 分组测试
pytest]markers =sit: 标记测试为sit (deselect with '-m "not sit"')uat: 标记测试为uatprd: 标记测试为prdserialprint('sit环境测试')print('uat环境测试')以上测试选择sit标记的测试,不选中uat标记的测试输出如下:从图片看出运行结果与期望一致~原创 2023-06-09 21:54:49 · 1158 阅读 · 0 评论