基础

此示例将介绍 Gherkin 中 Cucumber 特征文件的基本结构。功能文件在基本语法中使用多个关键字。

让我们看看基本的关键字:

  • 功能: 此关键字表示以下内容是要测试或记录的功能的基本描述或名称。
  • 场景: 此关键字表示测试该功能的特定场景的名称或基本描述。
  • 给定此关键字表示给定步骤,或在继续之前假定的前提条件。在安排,行为,断言范式中,给出代表安排
  • 此关键字表示 when 步骤或要声明的行为时。在安排,行为,断言范式中,给出代表行为
  • 然后,此关键字表示当时步骤,或者换句话说,表示行为结果的验证步骤。在 Arrange,Act,Assert 范例中,给出了断言
  • 并且这个关键字与任何上述的关键字的结合使用。如果你有两个给定的语句,而不是显式调用给定两次,你可以说,“给定 A 和 B”。
  • 但是这个关键字与 GivenWhenThen 结合使用,表示不应该发生某些事情。那么 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