基础
此示例将介绍 Gherkin 中 Cucumber 特征文件的基本结构。功能文件在基本语法中使用多个关键字。
让我们看看基本的关键字:
- 功能: 此关键字表示以下内容是要测试或记录的功能的基本描述或名称。
- 场景: 此关键字表示测试该功能的特定场景的名称或基本描述。
- 给定此关键字表示给定步骤,或在继续之前假定的前提条件。在安排,行为,断言范式中,给出代表安排。
- 当此关键字表示 when 步骤或要声明的行为时。在安排,行为,断言范式中,给出代表行为。
- 然后,此关键字表示当时步骤,或者换句话说,表示行为结果的验证步骤。在 Arrange,Act,Assert 范例中,给出了断言。
- 并且这个关键字与任何上述的关键字的结合使用。如果你有两个给定的语句,而不是显式调用给定两次,你可以说,“给定 A 和 B”。
- 但是这个关键字与 Given , When 和 Then 结合使用,表示不应该发生某些事情。那么 A 但不是 B.
所有关键字必须在新行上,并且必须是新行上的第一个单词才能被 Gherkin 解析器识别。Feature 和 Scenario 关键字必须紧跟在后面,如下例所示。给定,何时,然后,并且不需要冒号。
除关键字外,你还可以编写说明和注释。描述发生在关键字之后但在同一行上,其中注释出现在关键字下方的行上。在编写功能评论时,习惯上提供明确的规则,概述导致不同行为结果的边缘和条件。
Feature: Product Login
As a user, I would like to be able to use my credentials to successfully
login.
Rules:
- The user must have a valid username
- The user must have a valid password
- The user must have an active subscription
- User is locked out after 3 invalid attempts
- User will get a generic error message following
login attempt with invalid credentials
Scenario: The user successfully logs in with valid credentials
This scenario tests that a user is able to successfully login
provided they enter a valid username, valid password, and
currently have an active subscription on their account.
Given the user is on the login page
When the user signs in with valid credentials
Then the user should be logged in