是否有可能在 Cucumber 的步骤中获得场景?
Posted
技术标签:
【中文标题】是否有可能在 Cucumber 的步骤中获得场景?【英文标题】:Is it possible to get scenario inside the step in Cucumber? 【发布时间】:2021-07-22 16:09:33 【问题描述】:我需要在特定位置的步骤内制作屏幕截图。这意味着不在@BeforeStep 或@AfterStep 上。我需要打电话
// public void someStep(Scenario scenario) // This does not work
public void someStep()
page.openUrl();
scenario.attach(screenshot(), "image/png", fileName1);
page.doSomething();
scenario.attach(screenshot(), "image/png", fileName2);
page.doSomethingElse();
但我无法获得与步骤执行相关的当前场景。有没有可能?我尝试将其称为 someStep(Scenarion scenario) 但它会引发错误。
【问题讨论】:
你不能通过依赖注入到你的步骤定义类中获取 Scenario 对象吗?我知道你可以为黄瓜配置一个 DI 框架。我只是在 Java 方面没有太多经验,仅此而已。 见cucumber.io/docs/cucumber/state/#dependency-injection 谢谢我知道你的意思。不知道能不能实现。 【参考方案1】:如果您想访问场景对象,最好的选择是 AfterStep 挂钩。但是,所有口味的黄瓜都不支持此功能。最好的办法是检查您的语言的文档或 API 文档
【讨论】:
@AfterStep 为时已晚。以上是关于是否有可能在 Cucumber 的步骤中获得场景?的主要内容,如果未能解决你的问题,请参考以下文章
行为驱动:Cucumber + Selenium + Java - Cucumber简单操作实例