View Javadoc

1   package com.atlassian.webdriver;
2   
3   import com.atlassian.pageobjects.TestedProduct;
4   import com.atlassian.webdriver.pageobjects.PageFactoryPostInjectionProcessor;
5   import com.atlassian.webdriver.pageobjects.WebDriverTester;
6   import com.atlassian.webdriver.waiter.Waiter;
7   import com.atlassian.webdriver.waiter.webdriver.WebDriverWaiter;
8   import com.google.inject.Binder;
9   import com.google.inject.Module;
10  import org.openqa.selenium.SearchContext;
11  import org.openqa.selenium.WebDriver;
12  
13  /**
14   * Guice module providing Atlassian WebDriver components.
15   *
16   * @since 2.0
17   */
18  public class AtlassianWebDriverModule implements Module
19  {
20      private final TestedProduct<? extends WebDriverTester> testedProduct;
21  
22      public AtlassianWebDriverModule(TestedProduct<? extends WebDriverTester> testedProduct)
23      {
24          this.testedProduct = testedProduct;
25      }
26  
27      public void configure(Binder binder)
28      {
29          binder.bind(AtlassianWebDriver.class).toInstance(testedProduct.getTester().getDriver());
30          binder.bind(WebDriver.class).toInstance(testedProduct.getTester().getDriver());
31          binder.bind(SearchContext.class).toInstance(testedProduct.getTester().getDriver());
32          binder.bind(PageFactoryPostInjectionProcessor.class);
33          binder.bind(Waiter.class).to(WebDriverWaiter.class);
34      }
35  }