1   package com.atlassian.pageobjects.elements.test.pageobjects.page;
2   
3   import com.atlassian.pageobjects.Page;
4   import com.atlassian.pageobjects.PageBinder;
5   import com.atlassian.pageobjects.binder.WaitUntil;
6   import com.atlassian.pageobjects.elements.ElementBy;
7   import com.atlassian.pageobjects.elements.PageElement;
8   import com.atlassian.pageobjects.elements.PageElementFinder;
9   import com.atlassian.pageobjects.elements.query.Poller;
10  import com.atlassian.webdriver.utils.by.ByJquery;
11  
12  import javax.inject.Inject;
13  
14  /**
15   * Represents the elements.html
16   */
17  public class ElementsPage implements Page
18  {
19      @Inject
20      protected PageBinder pageBinder;
21  
22      @Inject
23      protected PageElementFinder elementFinder;
24  
25      @ElementBy(id="test1_addElementsButton")
26      private PageElement test1_addElementsButton;
27  
28      @ElementBy(id="test1_delayedSpan")
29      private PageElement test1_delayedSpan;
30  
31      public String getUrl()
32      {
33          return "/html/elements.html";
34      }
35  
36      @WaitUntil
37      public void doWait()
38      {
39          Poller.waitUntilTrue(elementFinder.find(ByJquery.$("h1:contains(Html Elements Page)")).timed().isPresent());
40      }
41  
42      public PageElement test1_addElementsButton()
43      {
44          return test1_addElementsButton;
45      }
46  
47       public PageElement test1_delayedSpan()
48      {
49          return test1_delayedSpan;
50      }
51  }