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
15
16
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 }