View Javadoc

1   package com.atlassian.pageobjects.elements.test.pageobjects.page;
2   
3   import javax.inject.Inject;
4   
5   import com.atlassian.pageobjects.Page;
6   import com.atlassian.pageobjects.elements.CheckboxElement;
7   import com.atlassian.pageobjects.elements.ElementBy;
8   import com.atlassian.pageobjects.elements.MultiSelectElement;
9   import com.atlassian.pageobjects.elements.PageElement;
10  import com.atlassian.pageobjects.elements.PageElementFinder;
11  import com.atlassian.pageobjects.elements.SelectElement;
12  
13  /**
14   * Represents iterable.html
15   * @since 2.1
16   */
17  public class PageElementIterablePage implements Page
18  {
19      @Inject
20      PageElementFinder elementFinder;
21  
22      // Test 0, 1, several elements
23      @ElementBy(className = "no-element")
24      Iterable<PageElement> noElements;
25  
26      @ElementBy(className = "one-element")
27      Iterable<PageElement> oneElements;
28  
29      @ElementBy(className = "two-elements")
30      Iterable<PageElement> twoElements;
31  
32      @ElementBy(className = "three-elements")
33      Iterable<PageElement> threeElements;
34      
35      @ElementBy(id = "add-new-item")
36      PageElement addNewItemButton;
37  
38      // Test subclasses for 1 element
39      @ElementBy(className = "one-checkbox", pageElementClass = CheckboxElement.class)
40      PageElement oneCheckbox;
41  
42      @ElementBy(className = "one-select", pageElementClass = SelectElement.class)
43      PageElement oneSelect;
44  
45      @ElementBy(className = "one-multiselect", pageElementClass = MultiSelectElement.class)
46      PageElement oneMultiSelect;
47  
48      // Test subclasses for an iterator
49      @ElementBy(className = "two-checkbox", pageElementClass = CheckboxElement.class)
50      Iterable<CheckboxElement> twoCheckboxes;
51  
52      @ElementBy(className = "two-select", pageElementClass = SelectElement.class)
53      Iterable<SelectElement> twoSelects;
54  
55      @ElementBy(className = "two-multiselect", pageElementClass = MultiSelectElement.class)
56      Iterable<MultiSelectElement> twoMultiSelects;
57  
58      public String getUrl()
59      {
60          return "/html/iterable.html";
61      }
62      
63      /**
64       * Adds a new item which will appear in 'three-elements'
65       */
66      public void addNewItem()
67      {
68          addNewItemButton.click();
69      }
70  
71      public PageElementFinder getElementFinder()
72      {
73          return elementFinder;
74      }
75  
76      public Iterable<PageElement> getNoElements()
77      {
78          return noElements;
79      }
80  
81      public Iterable<PageElement> getOneElements()
82      {
83          return oneElements;
84      }
85  
86      public Iterable<PageElement> getTwoElements()
87      {
88          return twoElements;
89      }
90  
91      public Iterable<PageElement> getThreeElements()
92      {
93          return threeElements;
94      }
95  
96      public PageElement getOneCheckbox()
97      {
98          return oneCheckbox;
99      }
100 
101     public PageElement getOneSelect()
102     {
103         return oneSelect;
104     }
105 
106     public PageElement getOneMultiSelect()
107     {
108         return oneMultiSelect;
109     }
110 
111     public Iterable<CheckboxElement> getTwoCheckboxes()
112     {
113         return twoCheckboxes;
114     }
115 
116     public Iterable<SelectElement> getTwoSelects()
117     {
118         return twoSelects;
119     }
120 
121     public Iterable<MultiSelectElement> getTwoMultiSelects()
122     {
123         return twoMultiSelects;
124     }
125    
126     
127 }