Gherkin 语言17 Mar 2025 | 4 分钟阅读 正如我们在 Cucumber 测试中了解到的,feature 文件是使用可执行的测试脚本创建的。编写这些可执行测试脚本的语言称为 Gherkin 语言。 基本上,Gherkin 是一种纯英文文本语言,用于解释和执行测试脚本。 当 Cucumber 支持英文文本时,为什么我们需要单独的 Gherkin 语言?已经讨论过很多次,Cucumber 支持纯英文文本,那么为什么我们需要单独的 Gherkin 语言。 答案在于BDD(行为驱动开发)的概念。 我们知道,BDD 在准备测试脚本时涉及各种软件行为开发的可能性。 这些可能是与开发相关的可能性,也可能是与业务相关的可能性。 为了实现这些可能性,我们需要来自不同社区的成员,例如测试人员、开发人员、产品负责人和项目经理,在开发测试脚本时。 由于这些成员不属于同一个社区; 因此,每个人都很难使用通用语言。 因此,测试脚本的概念存在很高的风险。 为了降低这种风险,开发了 Gherkin。 Gherkin 在纯英文文本中提供了一组通用的关键字,不同社区的成员可以使用这些关键字,并可以从测试脚本中获得相同的输出。 Gherkin 提供了以下特定关键字,用于在 feature 文件中编写通用测试脚本
![]() 特性Cucumber 测试的每个 feature 文件都以feature关键字开头。 它是要测试的独立单元或功能。 例如,登录 feature、付款转移 feature、注册 feature 等。 示例 Feature: Login Scenario: Login verification Given user navigates to the website javatpoint.com And user logs in through Login Window by using Username as "USER" and Password as "PASSWORD" Then login must be successful. 场景每个 feature 都包含测试该 feature 所需的测试数量。 每个测试都称为 Scenario。 例如,feature 登录功能可以包含两种 scenario,第一种是成功登录,第二种是登录失败。 Scenario: Successful Login with Valid entries Given user navigates to the website javatpoint.com And user logs in through Login Window by using Username as "USER" and Password as "PASSWORD" Then login must be successful. Scenario: Unsuccessful Login with Invalid entries Given user navigates to the website javatpoint.com And user logs in through Login Window by using Username as "USER" and Password as "1234erty" But user entered wrong username and password Then login must be unsuccessful. 给定此关键字指的是测试的前提条件。 例如,要访问任何 Web 应用程序,第一个要求或前提条件是导航到其主页,因为从主页,我们可以导航到其他链接,例如注册、登录等。 示例 Feature: Login Scenario: Login verification Given user navigates to the website javatpoint.com And user logs in through Login Window by using Username as "USER" and Password as "PASSWORD" Then login must be successful. 何时它通常指的是要执行的用户的操作。 示例 Scenario: Successful Login with Valid entries Given user navigates to the website javatpoint.com When User Navigate to Login Page And user logs in through Login Window by using Username as "USER" and Password as "PASSWORD" Then login must be successful. 当用户在“注册电子邮件文本框”中填写“[email protected]”。 那么此关键字指的是前一步骤或即将到来的操作的结果。 示例 Scenario: Successful Login with Valid entries Given user navigates to the website javatpoint.com When User Navigate to Login Page And user logs in through Login Window by using Username as "USER" and Password as "PASSWORD" Then login must be successful. But此关键字用于添加否定条件。 示例 Scenario: Unsuccessful Login with Invalid entries Given user navigates to the website javatpoint.com And user logs in through Login Window by using Username as "USER" and Password as "1234erty" But user entered wrong password Then login must be unsuccessful. 和此关键字用于在步骤中添加更多条件。 示例 Given User is on Home Page And Login Link is displayed When User Navigates to Login form And User enters email and Password Then Login Successfully will be displayed And Logout Link should be displayed 背景此关键字用于定义 feature 文件中所有测试通用的步骤。 例如,导航到主页、单击登录、输入用户名和密码、单击提交按钮几乎是所有 Web 应用程序中的通用步骤。 |
我们请求您订阅我们的新闻通讯以获取最新更新。