我是配置硒的新手。寻找路过的司机找到此解决方案https://stackoverflow.com/a/35101914/7104440我想知道是否有可能以这种方式从浏览器中注入许多驱动程序。是否可以绑定不同的驱动程序?我收到错误代码:
encom.google.inject.CreationException: Unable to create injector, see the following errors:
1)不允许绑定到null实例。如果这是您的预期行为,请使用Providers.of(null))。在assecobs.driver.DriverModule.configure(DriverModule.java:31)
2) 与org.openqa.selenium的绑定。WebDriver已在assecobs.driver.DriverModule.configure(DriverModule.java:31)中配置。位于assecobs.driver.DriverModule.configure(DriverModule.java:31)
DriverModule.class
private DriverSetup driverSetup = new DriverSetup();
@BeforeSuite
@Override
public void configure(Binder binder) {
for (BrowserNames browserName : BrowserNames.values()) {
System.out.println(" bind " + browserName.toString());
WebDriver driver = driverSetup.initDriver(browserName.toString());
binder.bind(WebDriver.class).toInstance(driver);
}
}
}
驱动程序设置.class
@SneakyThrows
public WebDriver initDriver(String browser) {
if (browser.equalsIgnoreCase("chrome")) {
capabilities = chromeCapabilities();
driver = initChromeDriver(capabilities);
} else if (browser.equalsIgnoreCase("firefox")) {
capabilities = firefoxCapabilities();
driver = initFirefoxDriver(capabilities);
} else if (browser.equalsIgnoreCase("opera")) {
capabilities = operaCapabilities();
driver = initOperaDriver(capabilities);
} else {
capabilities = firefoxCapabilities();
return driver = initFirefoxDriver(capabilities);
}
return driver;
}
客户端测试.class
@Guice(modules = {DriverModule.class})
public class ClientTest extends DriverSetup {
@Inject
WebDriver driver;
我已经使用Guice WebDriver一段时间了。您可以注入 Web 驱动程序,如 ClientTest.java 所示。
查看此处了解详细步骤。- http://www.testautomationguru.com/selenium-webdriver-dependency-injection-using-guice/
我正在尝试为一个类编写测试,该类具有从属性文件注入的字段值。我试图在运行TestNG测试时利用注释获取其中的值,但它似乎忽略了我的属性文件。 有几十个类似的问题,我试着仔细阅读,并尽可能尝试它们的实现。但我的问题似乎略有不同,原因如下: > @TestProperty tSource和@Property tySource不适用于JUnit:谈论JUnit而不是TestNG(可能相关,也可能不相关?
我用TestNG类创建了一个Maven项目。在TestNG。xml我已经给出了套件的名称。我使用了多个浏览器Chrome和Firefox来并行运行。仅使用setup类和一个以上的类就可以了,但是当我使用注释包含多个类时,我会得到一个注入错误,并给出一个错误。 我将提供我尝试过的代码 设置。JAVA 我得到的错误如下: 无法使用[class org.openqa.selenium.remote.De
问题内容: 每当我想测试使用资源注入的类时,我最终都会包含一个仅在测试中使用的构造函数: 还有另一种模拟资源注入的方式,或者这是遵循的正确模式吗? 问题答案: 您可以使用简单的光泽效果,它可以模拟EJB注入系统。 另一种方法是在测试中使用反射来设置字段,我有时使用类似这样的内容:
我想在使用guice实例化子类时,将依赖项注入父类。在下面的示例中,我试图创建的一个实例,同时希望能够在运行时使用Guice注入。我该怎么做?
我上了如下的课,效果很好 现在,我没有直接使用EmpService,而是创建了一个接口,EmpService实现了该接口,如下所示。 所以现在我的资源类必须使用接口,但我不确定如何引用它必须使用的实现。 我看到了这个,我不确定我的绑定应该去哪里。(这是我第一个与Guice相关的项目,所以我是一个完全的新手)。 这就是“未绑定com.api.EmpService的实现”出现的错误这完全可以理解,但不
问题内容: 如果测试失败,我想截图。与其将所有测试方法都包裹在try / catch块中,不如将这种逻辑添加到以标记的方法中。 如何在当前测试失败的注解方法中进行检测? 问题答案: 如果带有注释的方法具有参数,则TestNG将自动注入测试结果。(来源:TestNG文档,第5.18.1节) 这应该做的工作: