In Cucumber, is it possible to programmatically get the current step being executed?(在 Cucumber 中,是否可以以编程方式获取正在执行的当前步骤?)
问题描述
Scenario: As a user, I want to login to the system
Given I am on my website
When I enter valid credentials
Then I am taken to the home page
可以使用 getName()
函数检索场景名称.有没有办法也让正在执行的步骤(在 Java
中)?我们预计将在日志记录和报告中使用它.
The scenario name can be retrieved using the getName()
function. Is there a way to also get the step being executed (in Java
)? We foresee the use of this in logging and reporting.
因此,对于上述场景,I am on my website
将在执行相应的步骤定义时返回.
So, for the scenario above, I am on my website
would be returned while the corresponding step definition is being executed.
推荐答案
我们通过将整个步骤作为参数包装到步骤定义中来解决了这个问题.换句话说,步骤
We solved this problem by wrapping the entire step as a parameter into the Step Definition. In other words, the step
Given I am on my website
翻译成
'Given I am on my website'
步骤定义实际上会接受一个字符串参数,该参数将对应于步骤
And the step definition will actually accept a string parameter that will correspond to the step
@And("(.*)") //plus something specific to map step
public void Initialization(String step) throws Exception {
//do something with step
}
这篇关于在 Cucumber 中,是否可以以编程方式获取正在执行的当前步骤?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Cucumber 中,是否可以以编程方式获取正在执行的当前步骤?


- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 转换 ldap 日期 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 获取数字的最后一位 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01