2017-05-16 11 views
1

設定セレンで新しくなった。ドライバを渡すのが見えました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; 

答えて

関連する問題