設定セレンで新しくなった。ドライバを渡すのが見えましたhttps://stackoverflow.com/a/35101914/7104440このようにして、ブラウザから多くのドライバをインストールすることは可能でしょうか?異なるドライバをバインドすることは可能ですか?このコードでエラーが発生しました。TestNGでWebDriversを注入する@guiceでテストする前@
encom.google.inject.CreationException: Unable to create injector, see the following errors:
1)nullインスタンスへのバインドは許可されていません。これが目的の動作であれば、toProvider(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);
}
}
}
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;