Java 在使用@guice进行测试之前,在TestNG@中注入WebDrivers

Java 在使用@guice进行测试之前,在TestNG@中注入WebDrivers,java,selenium,automation,testng,Java,Selenium,Automation,Testng,我对配置selenium是新手。寻找通过的驱动程序找到这个解决方案,我想知道是否有可能通过这种方式从浏览器@injection许多驱动程序。可以绑定不同的驱动程序吗?我发现此代码有错误: encom.google.inject.CreationException: Unable to create injector, see the following errors: 1) 不允许绑定到空实例。如果这是您的预期行为,请使用toProvider(Providers.of(null))。 在ass

我对配置selenium是新手。寻找通过的驱动程序找到这个解决方案,我想知道是否有可能通过这种方式从浏览器@injection许多驱动程序。可以绑定不同的驱动程序吗?我发现此代码有错误:

encom.google.inject.CreationException: Unable to create injector, see the following errors:
1) 不允许绑定到空实例。如果这是您的预期行为,请使用toProvider(Providers.of(null))。 在assecobs.driver.DriverModule.configure(DriverModule.java:31)中

2) 已在assecobs.driver.DriverModule.configure(DriverModule.java:31)中配置了与org.openqa.selenium.WebDriver的绑定。 在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);
    }
}
}
DriverSetup.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;
    }
ClientTest.class

@Guice(modules = {DriverModule.class})
public class ClientTest extends DriverSetup {

@Inject
WebDriver driver;

我已经使用Guice+WebDriver一段时间了。您可以注入webdriver,如ClientTest.java中所示

查看此处了解详细步骤。-