Cucumber - Gherkins

到目前为止,我们已经了解了 Cucumber 及其功能。它执行已在功能文件中定义的测试脚本(将在后续章节中介绍)。编写此可执行功能文件的语言称为 Gherkin。Gherkin 是一种纯英语文本语言,可帮助工具 - Cucumber 解释和执行测试脚本。

人们可能会认为,人们已经多次讨论过 Cucumber 支持简单的英语文本,那么为什么我们需要一种单独的语言 - Gherkins。答案在于行为驱动开发的概念。

如前所述,我们已经看到 BDD 在创建测试脚本时融合了不同的视角。它可以是开发视角、业务视角等。也就是说,在开发测试脚本时,我们需要来自不同社区的人员,如开发人员、项目经理、产品所有者和测试人员。由于这些人不属于同一类别,因此存在不使用通用语言进行测试脚本概念化的风险。这是 Gherkins 的进化点。

Gherkin 以英文文本形式提供一组通用关键字,不同社区的人可以使用这些关键字,并以测试脚本的形式获得相同的输出。

示例

功能 − 社交网站的登录功能。假设我是社交网站用户。我输入用户名 username1。并且我输入密码 password1。然后我应该被重定向到网站的主页。

上述场景是用户登录的功能。所有以粗体突出显示的单词都是 Gherkin 关键字。

其他几个关键字的示例 −

  • Background
  • But
  • *
  • Scenario Outline
  • Examples

Gherkin 将解析步骤定义文件中写入的每个步骤(稍后介绍)。因此,功能文件和步骤定义文件(稍后介绍)中提到的步骤应该匹配。

您可以在包资源管理器中的 Maven Dependency 文件夹中找到 Gherkin jar。它会与其他 Cucumber jar 一起下载。它看起来将类似于以下屏幕截图 −

Gherkin Jars

关于 Gherkin 的另一个有趣的事实是,它不仅支持英语,还支持许多其他母语,如法语、芬兰语、印尼语、匈牙利语、印地语、乌尔都语、古吉拉特语等。