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
15
16
17 public class PageElementIterablePage implements Page
18 {
19 @Inject
20 PageElementFinder elementFinder;
21
22
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
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
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
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 }