
Pytest-Bdd+Playwright
文章平均质量分 90
1.页面对象模型 2.详细的报告与截图,视频和日志 3.支持在多浏览器、多环境中执行测试 4.支持并行执行 5.支持只重新运行失败的特性 6.在CI上重试失败的测试 7.Gitlab集成与可下载的报告
blues_C
10年+测试经验,TME旗下公司前员工,测试管理&测开。丰富的实战经验,擅长测试平台开发、web/app/接口自动化、AI、性能、安全测试等。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架
行为驱动开发(BDD)是一种敏捷软件开发技术,为了促进开发人员、测试人员与非技术或业务相关人员之间的协作。BDD 通过采用简单的“Given(给定)、When(当)、Then(那么)”格式(Gherkin 语言)来编写测试用例,使得任何人都能够理解。在进行 Pytest BDD 与 Behave 比较之前,让我们先看一下 Python 中常见的 BDD 框架。原创 2024-12-17 09:47:35 · 1305 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(1):从零开始教你写自动化测试框架「喂饭教程」
最近收到一些小伙伴在后台的留言,能不能提供相应的自动化测试项目的源码参考下,那么今天就来开始新的一期喂饭教程专栏,教大家如何完整的搭建一个完善的自动化测试框架;我们将逐步讲解从项目结构设计到测试执行的整个过程,帮助大家深入理解自动化测试框架的各个组成部分及其工作原理。本文教程内容如下:理解BDD在自动化测试中的应用;掌握设计模式;学会使用Pytest和Playwright进行Web自动化测试;了解如何组织和管理自动化测试项目;掌握测试报告生成和日志管理技巧。原创 2024-10-24 10:18:06 · 3695 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(2):支持在多浏览器、多环境中执行测试
通过本文内容的学习,你将能够:学会命令行参数配置:通过命令行参数来控制测试环境和浏览器选项,为测试提供了灵活性;动态浏览器选择:通过修改conftest.py文件,实现了根据命令行参数动态选择浏览器的功能,可以在不同的浏览器上执行测试;无头模式支持,这在自动化测试和持续集成环境中非常有用。原创 2024-10-25 09:17:01 · 3173 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(3):支持测试用例并行执行
在串行的测试执行中,每个测试用例都会依次执行,这在测试用例数量较多或者单个测试用例执行时间较长时,会导致整体测试周期延长;测试用例的并行执行是一个提高测试效率的重要手段。通过并行执行,我们可以同时运行多个测试,从而减少整体的测试时间。原创 2024-10-27 11:11:07 · 4428 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(4):基于敏捷的通用步骤定义
在敏捷迭代中,为了适应快速、高频的交付,自动化测试框架的设计需要注重简洁灵活性和易于维护的特点,尤其是对初级工程师而言,降低学习成本尤为重要;本文将通过实战案例,详细介绍如何构建通用步骤特性文件设计测试脚本实现,使本框架让初学者能够快速上手并投入到敏捷项目的测试工作中。原创 2024-10-29 17:05:10 · 1318 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(5):仅执行测试用例的收集阶段
有的时候,我们可能只需要查看所有可用的测试用例,而不需要实际执行它们。例如,在测试的过程中快速检查新添加的测试用例是否被正确识别,或者在持续集成(CI)环境中,我们可能希望快速检查测试套件的完整性。原创 2024-10-30 09:28:26 · 1250 阅读 · 1 评论 -
Pytest-Bdd-Playwright 系列教程(6):在测试步骤函数中设置别名&数据共享
通过本文内容的学习,你将能够:通过为步骤函数添加多个装饰器(例如: @given、@when、@then)来创建步骤别名;利用 target_fixture 共享步骤返回值,使其可被其他步骤引用。原创 2024-10-31 10:05:13 · 733 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(7):使用测试代码生成辅助工具
pytest-bdd的代码生成辅助工具提供了一种轻量级的方式,自动创建测试代码的基本结构,而无需手动编写重复代码;对于每个feature文件,它可以生成相应的步骤定义,并自动匹配 Gherkin 语法中的GivenWhen和Then步骤,从而让测试人员只需填充业务逻辑即可。pytest-bdd的代码生成工具为自动化测试的新手和项目团队带来了极大的便利。它简化了测试代码的编写过程,减少了重复劳动,并在一定程度上降低了测试人员的学习门槛。原创 2024-11-09 18:19:47 · 1494 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(8):pytest的高级代码生成功能
在自动化测试开发中,代码的编写和维护往往占据大量时间。特别是对于复杂的业务流程,测试用例多且逻辑复杂,手动编写测试代码效率低且容易出错;在这个背景下,我们可以使用pytest的的高级代码生成工具,通过该工具,我们能够自动生成缺失的测试代码,减少重复劳动并提高效率;本文将以购物车功能为例,介绍如何使用pytest的代码生成工具自动生成缺失的代码,帮助小伙伴们快速上手pytest的高级代码生成功能。原创 2024-11-10 09:06:09 · 748 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(9):使用 数据表(DataTable 参数) 来传递参数
pytest-bdd在编写复杂的 Gherkin 场景时,往往会涉及到大量的表格数据。为了方便地管理和操作这些表格数据,pytest-bdd提供了一个非常有用的功能——datatable参数。原创 2024-11-14 10:23:34 · 1175 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(10):配置功能文件路径 & 优化场景定义
在实际应用的过程中,我们经常需要根据不同的测试需求来调整功能文件(.feature文件)的路径,以及优化测试场景的定义以减少重复代码;本文将详细介绍如何配置功能文件路径以及如何使用 functools.partial 方法来优化场景定义,帮助大家更高效地管理和执行 BDD 测试。原创 2024-11-17 09:24:23 · 1317 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(11):场景快捷方式
在 Pytest-Bdd 中,场景是构成测试用例的核心部分。通常情况下,我们需要通过@scenario装饰器将测试函数与特定的场景绑定。当项目规模扩大时,多个feature文件及场景的存在可能会导致手动绑定场景变得冗长、繁琐;场景快捷方式(scenarios函数)正是为了解决这一问题而设计的。它允许我们通过递归方式,自动绑定指定路径下的所有场景,从而极大地提升测试开发效率。原创 2024-11-18 09:46:20 · 1584 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(12):步骤参数解析(Step arguments)与类型转换
在 pytest-bdd 中,步骤参数是构建动态、灵活测试用例的核心功能之一,它允许通过占位符的形式将具体值插入步骤中,从而避免重复编写相似的场景;我们可以通过给步骤添加参数来重用步骤,实现单一实现和多重使用,从而使代码更简洁;本文将探讨如何通过简单字符串解析、自定义正则表达式解析以及参数类型转换等方法来灵活处理不同的参数需求,并通过一个基于计算器功能的完整案例进行说明。原创 2024-11-19 16:04:30 · 1365 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(13):钩子(hooks)
在自动化测试中,钩子(hooks)是非常重要的工具,它能够帮助我们在特定的测试执行阶段注入自定义逻辑,从而提高测试的灵活性和可维护性;对于使用Pytest-Bdd和Playwright进行测试开发的团队而言,了解并正确使用这些钩子不仅可以优化测试流程,还能够在调试和异常处理时提供极大的帮助。原创 2024-11-25 10:53:58 · 1308 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(14):Docstring 参数
在自动化测试的过程中,我们经常需要处理复杂的测试数据或需要输入多行文本。Pytest-Bdd提供了一种解决方案——Docstring参数,它能够有效地解决这些问题;Docstring参数允许在 Gherkin 语法的步骤中嵌入多行文本,这在多种测试场景下都非常有用,包括但不限于复杂业务规则的描述、长文本输入的测试、详细测试步骤的记录、复杂预期结果与API 响应内容的验证以及文本内容的比对等。原创 2024-12-11 08:59:39 · 842 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(15):背景(Background)
在pytest-bdd中,背景(Background)用于定义在每个场景执行之前需要共享的步骤。通过使用背景,我们可以避免在多个场景中编写相同的Given步骤,从而减少重复并提高可读性。背景中的步骤在每个场景执行之前都会被调用,这样可以确保所有场景都有相同的初始条件。原创 2024-12-12 16:13:54 · 627 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(16):标准化JSON报告&Gherkin格式命令行报告
在自动化测试中,生成详细、易于理解的报告是非常重要的,尤其是当我们使用行为驱动开发(BDD)方法时;pytest-bdd与Cucumber标准兼容,可以生成多种格式的测试报告,帮助团队更高效地沟通和协作;本文将介绍如何使用pytest-bdd生成标准化的JSON报告,并展示如何在命令行终端使用Gherkin格式进行报告输出。原创 2024-12-13 09:23:25 · 1253 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(17):标签管理(Tags)
为了有效地管理和执行大量的测试用例,我们需要一种灵活的方式来控制哪些测试用例应该执行,哪些可以跳过;Pytest-BDD作为一种基于 Behavior Driven Development(BDD)的测试框架,提供了标签(Tags)功能,允许我们在Feature文件和Scenario中添加标签,从而灵活地控制测试的执行顺序与范围。原创 2024-12-16 17:30:02 · 1360 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(18):使用 Jinja2 & 钩子函数生成自定义测试报告
介绍如何在 Pytest 中使用钩子函数(`pytest_terminal_summary`)来拦截测试结果;使用 Jinja2 模板引擎生成自定义的 HTML 测试报告;提供一个完整的代码示例,展示如何整合 Pytest、Jinja2 和钩子函数来生成专业的测试报告。原创 2025-01-07 08:59:25 · 1096 阅读 · 0 评论 -
Pytest-Bdd-Playwright 系列教程(完结篇):本框架的功能参数说明
本框架支持多种浏览器和设备类型的测试,并具备存储状态管理、测试用例筛选、并行执行、失败重试、报告生成等功能。下面,我将对各个功能参数进行详细阐述。原创 2025-01-09 15:12:45 · 1480 阅读 · 0 评论