发布于2026-04-21 阅读(0)
扫一扫,手机访问

本文介绍如何在 Cucumber + Spring Boot(Java)项目中,利用场景标签(@hotel、@car)配合 Scenario Outline 的 Examples 表,实现同一业务流程(如搜索)在多个网站(如 hotels.com、cars.com)间高效复用,避免代码重复。
本文介绍如何在 Cucumber + Spring Boot(Java)项目中,利用场景标签(@hotel、@car)配合 Scenario Outline 的 Examples 表,实现同一业务流程(如搜索)在多个网站(如 hotels.com、cars.com)间高效复用,避免代码重复。
在 Cucumber 测试自动化中,当需对多个相似站点(如 hotels.com 和 cars.com)执行相同业务逻辑(例如搜索功能)但使用不同测试数据时,最佳实践是复用 Scenario Outline,通过 Cucumber 标签(Tags)控制数据集的激活范围,而非复制整个 Feature 文件或维护多套 Gherkin 脚本。
具体做法如下:
✅ 正确的 .feature 文件示例:
Feature: Search
@smoke @search
Scenario Outline: I want to search for products
Given I enter "<keyword>" as a keyword to a search field
Then I should see search results page
Then I should see at least <count> results containing "<keyword>"
@hotel
Examples:
| keyword | count |
| hotel | 3 |
@car
Examples:
| keyword | count |
| cars | 3 |? 运行方式(Maven):
# 仅执行 hotels.com 相关数据 mvn test -Dcucumber.filter.tags="@hotel" # 仅执行 cars.com 相关数据 mvn test -Dcucumber.filter.tags="@car" # 同时运行两个站点(用 OR 逻辑) mvn test -Dcucumber.filter.tags="@hotel or @car"
⚠️ 注意事项:
这种设计兼顾了可维护性与可扩展性:新增站点(如 @flight)只需追加带标签的 Examples 块,无需改动 Gherkin 结构或 Java 步骤逻辑,真正实现“一次编写,多站复用”。
上一篇:战胜期货:策略与心态攻略
下一篇:Excel提取文件扩展名方法技巧
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8