meeane-page-object 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.rspec +2 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +10 -0
  7. data/ChangeLog +790 -0
  8. data/Gemfile +13 -0
  9. data/Guardfile +20 -0
  10. data/LICENSE +20 -0
  11. data/README.md +141 -0
  12. data/Rakefile +35 -0
  13. data/cucumber.yml +10 -0
  14. data/features/area.feature +35 -0
  15. data/features/async.feature +30 -0
  16. data/features/audio.feature +68 -0
  17. data/features/button.feature +87 -0
  18. data/features/canvas.feature +37 -0
  19. data/features/check_box.feature +55 -0
  20. data/features/div.feature +45 -0
  21. data/features/element.feature +322 -0
  22. data/features/file_field.feature +40 -0
  23. data/features/form.feature +43 -0
  24. data/features/frames.feature +75 -0
  25. data/features/generic_elements.feature +29 -0
  26. data/features/gxt_table_extension.feature +24 -0
  27. data/features/headings.feature +97 -0
  28. data/features/hidden_field.feature +45 -0
  29. data/features/html/04-Death_Becomes_Fur.mp4 +0 -0
  30. data/features/html/04-Death_Becomes_Fur.oga +0 -0
  31. data/features/html/async.html +36 -0
  32. data/features/html/double_click.html +13 -0
  33. data/features/html/failure.html +8 -0
  34. data/features/html/frame_1.html +18 -0
  35. data/features/html/frame_2.html +16 -0
  36. data/features/html/frame_3.html +14 -0
  37. data/features/html/frames.html +12 -0
  38. data/features/html/hover.html +12 -0
  39. data/features/html/iframes.html +12 -0
  40. data/features/html/images/circle.png +0 -0
  41. data/features/html/images/img_pulpit.jpg +0 -0
  42. data/features/html/images/submit.gif +0 -0
  43. data/features/html/indexed_property.html +52 -0
  44. data/features/html/modal.html +17 -0
  45. data/features/html/modal_1.html +38 -0
  46. data/features/html/modal_2.html +27 -0
  47. data/features/html/movie.mp4 +0 -0
  48. data/features/html/movie.ogg +0 -0
  49. data/features/html/multi_elements.html +144 -0
  50. data/features/html/nested_elements.html +77 -0
  51. data/features/html/nested_frame_1.html +1 -0
  52. data/features/html/nested_frame_2.html +11 -0
  53. data/features/html/nested_frame_3.html +14 -0
  54. data/features/html/nested_frames.html +10 -0
  55. data/features/html/planets.gif +0 -0
  56. data/features/html/static_elements.html +206 -0
  57. data/features/html/success.html +8 -0
  58. data/features/html/sun.gif +0 -0
  59. data/features/html/sun.html +7 -0
  60. data/features/image.feature +50 -0
  61. data/features/indexed_property.feature +98 -0
  62. data/features/javascript.feature +28 -0
  63. data/features/label.feature +46 -0
  64. data/features/link.feature +52 -0
  65. data/features/list_item.feature +36 -0
  66. data/features/modal_dialog.feature +15 -0
  67. data/features/multi_elements.feature +486 -0
  68. data/features/nested_elements.feature +117 -0
  69. data/features/ordered_list.feature +56 -0
  70. data/features/page_level_actions.feature +90 -0
  71. data/features/paragraph.feature +35 -0
  72. data/features/radio_button.feature +58 -0
  73. data/features/radio_button_group.feature +29 -0
  74. data/features/sample-app/public/jquery-1.3.2.js +4376 -0
  75. data/features/sample-app/public/jquery.html +30 -0
  76. data/features/sample-app/public/prototype-1.6.0.3.js +4320 -0
  77. data/features/sample-app/public/prototype.html +35 -0
  78. data/features/sample-app/sample_app.rb +35 -0
  79. data/features/select_list.feature +86 -0
  80. data/features/span.feature +37 -0
  81. data/features/step_definitions/accessor_steps.rb +60 -0
  82. data/features/step_definitions/area_steps.rb +19 -0
  83. data/features/step_definitions/async_steps.rb +83 -0
  84. data/features/step_definitions/audio_steps.rb +27 -0
  85. data/features/step_definitions/button_steps.rb +43 -0
  86. data/features/step_definitions/canvas_steps.rb +15 -0
  87. data/features/step_definitions/check_box_steps.rb +35 -0
  88. data/features/step_definitions/div_steps.rb +19 -0
  89. data/features/step_definitions/element_steps.rb +266 -0
  90. data/features/step_definitions/file_field_steps.rb +19 -0
  91. data/features/step_definitions/form_steps.rb +19 -0
  92. data/features/step_definitions/frames_steps.rb +159 -0
  93. data/features/step_definitions/generic_element_steps.rb +31 -0
  94. data/features/step_definitions/gxt_table_steps.rb +58 -0
  95. data/features/step_definitions/headings_steps.rb +12 -0
  96. data/features/step_definitions/hidden_field_steps.rb +27 -0
  97. data/features/step_definitions/image_steps.rb +27 -0
  98. data/features/step_definitions/indexed_property_steps.rb +129 -0
  99. data/features/step_definitions/javascript_steps.rb +53 -0
  100. data/features/step_definitions/label_steps.rb +19 -0
  101. data/features/step_definitions/link_steps.rb +40 -0
  102. data/features/step_definitions/list_item_steps.rb +19 -0
  103. data/features/step_definitions/modal_dialog_steps.rb +62 -0
  104. data/features/step_definitions/multi_elements_steps.rb +528 -0
  105. data/features/step_definitions/nested_elements_steps.rb +212 -0
  106. data/features/step_definitions/ordered_list_steps.rb +23 -0
  107. data/features/step_definitions/page_level_actions_steps.rb +135 -0
  108. data/features/step_definitions/page_traversal_steps.rb +4 -0
  109. data/features/step_definitions/paragraph_steps.rb +28 -0
  110. data/features/step_definitions/radio_button_group_steps.rb +36 -0
  111. data/features/step_definitions/radio_button_steps.rb +27 -0
  112. data/features/step_definitions/select_list_steps.rb +65 -0
  113. data/features/step_definitions/span_steps.rb +19 -0
  114. data/features/step_definitions/table_cell_steps.rb +15 -0
  115. data/features/step_definitions/table_steps.rb +66 -0
  116. data/features/step_definitions/text_area_steps.rb +35 -0
  117. data/features/step_definitions/text_field_steps.rb +35 -0
  118. data/features/step_definitions/unordered_list_steps.rb +23 -0
  119. data/features/step_definitions/video_steps.rb +45 -0
  120. data/features/support/ajax_text_environment.rb +26 -0
  121. data/features/support/env.rb +8 -0
  122. data/features/support/hooks.rb +8 -0
  123. data/features/support/page.rb +364 -0
  124. data/features/support/persistent_browser.rb +70 -0
  125. data/features/support/targets/firefox14_osx.rb +6 -0
  126. data/features/support/targets/firefox14_windows7.rb +6 -0
  127. data/features/support/url_helper.rb +57 -0
  128. data/features/table.feature +114 -0
  129. data/features/table_cell.feature +45 -0
  130. data/features/text_area.feature +51 -0
  131. data/features/text_field.feature +70 -0
  132. data/features/unordered_list.feature +56 -0
  133. data/features/video.feature +73 -0
  134. data/lib/page-object/accessors.rb +1313 -0
  135. data/lib/page-object/core_ext/string.rb +5 -0
  136. data/lib/page-object/element_locators.rb +21 -0
  137. data/lib/page-object/elements/area.rb +31 -0
  138. data/lib/page-object/elements/audio.rb +9 -0
  139. data/lib/page-object/elements/button.rb +35 -0
  140. data/lib/page-object/elements/canvas.rb +23 -0
  141. data/lib/page-object/elements/check_box.rb +37 -0
  142. data/lib/page-object/elements/div.rb +19 -0
  143. data/lib/page-object/elements/element.rb +226 -0
  144. data/lib/page-object/elements/file_field.rb +38 -0
  145. data/lib/page-object/elements/form.rb +36 -0
  146. data/lib/page-object/elements/heading.rb +15 -0
  147. data/lib/page-object/elements/hidden_field.rb +22 -0
  148. data/lib/page-object/elements/image.rb +36 -0
  149. data/lib/page-object/elements/label.rb +36 -0
  150. data/lib/page-object/elements/link.rb +46 -0
  151. data/lib/page-object/elements/list_item.rb +19 -0
  152. data/lib/page-object/elements/media.rb +45 -0
  153. data/lib/page-object/elements/option.rb +10 -0
  154. data/lib/page-object/elements/ordered_list.rb +50 -0
  155. data/lib/page-object/elements/paragraph.rb +9 -0
  156. data/lib/page-object/elements/radio_button.rb +37 -0
  157. data/lib/page-object/elements/select_list.rb +42 -0
  158. data/lib/page-object/elements/span.rb +19 -0
  159. data/lib/page-object/elements/table.rb +68 -0
  160. data/lib/page-object/elements/table_cell.rb +28 -0
  161. data/lib/page-object/elements/table_row.rb +50 -0
  162. data/lib/page-object/elements/text_area.rb +38 -0
  163. data/lib/page-object/elements/text_field.rb +42 -0
  164. data/lib/page-object/elements/unordered_list.rb +51 -0
  165. data/lib/page-object/elements/video.rb +18 -0
  166. data/lib/page-object/elements.rb +59 -0
  167. data/lib/page-object/indexed_properties.rb +36 -0
  168. data/lib/page-object/javascript/jquery.rb +14 -0
  169. data/lib/page-object/javascript/prototype.rb +14 -0
  170. data/lib/page-object/javascript/yui.rb +19 -0
  171. data/lib/page-object/javascript_framework_facade.rb +78 -0
  172. data/lib/page-object/loads_platform.rb +26 -0
  173. data/lib/page-object/locator_generator.rb +129 -0
  174. data/lib/page-object/nested_elements.rb +17 -0
  175. data/lib/page-object/page_factory.rb +108 -0
  176. data/lib/page-object/page_populator.rb +92 -0
  177. data/lib/page-object/platforms/selenium_webdriver/button.rb +15 -0
  178. data/lib/page-object/platforms/selenium_webdriver/check_box.rb +29 -0
  179. data/lib/page-object/platforms/selenium_webdriver/element.rb +291 -0
  180. data/lib/page-object/platforms/selenium_webdriver/file_field.rb +16 -0
  181. data/lib/page-object/platforms/selenium_webdriver/form.rb +16 -0
  182. data/lib/page-object/platforms/selenium_webdriver/image.rb +28 -0
  183. data/lib/page-object/platforms/selenium_webdriver/label.rb +17 -0
  184. data/lib/page-object/platforms/selenium_webdriver/link.rb +23 -0
  185. data/lib/page-object/platforms/selenium_webdriver/ordered_list.rb +39 -0
  186. data/lib/page-object/platforms/selenium_webdriver/page_object.rb +1136 -0
  187. data/lib/page-object/platforms/selenium_webdriver/radio_button.rb +22 -0
  188. data/lib/page-object/platforms/selenium_webdriver/select_list.rb +93 -0
  189. data/lib/page-object/platforms/selenium_webdriver/surrogate_selenium_element.rb +42 -0
  190. data/lib/page-object/platforms/selenium_webdriver/table.rb +42 -0
  191. data/lib/page-object/platforms/selenium_webdriver/table_row.rb +43 -0
  192. data/lib/page-object/platforms/selenium_webdriver/text_area.rb +17 -0
  193. data/lib/page-object/platforms/selenium_webdriver/text_field.rb +17 -0
  194. data/lib/page-object/platforms/selenium_webdriver/unordered_list.rb +39 -0
  195. data/lib/page-object/platforms/selenium_webdriver.rb +18 -0
  196. data/lib/page-object/platforms/watir_webdriver/check_box.rb +29 -0
  197. data/lib/page-object/platforms/watir_webdriver/element.rb +249 -0
  198. data/lib/page-object/platforms/watir_webdriver/file_field.rb +16 -0
  199. data/lib/page-object/platforms/watir_webdriver/form.rb +16 -0
  200. data/lib/page-object/platforms/watir_webdriver/image.rb +22 -0
  201. data/lib/page-object/platforms/watir_webdriver/label.rb +17 -0
  202. data/lib/page-object/platforms/watir_webdriver/link.rb +15 -0
  203. data/lib/page-object/platforms/watir_webdriver/ordered_list.rb +35 -0
  204. data/lib/page-object/platforms/watir_webdriver/page_object.rb +1029 -0
  205. data/lib/page-object/platforms/watir_webdriver/radio_button.rb +22 -0
  206. data/lib/page-object/platforms/watir_webdriver/select_list.rb +74 -0
  207. data/lib/page-object/platforms/watir_webdriver/table.rb +38 -0
  208. data/lib/page-object/platforms/watir_webdriver/table_row.rb +37 -0
  209. data/lib/page-object/platforms/watir_webdriver/text_area.rb +23 -0
  210. data/lib/page-object/platforms/watir_webdriver/text_field.rb +16 -0
  211. data/lib/page-object/platforms/watir_webdriver/unordered_list.rb +36 -0
  212. data/lib/page-object/platforms/watir_webdriver.rb +18 -0
  213. data/lib/page-object/platforms.rb +18 -0
  214. data/lib/page-object/version.rb +4 -0
  215. data/lib/page-object/widgets.rb +133 -0
  216. data/lib/page-object.rb +408 -0
  217. data/meeane-page-object.gemspec +32 -0
  218. data/pageobject.gems +1 -0
  219. data/spec/page-object/element_locators_spec.rb +1065 -0
  220. data/spec/page-object/elements/area_spec.rb +45 -0
  221. data/spec/page-object/elements/button_spec.rb +50 -0
  222. data/spec/page-object/elements/canvas_spec.rb +40 -0
  223. data/spec/page-object/elements/check_box_spec.rb +49 -0
  224. data/spec/page-object/elements/div_spec.rb +28 -0
  225. data/spec/page-object/elements/element_spec.rb +114 -0
  226. data/spec/page-object/elements/file_field_spec.rb +39 -0
  227. data/spec/page-object/elements/form_spec.rb +28 -0
  228. data/spec/page-object/elements/heading_spec.rb +48 -0
  229. data/spec/page-object/elements/hidden_field_spec.rb +28 -0
  230. data/spec/page-object/elements/image_spec.rb +66 -0
  231. data/spec/page-object/elements/label_spec.rb +29 -0
  232. data/spec/page-object/elements/link_spec.rb +49 -0
  233. data/spec/page-object/elements/list_item_spec.rb +28 -0
  234. data/spec/page-object/elements/nested_element_spec.rb +254 -0
  235. data/spec/page-object/elements/option_spec.rb +11 -0
  236. data/spec/page-object/elements/ordered_list_spec.rb +94 -0
  237. data/spec/page-object/elements/paragraph_spec.rb +28 -0
  238. data/spec/page-object/elements/select_list_spec.rb +142 -0
  239. data/spec/page-object/elements/selenium/radio_button_spec.rb +44 -0
  240. data/spec/page-object/elements/selenium/text_field_spec.rb +49 -0
  241. data/spec/page-object/elements/selenium_element_spec.rb +172 -0
  242. data/spec/page-object/elements/span_spec.rb +26 -0
  243. data/spec/page-object/elements/table_cell_spec.rb +21 -0
  244. data/spec/page-object/elements/table_row_spec.rb +70 -0
  245. data/spec/page-object/elements/table_spec.rb +98 -0
  246. data/spec/page-object/elements/text_area_spec.rb +39 -0
  247. data/spec/page-object/elements/unordered_list_spec.rb +95 -0
  248. data/spec/page-object/elements/watir_element_spec.rb +142 -0
  249. data/spec/page-object/javascript_framework_facade_spec.rb +61 -0
  250. data/spec/page-object/loads_platform_spec.rb +53 -0
  251. data/spec/page-object/page-object_spec.rb +405 -0
  252. data/spec/page-object/page_factory_spec.rb +256 -0
  253. data/spec/page-object/page_populator_spec.rb +122 -0
  254. data/spec/page-object/platforms/selenium_webdriver/selenium_page_object_spec.rb +68 -0
  255. data/spec/page-object/platforms/selenium_webdriver_spec.rb +29 -0
  256. data/spec/page-object/platforms/watir_webdriver/watir_page_object_spec.rb +29 -0
  257. data/spec/page-object/platforms/watir_webdriver_spec.rb +9 -0
  258. data/spec/page-object/selenium_accessors_spec.rb +589 -0
  259. data/spec/page-object/watir_accessors_spec.rb +1107 -0
  260. data/spec/page-object/widget_spec.rb +226 -0
  261. data/spec/spec_helper.rb +44 -0
  262. metadata +404 -0
