是否可以在 Cucumber 中引入自定义步骤关键字?
Is it possible to introduce custom step keyword in Cucumber?
除了 Cucumber 中的现有关键字外,我还想使用我的自定义关键字来定义步骤,即:
As an admin
I want to perform something
...
除了Given/Then/When/And/But之外,是否可以在 Cucumber 中定义自定义关键字?
您遇到任何错误吗?
Cucumber 将执行您在 gherkin 中编写的任何步骤,前提是该步骤已在 step_definitions
文件中定义。小黄瓜脚本基本上是为了让非技术团队了解测试流程。对于如何编写它没有硬性规定。
有gherkin的基本思想是为了更好的理解,建议你写测试脚本,让不了解被测系统的人也能看懂。
这可以通过 QAF 实现,您可以在其中提供 BDD Keywords Synonyms
您可以实现自己的翻译,从而引入新词。
Gherkin 有多种语言版本,据我所知有 70 多种。
添加新语言非常简单。
找到更多信息
我要问你的问题是,为什么你需要 As an
或 I want to
作为关键字吗?
在我从事的大多数项目中,这些都用作上下文提供者。
Feature: Register for an account
As a potential customer
I want to register for an account
In order to book a flight
Scenario: Particular Scenario
Given I have not got an account
And I want to access BDD Flights ticket booker
When I register for an account
Then I should be able to log in
Given
、When
、Then
关键字分别用于定义先决条件、行动和结果。
如果您确实想添加关键字,那么您可以添加自己的 Gherkin 翻译来匹配这些关键字,如 Thomas Sundberg 的回答中所述,但实际上,您根本不需要这样做。
'*'关键字
'*'很特别。这违背了使用 Given、When、Then 和所有其他关键字的全部目的。基本上 Cucumber 不关心你使用什么关键字来定义测试步骤,它只关心它需要为每个步骤执行什么代码。该代码称为步骤定义。请记住,所有关键字都可以用 * 关键字替换,您的测试就可以正常工作。
让我们看例子:
功能:登录操作测试
说明:此功能将测试登录和注销功能
场景:使用有效凭据成功登录
给定用户在主页上
当用户导航到登录页面时
然后用户输入用户名和密码
然后提示登录成功
使用 * 关键字
功能:登录操作测试
说明:此功能将测试登录和注销功能
场景:使用有效凭据成功登录
* 用户在主页
* 用户导航到登录页面
* 用户输入用户名和密码
* 提示登录成功
Given, When, Then, And 都可以用'*'关键字代替。并且测试会正常工作。
除了 Cucumber 中的现有关键字外,我还想使用我的自定义关键字来定义步骤,即:
As an admin
I want to perform something
...
除了Given/Then/When/And/But之外,是否可以在 Cucumber 中定义自定义关键字?
您遇到任何错误吗?
Cucumber 将执行您在 gherkin 中编写的任何步骤,前提是该步骤已在 step_definitions
文件中定义。小黄瓜脚本基本上是为了让非技术团队了解测试流程。对于如何编写它没有硬性规定。
有gherkin的基本思想是为了更好的理解,建议你写测试脚本,让不了解被测系统的人也能看懂。
这可以通过 QAF 实现,您可以在其中提供 BDD Keywords Synonyms
您可以实现自己的翻译,从而引入新词。
Gherkin 有多种语言版本,据我所知有 70 多种。 添加新语言非常简单。
找到更多信息我要问你的问题是,为什么你需要 As an
或 I want to
作为关键字吗?
在我从事的大多数项目中,这些都用作上下文提供者。
Feature: Register for an account
As a potential customer
I want to register for an account
In order to book a flight
Scenario: Particular Scenario
Given I have not got an account
And I want to access BDD Flights ticket booker
When I register for an account
Then I should be able to log in
Given
、When
、Then
关键字分别用于定义先决条件、行动和结果。
如果您确实想添加关键字,那么您可以添加自己的 Gherkin 翻译来匹配这些关键字,如 Thomas Sundberg 的回答中所述,但实际上,您根本不需要这样做。
'*'关键字
'*'很特别。这违背了使用 Given、When、Then 和所有其他关键字的全部目的。基本上 Cucumber 不关心你使用什么关键字来定义测试步骤,它只关心它需要为每个步骤执行什么代码。该代码称为步骤定义。请记住,所有关键字都可以用 * 关键字替换,您的测试就可以正常工作。
让我们看例子:
功能:登录操作测试 说明:此功能将测试登录和注销功能
场景:使用有效凭据成功登录
给定用户在主页上
当用户导航到登录页面时
然后用户输入用户名和密码
然后提示登录成功
使用 * 关键字
功能:登录操作测试 说明:此功能将测试登录和注销功能
场景:使用有效凭据成功登录
* 用户在主页
* 用户导航到登录页面
* 用户输入用户名和密码
* 提示登录成功
Given, When, Then, And 都可以用'*'关键字代替。并且测试会正常工作。