如何在每个黄瓜场景中创建CDI bean

时间:2016-10-25 14:16:37

标签: java selenium-webdriver automated-tests cdi cucumber-jvm

背景 我是CDI的新手,但已经使用黄瓜,硒和Java组合作为端到端测试一段时间了。最近,我正在为我的e2e测试项目实施CDI,但我发现没有像#34; DI框架Guice"那样的ScenarioScoped。在CDI。因为我想为每个黄瓜场景注入一个新的硒webdriver。我在网上搜索了很多,发现很多教程介绍了不同的范围,但没有一个讨论ScenarioScoped,也没有如何在CDI中定制这样的范围。

目标: 我想创建一个这样的CDI bean,以便在每个黄瓜场景中初始化一个新的selenium webdriver。

我目前的代码: 一个webdriver生成器方法,(因为没有ScenarioScoped,我使用的是ApplicationScoped,但是我不需要工作。)

@Produces
@TheWebDriver
@ApplicationScoped
public WebDriver get() {

    return iWebDriver;
}

在页面驱动程序类中:

@Inject
public LandingPageDriver(@TheWebDriver WebDriver aDriver) {
        iCalculator = find( aDriver, By....);
        iWelcome = find( aDriver, By....);
}

在我的步骤定义课程中:

@Inject
private LandingPageDriver iMainToDoListPageDriver;

问题: 这可能是每黄瓜场景创建CDI吗?如果是这样,请转到我的代码示例或甚至是教程? 如果不可能,请告诉我原因,并为我提供另一种选择。 或者,如果我正在做一些没有意义的事情,请纠正我。

感谢所有帮助!如果您需要更多信息,请与我们联系。

0 个答案:

没有答案