Selenium Guice新手通过my Java main使用Bobcat登录时出错
我是Bobcat(AEM自动化框架)的新手。我正在尝试编写一个示例Java类,该类可以通过注入使用AemLogin API。但是我遇到了错误。我无法清楚地理解如何使用模块进行绑定,因为我尝试注入的AemLogin只有一个实现类Selenium Guice新手通过my Java main使用Bobcat登录时出错,selenium,dependency-injection,guice-3,Selenium,Dependency Injection,Guice 3,我是Bobcat(AEM自动化框架)的新手。我正在尝试编写一个示例Java类,该类可以通过注入使用AemLogin API。但是我遇到了错误。我无法清楚地理解如何使用模块进行绑定,因为我尝试注入的AemLogin只有一个实现类 import com.cognifide.qa.bb.aem.AemLogin; import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inj
import com.cognifide.qa.bb.aem.AemLogin;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
public class BobcatMain {
@Inject
private LoginTest loginTest;
private static String url ="localhost:4502";
private static String login ="admin";
private static String password ="admin";
public static void main(String[] args)
{
Injector injector = Guice.createInjector();
injector.getInstance(BobcatTest.class).AuthenticateUser();
}
}
import com.cognifide.qa.bb.aem.AemLogin;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.name.Named;
public class BobcatTest {
private static String url ="localhost:4502";
private static String login ="admin";
private static String password ="admin";
private AemLogin aemLogin;
@Inject
public BobcatTest(AemLogin aem) {
this.aemLogin= aem;
System.out.println(aem);
}
public void AuthenticateUser() {
aemLogin.login(url, login, password);
System.out.println("Login Successful");
}
}
当我运行应用程序时,会出现多个错误
Exception in thread "main" com.google.inject.ConfigurationException: Guice configuration errors:
1) 没有范围绑定到com.cognifide.qa.bb.guice.threadScope。
位于com.cognifide.qa.bb.aem.AemAuthCookieFactory.class(AemAuthCookieFactory.java:51)
查找com.cognifide.qa.bb.aem.aemuchCookieFactory时
2) 未绑定使用@com.google.inject.name.Named(value=author.login)注释的java.lang.String实现。
查找用@com.google.inject.name.Named(value=author.login)注释的java.lang.String时
3) 未绑定带有@com.google.inject.name.Named(value=author.password)注释的java.lang.String的实现。
查找带有@com.google.inject.name.Named(value=author.password)注释的java.lang.String时
4) 未绑定用@com.google.inject.name.Named(value=author.url)注释的java.lang.String实现。
查找带有@com.google.inject.name.Named(value=author.url)注释的java.lang.String时
5) 没有绑定org.openqa.selenium.WebDriver的实现。
查找org.openqa.selenium.WebDriver时
5个错误
位于com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1004)
位于com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:961)
位于com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
位于com.test.diageo.BobcatMain.main(BobcatMain.java:19)