黄瓜 – 场景
黄瓜 – 场景
Scenario是 Gherkin 的核心结构之一。每个场景都以关键字“场景:”(或本地化的)开头,后跟可选的场景标题。每个功能可以有一个或多个场景,每个场景都包含一个或多个步骤。一个非常简单的场景示例可以是 –
场景– 验证帮助功能。
给定用户导航到 Facebook。
当用户单击“帮助”时,将打开“帮助”页面。
考虑一个案例,我们需要多次执行一个测试场景。假设,我们需要确保登录功能适用于所有类型的订阅持有者。这需要多次执行登录功能场景。复制粘贴相同的步骤以重新执行代码,似乎不是一个聪明的主意。为此,Gherkin 提供了另一种结构,即场景大纲。
场景大纲类似于场景结构;唯一的区别是提供多种输入。正如您在以下示例中所见,测试用例保持不变且不可重复。在底部,我们为变量“用户名”和“密码”提供了多个输入值。在运行实际测试时,Cucumber 将使用提供的输入值替换变量并执行测试。一旦执行了 pass-1,测试将使用另一个输入值重新运行进行第二次迭代。此类变量或占位符可以用“<>”表示,同时用小黄瓜语句提及。
例子
Scenario Outline – 社交网站的登录功能。给定的用户导航到 Facebook。
当用户使用用户名作为“<username>”和密码作为“<password>”登录时,登录应该成功。
| username | password | | user1 | password1 | | user2 | password2 |
有一些技巧和窍门可以巧妙地定义 Cucumber 场景。
-
每个步骤都应该明确定义,以免给读者造成任何混淆。
-
不要重复测试场景,如果需要,使用场景大纲来实现重复。
-
以一种可以在多个场景和场景大纲中使用的方式开发测试步骤。
-
尽可能保持每个步骤完全独立。例如:“鉴于用户已登录”。这可以分为两步
- 给定用户输入用户名。
- 点击登录。