data/ChangeLog ADDED
@@ -0,0 +1,790 @@
1
+ === Version 1.0.3
2
+ * Fixes
3
+ * Fixed issue that allows access to elements on other indexed properties (Thanks Dane Andersen)
4
+ * Removed the method to clear radio buttons. It didn't work on selenium and threw an exception on watir. (Thanks Justin Ko)
5
+
6
+ === Version 1.0.2 / 2014-7-21
7
+ * Enhancements
8
+ * Added support to use multiple identifiers when locating nested frames / iframes (Thanks Justin Ko)
9
+ * Fixes
10
+ * Reverted the method name check due to unintended consequences
11
+
12
+ === Version 1.0.1 / 2014-7-19
13
+ * Enhancements
14
+ * Checks the name of generated methods to ensure they do not colide with existing page-object methods
15
+ * Removed old legacy css code and now delegate everything to Watir
16
+ * Fixes
17
+ * Added support for dynamically finding elements inside iframes (Thanks Justin Ko)
18
+
19
+ === Version 1.0 / 2014-6-1
20
+ * Enhancements
21
+ * Better support for using Regexp
22
+ * Added new page_url_value method that is created when you define page_url to return the value
23
+ * Added better error message when nil is passed to the constructor of a PageObject
24
+ * Updated to use the latest watir-webdriver 0.6.9
25
+ * Updated to use the latest selenium-webdriver 2.42.0
26
+ * Fixes
27
+ * Improved handling of index locator
28
+
29
+ === Version 0.9.8 / 2014-3-16
30
+ * Enhancements
31
+ * populate_page_with not supports radio groups
32
+
33
+ === Version 0.9.7 / 2014-2-26
34
+ * Enhancements
35
+ * Table now supports exists?
36
+ * super called when factory method invoked with non PageObject class
37
+ * Updated to use the latest watir-webdriver 0.6.8
38
+ * Updated to use the latest selenium-webdriver 2.40.0
39
+
40
+ === Version 0.9.6 / 2014-2-4
41
+ * Enhancements
42
+ * Updated to use the latest watir-webdriver 0.6.7
43
+ * Fixes
44
+ * Added in_iframe methods to match the updates to the watir-webdriver gem.
45
+
46
+ === Version 0.9.5 / 2014-1-22
47
+ * Enhancements
48
+ * Updated to use the latest selenium-webdriver 2.39.0
49
+ * Added href method to Link
50
+ * Added generation of plural version of basic types on class
51
+ * Added new accessors for radio button group (Thanks Travis Fillmore)
52
+
53
+ === Version 0.9.4 / 2013-11-29
54
+ * Enhancements
55
+ * Added ability for execute_scripts to accept arguments (Thanks Justin Ko)
56
+ * Added ability to identify frame using a regular expression when using Watir
57
+
58
+ === Version 0.9.3 / 2013-10-24
59
+ * Enhancements
60
+ * Added class_name method to Element
61
+ * Added select_text method to Element
62
+ * Added wait_for_expected_title and expected_element_visible methods (Thanks smartkiwi)
63
+ * Updated to use the latest selenium-webdriver 2.37.0
64
+ * Fixes
65
+ * Fixed issue with custom widgets on Ruby 1.8.7 (Thanks X Zhang)
66
+
67
+ === Version 0.9.2 / 2013-8-23
68
+ * Enhancements
69
+ * Added elements method to accessor so one can gen methods for generic collections of elements
70
+ * Updated to use the latest selenium-webdriver 2.35.0
71
+
72
+ === Version 0.9.1 / 2013-7-16
73
+ * Enhancements
74
+ * Added css locator support for Image (Thanks Elben Shira)
75
+ * Fixes
76
+ * Corrected isse with generated method in widgets module
77
+
78
+ === Version 0.9.0 / 2013-6-11
79
+ * Enhancements
80
+ * Added plural _elements methods for the following types:
81
+ * area
82
+ * canvas
83
+ * audio
84
+ * video
85
+ * svg
86
+ * Added basic element support for the following types:
87
+ * as
88
+ * blockquote
89
+ * body
90
+ * br
91
+ * caption
92
+ * col
93
+ * colgroup
94
+ * command
95
+ * data
96
+ * datalist
97
+ * del
98
+ * details
99
+ * dialog
100
+ * dl
101
+ * embed
102
+ * fieldset
103
+ * head
104
+ * hr
105
+ * ins
106
+ * keygen
107
+ * legend
108
+ * map
109
+ * menu
110
+ * meta
111
+ * meter
112
+ * object
113
+ * optgroup
114
+ * output
115
+ * param
116
+ * pre
117
+ * progress
118
+ * small
119
+ * strong
120
+ * style
121
+ * time
122
+ * title
123
+ * track
124
+ * Updated to use the latest selenium-webdriver 2.33.0
125
+ * Fixes
126
+ * Fixed issue when using the page and element accessors for html 5 elements.
127
+
128
+ === Version 0.8.10 / 2013-5-3
129
+ * Enhancements
130
+ * Updated populate_page_with to also check if the element is visible prior to setting value
131
+ * Updated to use the latest watir-webdriver 0.6.4
132
+
133
+ === Version 0.8.9 / 2013-4-13
134
+ * Enhancements
135
+ * Updated to use the latest watir-webdriver 0.6.3
136
+ * Updated to use the latest selenium-webdriver 2.32.1
137
+ * Fixes
138
+ * Fixed an issue when you try to find an element using no identifier (Thanks Alex Rodionov)
139
+
140
+ === Version 0.8.8 / 2013-4-5
141
+ * Enhancements
142
+ * Added callback to widget classes to allow them to define their own accessors
143
+ * Added more support for using css when locating elements using Watir-webdriver (Neal Lindsay)
144
+
145
+ === Version 0.8.7 / 2013-3-31
146
+ * Enhancements
147
+ * Added ability to find elements using any valid attribute
148
+
149
+ === Version 0.8.6.1 / 2013-3-4
150
+ * Enhancements
151
+ * Added lable locators for checkbox, text area, select list, radio button and file field (Thanks Alex Rodionov)
152
+ * Updated to use the latest selenium-webdriver 2.31.0
153
+ * Updated to use the latest page_navigation 0.7
154
+
155
+ === Version 0.8.6 / 2013-2-27
156
+ * Enhancements
157
+ * Added support for the svg element
158
+ * Fixes
159
+ * Fixed issue with nested generic element calls
160
+
161
+ === Version 0.8.5 / 2013-2-21
162
+ * Enhancements
163
+ * Updated to use the latest selenium-webdriver 2.30 - support for Firefox 19
164
+
165
+ === Version 0.8.4 / 2013-1-26
166
+ * Enhancements
167
+ * Extracted navigational methods into new gem named page_navigation
168
+
169
+ === Version 0.8.3 / 2013-1-22
170
+ * Enhancements
171
+ * Updated to use the latest selenium-webdriver 2.29
172
+ * Added :using_params parameter to both on_page and if_page methods
173
+ * Fixes
174
+ * Fixed issue where has_expected_title? displays misleading error message (X Zhang)
175
+ * Fixed issue when getting basic Element element when using Selenium
176
+ * Fixed issue when using plural class methods multiple times on same object
177
+
178
+ === Version 0.8.2 / 2013-1-13
179
+ * Enhancements
180
+ * Updated expected_element to ue the global default element wait by default
181
+ * Updated routes to accept more than two entries in the array which are passed as arguments
182
+ * Added new generated method for select_list to return options -> <name>_options (X Zhang)
183
+ * Added scroll_into_view method to Element
184
+ * Added *_element and *_elements methods to PageObject and Element for the following types
185
+ * addr
186
+ * address
187
+ * article
188
+ * aside
189
+ * bdi
190
+ * bdo
191
+ * cite
192
+ * code
193
+ * dd
194
+ * dfn
195
+ * dt
196
+ * em
197
+ * figcaption
198
+ * figure
199
+ * footer
200
+ * header
201
+ * hgroup
202
+ * kbd
203
+ * mark
204
+ * nav
205
+ * noscript
206
+ * rp
207
+ * rt
208
+ * ruby
209
+ * samp
210
+ * section
211
+ * sub
212
+ * summary
213
+ * sup
214
+ * var
215
+ * wbr
216
+
217
+ === Version 0.8.1 / 2012-12-28
218
+ * Fixes
219
+ * Fixed issue when calling new multi-element class methods using a block
220
+
221
+ === Version 0.8 / 2012-12-22
222
+ * Enhancements
223
+ * Added the following class level methods to return all elements matching the locator
224
+ * divs
225
+ * buttons
226
+ * text_fields
227
+ * hidden_fields
228
+ * text_areas
229
+ * select_lists
230
+ * links
231
+ * checkboxes
232
+ * radio_buttons
233
+ * spans
234
+ * tables
235
+ * cells
236
+ * images
237
+ * forms
238
+ * list_items
239
+ * unordered_lists
240
+ * ordered_lists
241
+ * h1s
242
+ * h2s
243
+ * h3s
244
+ * h4s
245
+ * h5s
246
+ * h6s
247
+ * paragraphs
248
+ * labels
249
+ * file_fields
250
+ * Added ability to register and use custom elements based on standard elements (William Powell)
251
+ * Added generated method to return text for a table
252
+ * Added generated method to return text for an unordered list
253
+ * Added generated method to return text for an ordered list
254
+ * Added html method to Element
255
+ * Updated to use the latest selenium-webdriver 2.27.2
256
+ * Updated to use the latest watir-webdriver 0.6.2
257
+
258
+ === Version 0.7.6 / 2012-11-28
259
+ * Fixes
260
+ * Fixed attach_to_window workes with partial url on Selenium (George Shakhnazaryan)
261
+ * Fixed double click works on Selenium (William Powell)
262
+ * Enhancements
263
+ * Added css selector support for all elements when using Selenium (Brendan Mulholland)
264
+ * Added callback to initialize_accessors method during initialization (Theodore Robert Campbell Jr)
265
+
266
+ === Version 0.7.5.1 / 2012-10-16
267
+ * Fixes
268
+ * Fixed issue when passing symbol to page_url and calling multiple times
269
+
270
+ === Version 0.7.5 / 2012-10-14
271
+ * Enhancements
272
+ * Enhanced TabeleCell to return nil when there is no corresponding cell for a referenced column
273
+ * Added css selector support for SelectList and Div
274
+ * Added ability to pass clasname as string to visit_page, on_page, and if_page methods
275
+ * Added params class instance variable to hold hash values that can be used in the page
276
+ * Added ability to insert ERB into page_url string and have it access params
277
+
278
+ === Version 0.7.4 / 2012-9-8
279
+ * Enhancements
280
+ * Added ability to find text_fields with :css when using Selenium
281
+ * Added selected_values method to SelectList to get values of all selected elements
282
+ * Fixes
283
+ * Fixed problem getting value from SelectList when it is in a Frame with Selenium
284
+
285
+ === Version 0.7.3 / 2012-8-18
286
+ * Enhancements
287
+ * Improved handling of alert and confirm Javascript popups (George Shakhnazaryan)
288
+ * Added hover method to Element. Browser support is limited.
289
+ * Added method to get the id of an Element
290
+ * Added support for the following new elements
291
+ Video
292
+
293
+ === Version 0.7.2 / 2012-8-1
294
+ * Enhancements
295
+ * Added ability to find list_item by :text
296
+ * Added support for the following new elements
297
+ Canvas
298
+ Audio
299
+ * Updated to use selenium-webdriver 2.25.0
300
+ * Updated to provide better support for table_row.find_index_by_title when tables have theads... (George Shakhnazaryan)
301
+
302
+ === Version 0.7.1 / 2012-7-15
303
+ * Enhancements
304
+ * Added support for the following new elements
305
+ Area
306
+ * Added the following aliased methods to their corresponding Accessors method
307
+ a => link
308
+ hidden => hidden_field
309
+ img => image
310
+ li => list_item
311
+ ol => ordered_list
312
+ p => paragraph
313
+ radio => radio_button
314
+ select => select_list
315
+ td => cell
316
+ textarea => text_area
317
+ ul => unordered_list
318
+ * Added the following methods to return generic Element objects
319
+ abbr
320
+ address
321
+ article
322
+ aside
323
+ bdi
324
+ bdo
325
+ cite
326
+ code
327
+ dd
328
+ dfn
329
+ dt
330
+ em
331
+ figcaption
332
+ figure
333
+ footer
334
+ header
335
+ hgroup
336
+ kbd
337
+ mark
338
+ nav
339
+ noscript
340
+ rp
341
+ rt
342
+ ruby
343
+ samp
344
+ section
345
+ sub
346
+ summary
347
+ sup
348
+ var
349
+ wbr
350
+
351
+ === Version 0.7.0 / 2012-6-30
352
+ * Enhancements
353
+ * Updated Table [] method to return a row that has matching partial text in any column (Thanks George Shakhnazaryan)
354
+ * Updated TableRow [] method to return column that matching partial text in any column (Thanks George Shakhnazaryan)
355
+ * Added if_page to PageFactory (Thanks Gregory Shayko)
356
+ * Added index_property for accessing sets of related fields (Thanks robkid)
357
+ * Updated to use selenium-webdriver 2.24.0
358
+
359
+
360
+ === Version 0.6.9 / 2012-6-12
361
+ * Enhancements
362
+ * Added select_value method to SelectList
363
+ * Updated link to be able to identify by title
364
+ * Updated div to be able to identify by title
365
+ * Updated text_field to be able to identify by text and label
366
+ * Updated to use selenium-webdriver 2.22.2
367
+ * Fixes
368
+ * Fixed populate_page_with to work with text areas (Thanks ramyav85)
369
+
370
+ === Version 0.6.8 / 2012-6-3
371
+ * Enhancements
372
+ * Updated [] method on Table to return nil when bad row header is provided
373
+ * Updated [] method on TableRow to return nil when bad column header is provided
374
+ * Updated to use watir-webdriver 0.6.1
375
+ * Updated to use selenium-webdriver 2.22.1
376
+ * Fixes
377
+ Modified text area methods so it clears before setting new text
378
+ Fixed clear method on SelectList when using Selenium to clear multi selects
379
+
380
+ === Version 0.6.7 / 2012-5-16
381
+ * Enhancements
382
+ * Added flash method to Element to temporarily change the background color
383
+ * Added when_not_present method to Element
384
+ * Added default override for page level waits - PageObject.default_page_wait
385
+ * Added default override for element level waits - PageObject.default_element_wait
386
+ * Added the ability to find a TableRow by providing a String to the [] method from Table
387
+ * Added the ability to find a TableCell by providing a String to the [] method from TableRow
388
+ * Updated to use watir-webdriver 0.5.8
389
+ * Fixes
390
+ * Improved logic around selecting options from select lists
391
+ * TableCell now handles enabled? call gracefully
392
+
393
+ === Version 0.6.6 / 2012-4-26
394
+ * Enhancements
395
+ * Added ability to find span's by title
396
+ * Changed order of initialization so initialize_page is called after goto
397
+ * Updated to use watir-webdriver 0.5.5
398
+ * Updated to use selenium-webdriver 2.21.2
399
+ * Fixes
400
+ * Fixed the problem with determining the existance of an Selenium element
401
+
402
+ === Version 0.6.5 / 2012-4-12
403
+ * Enhancements
404
+ * Added a page level element method to return a generic Element object
405
+ * Added a method to retrieve all file fields on a page
406
+ * Updated all accessor methods to take a default identifier of {:index => 0}
407
+ * Updated all page level element locators to take a default identifier of {:index => 0}
408
+ * Updated all page level multi-element locators to take a default identifier of {}
409
+ * Updated deprecation warning to print to stderr (Thanks Josh Adell)
410
+ * Updated to use selenium-webdriver 2.21.0
411
+
412
+ === Version 0.6.4 / 2012-3-27
413
+ * Enhancements
414
+ * Added support for finding the following elements by :css
415
+ Button
416
+ Link
417
+ * Added support for the label element (Thanks Paul Clewell)
418
+ * Added method to fetch generic element (Thanks Jim Holmes)
419
+ * Added direct_url alias for page_url
420
+ * Added visit alias for visit_page
421
+ * Added on alias for on_page
422
+ * Added element_with_focus method to return the element that has focus
423
+ * Changed Elements.element_class_for so parameters can be strings or symbols
424
+ * Changed page_url to accept a symbol that will cause it to call a corresponding method
425
+ * Updated to use watir-webdriver 0.5.4
426
+
427
+ === Version 0.6.3 / 2012-3-1
428
+ * Enhancements
429
+ * Added #expected_title method to PageObject
430
+ * Added #expected_element method to PageObject
431
+ * Added #execute_script method to PageObject
432
+ * Updated to use selenium-webdriver 2.20.0
433
+ * Fixes
434
+ * Updates to the README - Thanks to p0deje and ivaravko
435
+ WARNING: This change breaks existing code
436
+ * Changed the generated getter for select_list to return the text instead of the value
437
+
438
+ === Version 0.6.2 / 2012-2-12
439
+ * Enhancements
440
+ * Added #wait_for_ajax support for the jQuery framework
441
+ * Added #wait_for_ajax support for the Prototype framework
442
+ * Added the ability to add new Javascript Frameworks to PageObject via the #add_framework method
443
+ * Updated to use selenium-webdriver 2.19.0
444
+ * Updated to use watir-webdriver 0.5.3
445
+ * Fixes
446
+ * Fixed [] methods on OrderedList and UnorderedList so it only gets direct children
447
+ * Fixed items methods on OrderedList and UnorderedList so it returns count of direct children
448
+
449
+ === Version 0.6.1 / 2012-1-18
450
+ * Enhancements
451
+ * Added #disabled? method to Element
452
+ * Added #selected_options method to SelectList
453
+ * Added #include? and #selected? to SelectList
454
+ * Added #append to TextField
455
+ * generates a method to determine if an element exists (Thanks Nicholas Munson)
456
+ * better message when calling platform method via method_missing (Thanks Alex Rodionov)
457
+ * Updated to use selenium-webdriver 2.17.0
458
+
459
+ === Version 0.6 / 2012-1-10
460
+ * Enhancements
461
+ * Added ?_elements methods to ElementLocator so you can find all elements that match an identifier
462
+ * Added ?_elements methods to NestedElements so you can find all elements nested within others
463
+ * Added #navigate_to to PageFactory to navigate to a page through previous pages
464
+ * Added #continue_navigation_to to PageFactory which begins at @current_page
465
+ * Added routes to PageFactory to collect routes through the site
466
+ * Updated to use selenium-webdriver 2.16.0
467
+
468
+ === Version 0.5.5 / 2011-12-27
469
+ * Enhancements
470
+ * Added ability to find Checkbox by :value
471
+ * Added ability to find HiddenField by :value
472
+ * Added ability to find a parent of an Element
473
+ * Added #fire_event method to Element
474
+ * Added #focus method to Element
475
+ * Fixes
476
+ * Updated #populate_page_with to no longer attempt to set a value in a field that is disabled
477
+
478
+ === Version 0.5.4 / 2011-12-18
479
+ * Enhancements
480
+ * Added deprecation warning to the method_missing method on Element. This ability will be removed in 0.6
481
+ * Added full support for file_field element
482
+ * Added ability to find TextField by :title
483
+ * Added ability to find Form by :action
484
+ * Added ability to find Image by :alt
485
+ * Added ability to find Image by :src
486
+
487
+ === Version 0.5.3 / 2011-12-11
488
+ * Enhancements
489
+ * Added new module PagePopulator with single method populate_page_with
490
+ * Updated to use selenium-webdriver 2.15.0
491
+ * Updated to use watir-webdriver 0.4.1
492
+ * Fixes
493
+ * Updated prompt method to make it compatible with latest dependencies
494
+
495
+ === Version 0.5.2 / 2011-11-30
496
+ * Enhancements
497
+ * Added ability to find image buttons by src
498
+ * Added ability to find image button by alt
499
+ * Added first_row and last_row methods to Table
500
+ * Updated to use selenium-webdriver 2.14.0
501
+ * Updated to use watir-webdriver 0.3.9
502
+
503
+ === Version 0.5.1 / 2011-11-18
504
+ * Enhancements
505
+ * Added instance level in_frame method
506
+ * Support for nesting all *_element instance methods inside in_frame call
507
+ * Support for nesting alerts inside an in_frame call
508
+ * Support for nesting confirms inside an in_frame call
509
+ * Support for nesting prompts inside an in_frame call
510
+
511
+ === Version 0.5 / 2011-11-06
512
+ * Enhancements
513
+ * Validated support for JRuby
514
+ * Removed dependency on Mixology
515
+ * Updated to use selenium-webdriver 2.10.0
516
+ * Updated to use watir-webdriver 0.3.8
517
+
518
+ === Version 0.4.4 / 2011-10-26
519
+ * Enhancements
520
+ * Can now find Radio buttons by value
521
+ * Updated to use selenium-webdriver 2.9.1
522
+ * Fixes
523
+ * Properly change context back to top level after interaction inside a frame with Watir
524
+
525
+ === Version 0.4.3 / 2011-10-07
526
+ * Enhancements
527
+ * The new watir and selenium fix a fairly serious problem when working with modals and attaching to windows
528
+ * Updated to use selenium-webdriver 2.8.0
529
+ * Updated to use watir-webdriver 0.3.5
530
+
531
+ === Version 0.4.2 / 2011-10-01
532
+ * Enhancements
533
+ * Proper handling of <button> elements
534
+ * Changed PageFactory so it also sets and instance variable @current_page to the newly created page
535
+
536
+ === Version 0.4.1 / 2011-09-30
537
+ * Fixes
538
+ * Fixed error when loading plugins using Selenium
539
+
540
+ === Version 0.4 / 2011-09-24
541
+ * Enhancements
542
+ * Added all of the h4 locators
543
+ * Added all of the h5 locators
544
+ * Added all of the h6 locators
545
+ * Added all of the paragraph locators
546
+ * Added the Paragraph class
547
+ * Added #click to Element
548
+ * Added #style to Element
549
+ * Added #inspect to Element
550
+ * Added #current_url to PageObject
551
+ * Added #clear_cookies to PageObject
552
+ * Added #save_screenshot to PageObject
553
+ * Updated to use selenium-webdriver 2.7.0
554
+ * Updated to use watir-webdriver 0.3.4
555
+
556
+ === Version 0.3.2 / 2011-09-22
557
+ * Enhancements
558
+ * Element#when_present now returns the element object
559
+ * Element#when_visible now returns the element object
560
+ * Element#when_not_visible now returns the element object
561
+ * Added #clear method for TextArea
562
+ * Added support for Heading element
563
+ * Added all of the h1 locators
564
+ * Added all of the h2 locators
565
+ * Added all of the h3 locators
566
+ * Updated to use selenium-webdriver 2.6.0
567
+
568
+ === Version 0.3.1 / 2011-09-08
569
+ * Enhancements
570
+ * Updated to use watir-webdriver 0.3.3
571
+
572
+ === Version 0.3.0 / 2011-09-04
573
+ * Enhancements
574
+ * Changed namespace for selenium and watir to include webdriver
575
+ * Support for locating the following elements when nested
576
+ * Link
577
+ * Button
578
+ * TextField
579
+ * HiddenField
580
+ * TextArea
581
+ * SelectList
582
+ * Checkbox
583
+ * RadioButton
584
+ * Div
585
+ * Span
586
+ * Table
587
+ * TableCell
588
+ * Image
589
+ * Form
590
+ * OrderedList
591
+ * UnorderedList
592
+ * ListItem
593
+ * Added #modal_dialog to PageObject to override the default modal dialog behavior
594
+ * Changed element keys to include _webdriver
595
+ * Updated to use selenium-webdriver 2.5.0
596
+
597
+ === Version 0.2.5 / 2011-08-19
598
+ * Enhancements
599
+ * #attach_to_window takes an optional block - will return to calling window after block executes
600
+ * Added the following instance methods to PageObject via ElementLocators
601
+ * #button_element
602
+ * #text_field_element
603
+ * #hidden_field_element
604
+ * #text_area_element
605
+ * #select_list_element
606
+ * #link_element
607
+ * #checkbox_element
608
+ * #radio_button_element
609
+ * #div_element
610
+ * #span_element
611
+ * #table_element
612
+ * #cell_element
613
+ * #image_element
614
+ * #form_element
615
+ * #list_item_element
616
+ * #unordered_list_element
617
+ * #ordered_list_element
618
+ * Updated to use selenium-webdriver 2.4.0
619
+ * Updated to use watir-webdriver 0.3.2
620
+
621
+ === Version 0.2.4 / 2011-08-08
622
+ * Enhancements
623
+ * Can now find span by :text
624
+ * Can now find button by :value
625
+ * Added #forward and #back methods to PageObject
626
+ * Added #right_click and #double_click methods to Element
627
+ * Added #value= to TextField and TextArea
628
+ * Added #select to SelectList
629
+ * Added #check, #uncheck, and #checked? to CheckBox
630
+ * Added #select, #clear, and #selected? to RadioButton
631
+ * Can properly pass blocks to all accessor methods
632
+ * Updated to use watir-webdriver 0.3.0
633
+
634
+ === Version 0.2.3 / 2011-08-01
635
+ * Enhancements
636
+ * Can now find a TableCell by its' text
637
+ * If we receive an error calling #attach_to_window, wait one second and try again
638
+ * Will call callback method #initialize_page method if it exists on a page object
639
+ * Renamed all *_<element_type> methods to *_element. Created alias for backward compatibility
640
+ * Delegating unknown method calls on Element to the driver element object
641
+ * Improved block handling when passed to element creation method
642
+ * Updated to use selenium-webdriver 2.3.2
643
+
644
+ === Version 0.2.2 / 2011-07-31
645
+ * Enhancements
646
+ * Can find frame by name
647
+ * Added #clear method to Element
648
+ * Removed #switch_to_from from PageObject
649
+ * Added #in_frame to Accessors to handle frame and iframe access
650
+ * Fixes
651
+ * Clearing value from text_field before setting value on Selenium
652
+
653
+ === Version 0.2.1 / 2011-07-29
654
+ * Enhancements
655
+ * Added ability to locate div by the contained text
656
+ * Added #attach_to_window so a page object and operate on another window
657
+ * Added #switch_to_frame to allow one to switch to a frame
658
+ * Added #send_keys to PageObject::Elements::Element
659
+ * Added #refresh to page object
660
+ * Work toward making drivers pluggable
661
+ * Updated to use selenium-webdriver 2.2.0
662
+ * Updated to use watir-webdriver 0.2.8
663
+
664
+ === Version 0.2 / 2011-07-24
665
+ * Enhancements
666
+ * Async handling
667
+ * Added #wait_until to page object to support async events at page level
668
+ * Added the following methods to PageObject::Elements::Element
669
+ * #when_present
670
+ * #when_visible
671
+ * #when_not_visible
672
+ * #wait_until
673
+ * Handling popups
674
+ * Added #alert to page object to override default alert popup behavior
675
+ * Added #confirm to page object to override default confirm popup behavior
676
+ * Added #prompt to page object to override default prompt popup behavior
677
+ * Updated to use selenium-webdriver 2.1.0
678
+
679
+ === Version 0.1.1 / 2011-07-16
680
+ * Enhancements
681
+ * Support for identifying hidden fields by text when using Selenium
682
+ * Support for identifying links by href when using Selenium
683
+ * Updated to use selenium-webdriver 2.0.1
684
+ * Updated to use watir-webdriver 0.2.6
685
+
686
+ === Version 0.1 / 2011-07-01
687
+ * Enhancements
688
+ * Support for using multiple identifiers when locating the following element:
689
+ * Link
690
+ * TextField
691
+ * HiddenField
692
+ * TextArea
693
+ * SelectList
694
+ * CheckBox
695
+ * RadioButton
696
+ * Button
697
+ * Div
698
+ * Span
699
+ * Table
700
+ * TableCell
701
+ * Image
702
+ * Form
703
+ * ListItem
704
+ * UnorderedList
705
+ * OrderedList
706
+ * Selenium support for using index for the following elements:
707
+ * Link
708
+ * TextField
709
+ * HiddenField
710
+ * TextArea
711
+ * SelectList
712
+ * CheckBox
713
+ * RadioButton
714
+ * Button
715
+ * Div
716
+ * Span
717
+ * Table
718
+ * Image
719
+ * Form
720
+ * ListItem
721
+ * UnorderedList
722
+ * OrderedList
723
+ * Support name for identification across all elements in Watir
724
+ * Added [] method to SelectList to index Options
725
+ * Added options method to Select List
726
+ * Added support for the following elements
727
+ * Option
728
+ * Updated to use selenium-webdriver 0.2.2
729
+ * Updated to use watir-webdriver 0.2.5
730
+
731
+ === Version 0.0.5 / 2011-06-15
732
+ * Enhancements
733
+ * Added rows method to Table to return number or rows
734
+ * Added columns method to TableRow to return the number of columns
735
+ * Table now supports Enumerable to iterate over the TableRows
736
+ * TableRow now supports Enumerable to iterate over TableCells
737
+ * Added items method to UnorderedList to return number of ListItems
738
+ * Added items method to OrderedList to return number of ListItems
739
+ * UnorderedList now supports Enumerable to iterate over the ListItems
740
+ * OrderedList now supports Enumerable to iterate over the ListItems
741
+ * All element methods now take an optional block that can be executed passing a browser
742
+ * Created PageFactory module to add factory methods to your step definitions
743
+ * Thanks Alister Scott for the idea
744
+
745
+
746
+ === Version 0.0.4 / 2011-06-13
747
+ * Enhancements
748
+ * Added support for the following elements
749
+ * hidden field
750
+ * form
751
+ * list item
752
+ * unordered list
753
+ * ordered list
754
+
755
+ === Version 0.0.3 / 2011-06-02
756
+ * Enhancements
757
+ * Added support for the following elements
758
+ * span
759
+ * image
760
+ * Added the following methods to Element
761
+ * value
762
+ * ==
763
+ * tag_name
764
+ * attribute
765
+ * click
766
+ * Updated to use selenium-webdriver 0.2.1
767
+ * Updated to use watir-webdriver 0.2.4
768
+
769
+ === Version 0.0.2 / 2011-05-30
770
+ * Enhancements
771
+ * Added support for the following elements
772
+ * div
773
+ * button
774
+ * table
775
+ * table row
776
+ * table cell
777
+ * Added text method to element
778
+
779
+ === Version 0.0.1 / 2011-05-22
780
+ * Enhancements
781
+ * Support for the following elements
782
+ * check box
783
+ * link
784
+ * radio button
785
+ * select list
786
+ * text field
787
+ * Support for the following page level functions
788
+ * text
789
+ * html
790
+ * title