- Cucumber 教程
- Cucumber - 首页
- Cucumber - 概述
- Cucumber - 环境
- Cucumber - Gherkins
- Cucumber - 特性
- Cucumber - 场景
- Cucumber - 注解
- Cucumber - 场景大纲
- Cucumber - 标签
- Cucumber - 数据表
- Cucumber - 注释
- Cucumber - 钩子
- Cucumber - 命令行选项
- Cucumber - JUnit 运行器
- Cucumber - 报告
- Cucumber - 调试
- Cucumber - Java 测试
- Cucumber - Ruby 测试
- Cucumber 有用资源
- Cucumber - 快速指南
- Cucumber - 有用资源
- Cucumber - 讨论
Cucumber - 场景
场景是 Gherkin 核心结构之一。每个场景都以关键字“Scenario:”(或本地化版本)开头,后跟可选的场景标题。每个特性可以包含一个或多个场景,每个场景包含一个或多个步骤。一个非常简单的场景示例如下:
场景 - 验证帮助功能。
给定用户导航到 Facebook。
当用户点击帮助时,帮助页面打开。
考虑一种情况,我们需要多次执行测试场景。假设,我们需要确保登录功能对所有类型的订阅者都可用。这需要多次执行登录功能场景。为了重新执行代码而复制粘贴相同的步骤,似乎不是一个明智的想法。为此,Gherkin 提供了另一种结构,即场景大纲。
场景大纲类似于场景结构;唯一的区别是提供了多个输入。如以下示例所示,测试用例保持不变且不可重复。在底部,我们为变量“用户名”和“密码”提供了多个输入值。在运行实际测试时,Cucumber 将用提供的输入值替换变量,并执行测试。执行完第 1 次传递后,测试将使用另一个输入值重新运行以进行第二次迭代。此类变量或占位符可以使用“<>”在提及 Gherkin 语句时表示。
示例
场景大纲 - 社交网站的登录功能。给定的用户导航到 Facebook。
当用户使用用户名“<username>”和密码“<password>”登录时,登录应成功。
| username | password | | user1 | password1 | | user2 | password2 |
有一些技巧和窍门可以巧妙地定义 Cucumber 场景。
每个步骤都应明确定义,以免给读者造成任何混淆。
如果需要,不要重复测试场景,请使用场景大纲来实现重复。
以一种可以在多个场景和场景大纲中使用的方式开发测试步骤。
尽可能使每个步骤完全独立。例如:“给定用户已登录”。这可以分为两个步骤
- 给定用户输入用户名。
- 点击登录。
广告