我有一个使用Selenium进行端到端测试的Cucumber项目。我的页面类扩展了我的BasePage,并具有@ScenarioScoped批注,用于在步骤之间共享状态。我有一个NavigationStepDefs类,在其中打开不同的页面,我的目标是保留页面对象,以便在以后的步骤中通过按名称调用它们来调用它的方法。问题是我大约有40页,并且我不想将所有页面都插入NavigationStepDefs构造函数中。有什么方法可以只在需要使用一种方法时才插入一页?
我尝试为所需页面添加一个注入器
public void the_user_opens_the_Administration_page() {
final Injector injector = Guice.createInjector();
final SchedulesPage page = injector.getInstance(SchedulesPage.class);
System.out.println(page.getProcess().getTagName());
但是我得到一个错误
1) No scope is bound to cucumber.runtime.java.guice.ScenarioScoped.```
答案 0 :(得分:0)
您没有安装任何带有绑定的模块。 所以guice并不真正知道应该如何在类内部进行绑定。