druid-s 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.rspec +1 -0
  4. data/.rvmrc +1 -0
  5. data/.travis.yml +27 -0
  6. data/ChangeLog +541 -0
  7. data/Gemfile +8 -0
  8. data/README.md +78 -0
  9. data/Rakefile +33 -0
  10. data/cucumber.yml +6 -0
  11. data/druid.gemspec +30 -0
  12. data/features/area.feature +33 -0
  13. data/features/async.feature +16 -0
  14. data/features/audio.feature +61 -0
  15. data/features/bold.feature +20 -0
  16. data/features/button.feature +81 -0
  17. data/features/canvas.feature +34 -0
  18. data/features/checkbox.feature +48 -0
  19. data/features/div.feature +45 -0
  20. data/features/element.feature +281 -0
  21. data/features/file_field.feature +38 -0
  22. data/features/form.feature +37 -0
  23. data/features/frames.feature +76 -0
  24. data/features/generic_elements.feature +29 -0
  25. data/features/heading.feature +160 -0
  26. data/features/hidden_field.feature +39 -0
  27. data/features/html/async.html +31 -0
  28. data/features/html/frame_1.html +18 -0
  29. data/features/html/frame_2.html +16 -0
  30. data/features/html/frame_3.html +14 -0
  31. data/features/html/frames.html +12 -0
  32. data/features/html/hover.html +11 -0
  33. data/features/html/iframes.html +12 -0
  34. data/features/html/images/circle.png +0 -0
  35. data/features/html/images/img_pulpit.jpg +0 -0
  36. data/features/html/modal.html +17 -0
  37. data/features/html/modal_1.html +38 -0
  38. data/features/html/modal_2.html +27 -0
  39. data/features/html/multi_elements.html +145 -0
  40. data/features/html/nested_elements.html +75 -0
  41. data/features/html/nested_frame_1.html +1 -0
  42. data/features/html/nested_frame_2.html +11 -0
  43. data/features/html/nested_frame_3.html +14 -0
  44. data/features/html/nested_frames.html +10 -0
  45. data/features/html/planets.gif +0 -0
  46. data/features/html/static_elements.html +203 -0
  47. data/features/html/success.html +8 -0
  48. data/features/html/sun.gif +0 -0
  49. data/features/html/sun.html +7 -0
  50. data/features/image.feature +47 -0
  51. data/features/italic.feature +20 -0
  52. data/features/javascript.feature +28 -0
  53. data/features/label.feature +43 -0
  54. data/features/link.feature +56 -0
  55. data/features/list_item.feature +37 -0
  56. data/features/modal_dialog.feature +9 -0
  57. data/features/multi_elements.feature +498 -0
  58. data/features/nested_elements.feature +121 -0
  59. data/features/ordered_list.feature +46 -0
  60. data/features/page_level_actions.feature +116 -0
  61. data/features/paragraph.feature +33 -0
  62. data/features/populate_page_with.feature +25 -0
  63. data/features/radio_button.feature +51 -0
  64. data/features/radio_button_group.feature +28 -0
  65. data/features/sample-app/public/04-Death_Becomes_Fur.mp4 +0 -0
  66. data/features/sample-app/public/04-Death_Becomes_Fur.oga +0 -0
  67. data/features/sample-app/public/audio_video.html +19 -0
  68. data/features/sample-app/public/jquery-1.3.2.js +4376 -0
  69. data/features/sample-app/public/jquery.html +28 -0
  70. data/features/sample-app/public/movie.mp4 +0 -0
  71. data/features/sample-app/public/movie.ogg +0 -0
  72. data/features/sample-app/public/prototype-1.6.0.3.js +4320 -0
  73. data/features/sample-app/public/prototype.html +32 -0
  74. data/features/sample-app/sample_app.rb +35 -0
  75. data/features/section.feature +132 -0
  76. data/features/select_list.feature +84 -0
  77. data/features/span.feature +43 -0
  78. data/features/step_definations/area_steps.rb +23 -0
  79. data/features/step_definations/async_steps.rb +80 -0
  80. data/features/step_definations/audio_steps.rb +47 -0
  81. data/features/step_definations/bold_steps.rb +11 -0
  82. data/features/step_definations/button_steps.rb +52 -0
  83. data/features/step_definations/canvas_steps.rb +19 -0
  84. data/features/step_definations/checkbox_steps.rb +39 -0
  85. data/features/step_definations/div_steps.rb +28 -0
  86. data/features/step_definations/element_steps.rb +217 -0
  87. data/features/step_definations/file_field_steps.rb +31 -0
  88. data/features/step_definations/form_steps.rb +23 -0
  89. data/features/step_definations/frame_steps.rb +189 -0
  90. data/features/step_definations/generic_element_steps.rb +31 -0
  91. data/features/step_definations/heading_steps.rb +39 -0
  92. data/features/step_definations/hidden_field_steps.rb +27 -0
  93. data/features/step_definations/image_steps.rb +35 -0
  94. data/features/step_definations/italic_steps.rb +11 -0
  95. data/features/step_definations/javasript_steps.rb +52 -0
  96. data/features/step_definations/label_steps.rb +19 -0
  97. data/features/step_definations/link_steps.rb +42 -0
  98. data/features/step_definations/list_item_steps.rb +24 -0
  99. data/features/step_definations/modal_dialog_steps.rb +38 -0
  100. data/features/step_definations/multi_elements_steps.rb +557 -0
  101. data/features/step_definations/nested_elements_steps.rb +219 -0
  102. data/features/step_definations/ordered_list_steps.rb +49 -0
  103. data/features/step_definations/page_level_actions_steps.rb +172 -0
  104. data/features/step_definations/page_traversal_steps.rb +4 -0
  105. data/features/step_definations/paragraph_steps.rb +19 -0
  106. data/features/step_definations/populate_page_with_steps.rb +3 -0
  107. data/features/step_definations/radio_button_group_steps.rb +32 -0
  108. data/features/step_definations/radio_button_steps.rb +31 -0
  109. data/features/step_definations/section_steps.rb +271 -0
  110. data/features/step_definations/select_list_steps.rb +91 -0
  111. data/features/step_definations/span_steps.rb +23 -0
  112. data/features/step_definations/table_cell_steps.rb +27 -0
  113. data/features/step_definations/table_row_steps.rb +23 -0
  114. data/features/step_definations/table_steps.rb +109 -0
  115. data/features/step_definations/text_area_steps.rb +39 -0
  116. data/features/step_definations/text_field_steps.rb +39 -0
  117. data/features/step_definations/unordered_list_steps.rb +27 -0
  118. data/features/step_definations/video_steps.rb +27 -0
  119. data/features/support/ajax_test_environment.rb +26 -0
  120. data/features/support/audio_video_page.rb +23 -0
  121. data/features/support/env.rb +5 -0
  122. data/features/support/hooks.rb +3 -0
  123. data/features/support/page.rb +372 -0
  124. data/features/support/persistent_browser.rb +58 -0
  125. data/features/support/targets/firefox14_osx.rb +5 -0
  126. data/features/support/targets/firefox14_windows7.rb +5 -0
  127. data/features/support/url_helper.rb +50 -0
  128. data/features/table.feature +127 -0
  129. data/features/table_cell.feature +42 -0
  130. data/features/table_row.feature +30 -0
  131. data/features/text_area.feature +44 -0
  132. data/features/text_field.feature +53 -0
  133. data/features/unordered_list.feature +46 -0
  134. data/features/video.feature +66 -0
  135. data/lib/druid/accessors.rb +1082 -0
  136. data/lib/druid/assist.rb +653 -0
  137. data/lib/druid/element_locators.rb +21 -0
  138. data/lib/druid/elements/area.rb +9 -0
  139. data/lib/druid/elements/audio.rb +9 -0
  140. data/lib/druid/elements/bold.rb +8 -0
  141. data/lib/druid/elements/button.rb +12 -0
  142. data/lib/druid/elements/canvas.rb +9 -0
  143. data/lib/druid/elements/check_box.rb +9 -0
  144. data/lib/druid/elements/div.rb +9 -0
  145. data/lib/druid/elements/element.rb +187 -0
  146. data/lib/druid/elements/file_field.rb +9 -0
  147. data/lib/druid/elements/form.rb +9 -0
  148. data/lib/druid/elements/heading.rb +14 -0
  149. data/lib/druid/elements/hidden_field.rb +9 -0
  150. data/lib/druid/elements/image.rb +9 -0
  151. data/lib/druid/elements/italic.rb +9 -0
  152. data/lib/druid/elements/label.rb +8 -0
  153. data/lib/druid/elements/link.rb +9 -0
  154. data/lib/druid/elements/list_item.rb +9 -0
  155. data/lib/druid/elements/media.rb +11 -0
  156. data/lib/druid/elements/option.rb +9 -0
  157. data/lib/druid/elements/ordered_list.rb +29 -0
  158. data/lib/druid/elements/paragraph.rb +9 -0
  159. data/lib/druid/elements/radio_button.rb +9 -0
  160. data/lib/druid/elements/select_list.rb +30 -0
  161. data/lib/druid/elements/span.rb +9 -0
  162. data/lib/druid/elements/table.rb +92 -0
  163. data/lib/druid/elements/table_cell.rb +11 -0
  164. data/lib/druid/elements/table_row.rb +50 -0
  165. data/lib/druid/elements/text_area.rb +10 -0
  166. data/lib/druid/elements/text_field.rb +11 -0
  167. data/lib/druid/elements/unordered_list.rb +32 -0
  168. data/lib/druid/elements/video.rb +8 -0
  169. data/lib/druid/elements.rb +55 -0
  170. data/lib/druid/javascript/angularjs.rb +12 -0
  171. data/lib/druid/javascript/jquery.rb +12 -0
  172. data/lib/druid/javascript/prototype.rb +12 -0
  173. data/lib/druid/javascript/yui.rb +19 -0
  174. data/lib/druid/javascript_framework_facade.rb +76 -0
  175. data/lib/druid/locator_generator.rb +181 -0
  176. data/lib/druid/nested_elements.rb +56 -0
  177. data/lib/druid/page_factory.rb +115 -0
  178. data/lib/druid/page_populator.rb +104 -0
  179. data/lib/druid/section_collection.rb +17 -0
  180. data/lib/druid/version.rb +3 -0
  181. data/lib/druid.rb +452 -0
  182. data/spec/druid/accessors_spec.rb +1209 -0
  183. data/spec/druid/druid_spec.rb +295 -0
  184. data/spec/druid/element_locators_spec.rb +750 -0
  185. data/spec/druid/elements/bold_spec.rb +12 -0
  186. data/spec/druid/elements/button_spec.rb +23 -0
  187. data/spec/druid/elements/check_box_spec.rb +14 -0
  188. data/spec/druid/elements/div_spec.rb +10 -0
  189. data/spec/druid/elements/element_spec.rb +250 -0
  190. data/spec/druid/elements/file_field_spec.rb +13 -0
  191. data/spec/druid/elements/form_spec.rb +18 -0
  192. data/spec/druid/elements/heading_spec.rb +30 -0
  193. data/spec/druid/elements/hidden_field_spec.rb +10 -0
  194. data/spec/druid/elements/image_spec.rb +23 -0
  195. data/spec/druid/elements/itatic_spec.rb +11 -0
  196. data/spec/druid/elements/label_spec.rb +10 -0
  197. data/spec/druid/elements/link_spec.rb +10 -0
  198. data/spec/druid/elements/list_item_spec.rb +10 -0
  199. data/spec/druid/elements/media_spec.rb +12 -0
  200. data/spec/druid/elements/option_spec.rb +21 -0
  201. data/spec/druid/elements/ordered_list_spec.rb +38 -0
  202. data/spec/druid/elements/page_factory_spec.rb +40 -0
  203. data/spec/druid/elements/paragraph_spec.rb +12 -0
  204. data/spec/druid/elements/radio_button_spec.rb +14 -0
  205. data/spec/druid/elements/select_list_spec.rb +51 -0
  206. data/spec/druid/elements/span_spec.rb +10 -0
  207. data/spec/druid/elements/table_cell_spec.rb +14 -0
  208. data/spec/druid/elements/table_row_spec.rb +34 -0
  209. data/spec/druid/elements/table_spec.rb +47 -0
  210. data/spec/druid/elements/text_area_spec.rb +13 -0
  211. data/spec/druid/elements/text_field_spec.rb +22 -0
  212. data/spec/druid/elements/unordered_list_spec.rb +39 -0
  213. data/spec/druid/javascript_framework_facade_spec.rb +59 -0
  214. data/spec/druid/nested_element_spec.rb +128 -0
  215. data/spec/druid/page_factory_spec.rb +235 -0
  216. data/spec/druid/page_populator_spec.rb +173 -0
  217. data/spec/druid/page_section_spec.rb +70 -0
  218. data/spec/spec_helper.rb +9 -0
  219. metadata +517 -0
@@ -0,0 +1,18 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <title>Frame 1</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ </head>
7
+ <body onload="document.senderForm.senderElement.focus()">
8
+ <h1>Frame 1</h1>
9
+ <p>Nam accumsan. Donec nisi pede, interdum eget, ultrices ac, vulputate vitae, nunc. Nulla lorem. Duis cursus pharetra dolor. Nulla accumsan hendrerit leo. Vivamus commodo. Nullam dignissim adipiscing est. Aliquam vitae orci in risus lobortis luctus. Ut luctus fermentum ligula. Nullam ipsum. Suspendisse sit amet nisi.</p>
10
+ <form action="" method="post" name="senderForm">
11
+ <fieldset>
12
+ <input type="text" name="senderElement" id="senderElement" value="send_this_value" />
13
+ <input type="button" id="send" onclick="parent.frame2.document.recieverForm.recieverElement.value = document.senderForm.senderElement.value" value="Send!" />
14
+ </fieldset>
15
+ </form>
16
+ <div id="set_by_js" />
17
+ </body>
18
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <title>Frame 2</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ </head>
7
+ <body>
8
+ <h1>Frame 2</h1>
9
+ <p>Vestibulum dignissim mauris id tellus. Nulla volutpat bibendum ante. Nam malesuada, lacus vel ultrices luctus, lorem purus tristique magna, quis pharetra leo ipsum nec neque. Cras ornare tincidunt sem. In hac habitasse platea dictumst. Suspendisse commodo turpis at est. Sed quis tortor. Aenean non massa. Phasellus scelerisque nulla vel lectus. Quisque lorem. Praesent volutpat dignissim risus. Fusce vulputate ligula eu ipsum.</p>
10
+ <form action="" method="post" name="recieverForm">
11
+ <fieldset>
12
+ <input type="text" name="recieverElement" value="old_value" />
13
+ </fieldset>
14
+ </form>
15
+ </body>
16
+ </html>
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <title>Frame 1</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ </head>
7
+ <body>
8
+ <h1>Frame 3</h1>
9
+ <p>Nam accumsan. Donec nisi pede, interdum eget, ultrices ac, vulputate vitae, nunc. Nulla lorem. Duis cursus pharetra dolor. Nulla accumsan hendrerit leo. Vivamus commodo. Nullam dignissim adipiscing est. Aliquam vitae orci in risus lobortis luctus. Ut luctus fermentum ligula. Nullam ipsum. Suspendisse sit amet nisi.</p>
10
+ <input id=alert_button type=button onclick="alert('I am an alert')" value=Alert>
11
+ <input id=confirm_button type=button onclick="this.value = confirm('set the value')" value=Confirm>
12
+ <input id=prompt_button type=button onclick='this.value = prompt("enter your name", "John Doe")' value=Prompt>
13
+ </body>
14
+ </html>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <title>Frames</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ </head>
7
+ <frameset cols="40%, 40%, 20%">
8
+ <frame src="frame_1.html" id="frame_one_1" name="frame1" />
9
+ <frame src="frame_2.html" id="frame_two_2" name="frame2" />
10
+ <frame src="frame_3.html" id="frame_three_3" name="frame3" />
11
+ </frameset>
12
+ </html>
@@ -0,0 +1,11 @@
1
+ <html>
2
+ <head>
3
+ <style type ="text/css" media="screen">
4
+ a { font-size: 10px; }
5
+ a:hover { font-size: 20px; }
6
+ </style>
7
+ </head>
8
+ <body>
9
+ <a href="#">hello</a>
10
+ </body>
11
+ </html>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
+ <head>
4
+ <title>Iframes</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ </head>
7
+ <body>
8
+ <h1>Iframes</h1>
9
+ <iframe src="frame_1.html" id="frame_one_1" name="frame1" class="iframe"></iframe>
10
+ <iframe src="frame_2.html" id="frame_two_2" name="frame2" class="iframe"></iframe>
11
+ </body>
12
+ </html>
Binary file
Binary file
@@ -0,0 +1,17 @@
1
+ <html>
2
+ <head>
3
+ <title>modal dialog test page</title>
4
+ </head>
5
+ <body>
6
+
7
+ <script type="text/javascript">
8
+ function modal() {
9
+ var retValue = window.showModalDialog(
10
+ "modal_1.html", self,
11
+ "status:no;resizable:Yes;help:no;maximize:no;minimize:no;scrollbars:no;");
12
+ }
13
+ </script>
14
+
15
+ <input id=launch_modal_button type=button onclick='return modal();' value="Launch a modal" />
16
+ </body>
17
+ </html>
@@ -0,0 +1,38 @@
1
+ <html>
2
+
3
+ <head>
4
+ <title>Modal 1</title>
5
+
6
+ <script>
7
+ function delay_action(other_function) {
8
+ setTimeout(other_function, 3000);
9
+ }
10
+
11
+ function close_window() {
12
+ window.returnValue = 22
13
+ window.close()
14
+ }
15
+
16
+ function modal1() {
17
+ var retValue = window.showModalDialog(
18
+ "modal_2.html", self,
19
+ "status:no;resizable:Yes;help:no;maximize:no;minimize:no;scrollbars:no;");
20
+ }
21
+
22
+ </script>
23
+
24
+ </head>
25
+
26
+ <body>
27
+
28
+ <h2>Modal 1</h2>
29
+
30
+ <h3>Close buttons</h3>
31
+ <input id=close_window type=button onclick="close_window()" value="Close window"/>
32
+ <input id=delayed_close type=button onclick="delay_action('close_window()')" value="Close window with delay" />
33
+
34
+ <h3>Nested modal</h3>
35
+ <input id=launch_modal_button type=button onclick='return modal1();' value="Launch another modal"/>
36
+
37
+ </body>
38
+ </html>
@@ -0,0 +1,27 @@
1
+ <html>
2
+
3
+ <head>
4
+ <title>Modal 2</title>
5
+
6
+ <script>
7
+ function delay_action(other_function) {
8
+ setTimeout(other_function, 3000);
9
+ }
10
+
11
+ function close_window() {
12
+ self.close()
13
+ }
14
+ </script>
15
+
16
+ </head>
17
+
18
+ <body>
19
+
20
+ <h2>Modal 2</h2>
21
+
22
+ <h3>Close buttons</h3>
23
+ <input id=close_window2 type="button" onclick="close_window()" value="Close window"/>
24
+ <input id=delayed_close2 type=button onclick="delay_action('close_window()')" value="Close window with delay" />
25
+
26
+ </body>
27
+ </html>
@@ -0,0 +1,145 @@
1
+ <html>
2
+ <head>
3
+ <title>Multi Elements Page</title>
4
+ </head>
5
+ <body>
6
+ <input class='button' type="submit" value="Button 1"/>
7
+ <input class='button' type="submit" value="Button 2"/>
8
+ <input class='button' type="submit" value="Button 3"/>
9
+
10
+ <input class='textfield' size='40' type='text' value='text 1'/>
11
+ <input class='textfield' size='40' type='text' value='text 2'/>
12
+ <input class='textfield' size='40' type='text' value='text 3'/>
13
+
14
+ <input class="hiddenfield" size="40" type="hidden" value="hidden 1"/>
15
+ <input class="hiddenfield" size="40" type="hidden" value="hidden 2"/>
16
+ <input class="hiddenfield" size="40" type="hidden" value="hidden 3"/>
17
+
18
+ <textarea rows="2" cols="20" class="textarea">textarea 1</textarea>
19
+ <textarea rows="2" cols="20" class="textarea">textarea 2</textarea>
20
+ <textarea rows="2" cols="20" class="textarea">textarea 3</textarea>
21
+
22
+ <select class="selectlist">
23
+ <option value="selectlist 1">Option 1</option>
24
+ </select>
25
+ <select class="selectlist">
26
+ <option value="selectlist 2">Option 2</option>
27
+ </select>
28
+ <select class="selectlist">
29
+ <option value="selectlist 3">Option 3</option>
30
+ </select>
31
+
32
+ <a href="blah.html" class="link">link 1</a>
33
+ <a href="blah.html" class="link">link 2</a>
34
+ <a href="blah.html" class="link">link 3</a>
35
+
36
+ <input class="checkbox" type="checkbox" value="checkbox 1"/>
37
+ <input class="checkbox" type="checkbox" value="checkbox 2"/>
38
+ <input class="checkbox" type="checkbox" value="checkbox 3"/>
39
+
40
+ <input type="radio" class="radio" value="radio 1">
41
+ <input type="radio" class="radio" value="radio 2">
42
+ <input type="radio" class="radio" value="radio 3">
43
+
44
+ <div class="div">Div 1</div>
45
+ <div class="div">Div 2</div>
46
+ <div class="div">Div 3</div>
47
+
48
+ <span class="span">Span 1</span>
49
+ <span class="span">Span 2</span>
50
+ <span class="span">Span 3</span>
51
+
52
+ <label class="label">Label 1</label>
53
+ <label class="label">Label 2</label>
54
+ <label class="label">Label 3</label>
55
+
56
+ <table class="table" border='1'>
57
+ <tr>
58
+ <td class="td">Data 1</td>
59
+ <td class="td">Data 2</td>
60
+ <td class="td">Data 3</td>
61
+ </tr>
62
+ </table>
63
+
64
+ <table class="table" border='1'>
65
+ <tr>
66
+ <td>Data 4</td>
67
+ <td>Data 5</td>
68
+ <td>Data 6</td>
69
+ </tr>
70
+ </table>
71
+
72
+ <table class="table" border='1'>
73
+ <tr>
74
+ <td>Data 7</td>
75
+ <td>Data 8</td>
76
+ <td>Data 9</td>
77
+ </tr>
78
+ </table>
79
+
80
+ <img src="images/circle.png" class="image" alt="image 1">
81
+ <img src="images/circle.png" class="image" alt="image 2">
82
+ <img src="images/circle.png" class="image" alt="image 3">
83
+
84
+ <form method="get" class="form" action="form1"></form>
85
+ <form method="get" class="form" action="form2"></form>
86
+ <form method="get" class="form" action="form3"></form>
87
+
88
+ <ul class="ul">
89
+ <li class="li">Item One</li>
90
+ <li class="li">Item Two</li>
91
+ <li class="li">Item Three</li>
92
+ </ul>
93
+ <ul class="ul">
94
+ <li>Item Four</li>
95
+ </ul>
96
+ <ul class="ul">
97
+ <li>Item Five</li>
98
+ </ul>
99
+
100
+ <ol class="ol">
101
+ <li>Number One</li>
102
+ </ol>
103
+ <ol class="ol">
104
+ <li>Number Two</li>
105
+ </ol>
106
+ <ol class="ol">
107
+ <li>Number Three</li>
108
+ </ol>
109
+
110
+ <h1 class="h1">H1 One</h1>
111
+ <h1 class="h1">H1 Two</h1>
112
+ <h1 class="h1">H1 Three</h1>
113
+
114
+ <h2 class="h2">H2 One</h2>
115
+ <h2 class="h2">H2 Two</h2>
116
+ <h2 class="h2">H2 Three</h2>
117
+
118
+ <h3 class="h3">H3 One</h3>
119
+ <h3 class="h3">H3 Two</h3>
120
+ <h3 class="h3">H3 Three</h3>
121
+
122
+ <h4 class="h4">H4 One</h4>
123
+ <h4 class="h4">H4 Two</h4>
124
+ <h4 class="h4">H4 Three</h4>
125
+
126
+ <h5 class="h5">H5 One</h5>
127
+ <h5 class="h5">H5 Two</h5>
128
+ <h5 class="h5">H5 Three</h5>
129
+
130
+ <h6 class="h6">H6 One</h6>
131
+ <h6 class="h6">H6 Two</h6>
132
+ <h6 class="h6">H6 Three</h6>
133
+
134
+ <p class="p">Paragraph One</p>
135
+ <p class="p">Paragraph Two</p>
136
+ <p class="p">Paragraph Three</p>
137
+
138
+ <input type="file" class="file_field_class" title="File Field 1" />
139
+ <input type="file" class="file_field_class" title="File Field 2" />
140
+ <input type="file" class="file_field_class" title="File Field 3" />
141
+
142
+ In bold <b>One B</b> and <b>Two B</b> for example text
143
+ In italic <i>One I</i> and <i>Two I</i> for example text
144
+ </body>
145
+ </html>
@@ -0,0 +1,75 @@
1
+ <html>
2
+ <head>
3
+ <title>Nested Elements</title>
4
+ </head>
5
+ <body>
6
+ <div id="div_id">
7
+ <a href="success.html">Success</a>
8
+ <form method="get" action="success.html">
9
+ <input id='button_id' name='button_name' class='button_class' type="submit" value="Click Me">
10
+ </form>
11
+ <input size="40" type="text"/>
12
+ <input size="40" type="hidden" value="LeanDog"/>
13
+ <textarea rows="2" cols="20"></textarea>
14
+ <select>
15
+ <option value="option1">Test 1</option>
16
+ <option value="option2">Test 2</option>
17
+ </select>
18
+ <input type="checkbox" value="0"/>
19
+ <input type="radio" value="Milk"/>
20
+ <input type="file"/>
21
+ <div>
22
+ page-object rocks!
23
+ </div>
24
+ <span>
25
+ My alert
26
+ </span>
27
+ <label>
28
+ page-object is the best!
29
+ </label>
30
+ <table>
31
+ <tr>
32
+ <td>Data1</td>
33
+ <td>Data2</td>
34
+ </tr>
35
+ </table>
36
+ <img src="images/circle.png"/>
37
+ <p>This is a paragraph.</p>
38
+
39
+ <h1>h1's are cool</h1>
40
+ <h2>h2's are cool</h2>
41
+ <h3>h3's are cool</h3>
42
+ <h4>h4's are cool</h4>
43
+ <h5>h5's are cool</h5>
44
+ <h6>h6's are cool</h6>
45
+ <ol>
46
+ <li>Number One</li>
47
+ <li>Number Two</li>
48
+ </ol>
49
+ <ul>
50
+ <li>Item One</li>
51
+ <li>Item Two</li>
52
+ </ul>
53
+ </div>
54
+
55
+ <ul id="outer">
56
+ <li>One</li>
57
+ <li>Two</li>
58
+ <ul>
59
+ <li>Nested One</li>
60
+ <li>Nested Two</li>
61
+ </ul>
62
+ <li>Three</li>
63
+ </ul>
64
+
65
+ <ol id="ol-outer">
66
+ <li>One</li>
67
+ <li>Two</li>
68
+ <ol>
69
+ <li>Nested One</li>
70
+ <li>Nested Two</li>
71
+ </ol>
72
+ <li>Three</li>
73
+ </ol>
74
+ </body>
75
+ </html>
@@ -0,0 +1 @@
1
+ frame 1
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2
+ <html>
3
+ <head>
4
+ <title></title>
5
+ </head>
6
+ <body>
7
+ <p>
8
+ <iframe id="three" src="nested_frame_3.html"></iframe>
9
+ </p>
10
+ </body>
11
+ </html>
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8">
5
+ <title>
6
+ Title
7
+ </title>
8
+ </head>
9
+ <body>
10
+ <p>
11
+ <a id="four" href="success.html" target="_top">this link should open the page success page</a>
12
+ </p>
13
+ </body>
14
+ </html>
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2
+ <html>
3
+ <head>
4
+ <title></title>
5
+ </head>
6
+ <frameset cols="20%, 80%">
7
+ <frame id="one" src="nested_frame_1.html">
8
+ <frame id="two" src="nested_frame_2.html">
9
+ </frameset>
10
+ </html>
Binary file
@@ -0,0 +1,203 @@
1
+ <html>
2
+ <head>
3
+ <title>Static Elements Page</title>
4
+ </head>
5
+ <body>
6
+ <p id="p_id" name="p_name" class="p_class">Static Elements Page</p>
7
+ <label for="text_field_id">Text Field</label>
8
+ <input id="text_field_id" name="text_field_name" class="text_field_class" title="text_field_title"
9
+ data-field="title" size="40" type="text"/>
10
+
11
+ <input id="hidden_field_id" name="hidden_field_name" class="hidden_field_class"
12
+ size="40" type="hidden" value="12345" />
13
+
14
+ <label for="text_area_id">Text Area</label>
15
+ <textarea rows="2" cols="20" id="text_area_id" class="text_area_class" name="text_area_name"></textarea>
16
+
17
+ <label for="sel_list_id">Select List</label>
18
+ <select name="sel_list_name" id="sel_list_id" class="sel_list_class">
19
+ <option value="option1">Test 1</option>
20
+ <option value="option2">Test 2</option>
21
+ <option value="option3">Test/Test 3</option>
22
+ </select>
23
+
24
+ <select multiple="multiple" id="sel_list_multiple">
25
+ <option value="option1" selected="true">Test 1</option>
26
+ <option value="option2">Test 2</option>
27
+ <option value="option3" selected="true">Test 3</option>
28
+ </select>
29
+
30
+ <img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap"/>
31
+ <map id="map" name="planetmap">
32
+ <area id="area" name="area" class="area" shape="rect" coords="0,0,82,126" href="sun.html"/>
33
+ <area shape="circle" coords="90,58,3" href="mercur.html"/>
34
+ <area shape="circle" coords="124,58,8" href="venus.html"/>
35
+ </map>
36
+
37
+ <canvas id="canvas" name="canvas" class="canvas" width="200" height="100"></canvas>
38
+ <script type="text/javascript">
39
+ var c=document.getElementById('myCanvas');
40
+ var ctx=c.getContext('2d');
41
+ ctx.fillStyle="#FF0000";
42
+ ctx.fillRect=(0,0,150,75);
43
+ </script>
44
+
45
+ <svg width="100" height="100" id="the_svg">
46
+ <circle cx="50" cy="50" r="40" fill="red" stroke="blue" stroke-width="5" />
47
+ </svg>
48
+
49
+ <a href="success.html" id="link_id" name="link_name" class="link_class" title="link_title" >Google Search</a>
50
+
51
+ <label for="cb_id">Checkbox</label>
52
+ <input id="cb_id" name="cb_name" class="cb_class" type="checkbox" value="1" />
53
+
54
+ <label for="milk_id">Radio</label>
55
+ <input type="radio" id="milk_id" name="milk_name" class="milk_class" value="Milk"> Milk <br />
56
+ <input type="radio" id="butter_id" name="butter_name" class="butter_class" value="Butter">Butter
57
+
58
+ <br/>
59
+ <label>Radio Button Group</label>
60
+ <input type="radio" name="fav_cheese" value="ched">Cheddar</input>
61
+ <input type="radio" name="fav_cheese" value="emmen">Emmental</input>
62
+ <input type="radio" name="fav_cheese" value="muen">Muenster</input>
63
+ <br/>
64
+
65
+ <div id="div_id" name="div_name" class="div_class" title="div_title">
66
+ page-object rocks!
67
+ </div>
68
+
69
+ <div data-entity="test">
70
+ found using data-entity
71
+ </div>
72
+
73
+ <span id="span_id" name="span_name" class="span_class" title="span_title">
74
+ My alert
75
+ </span>
76
+
77
+ <label id="label_id" name="label_name" class="label_class">
78
+ page-object is the best!
79
+ </label>
80
+
81
+ <table id='table_id' name='table_name' class='table_class' border='1'>
82
+ <thead>
83
+ <tr>
84
+ <th>Table</th>
85
+ <th>Header</th>
86
+ </tr>
87
+ </thead>
88
+ <tbody>
89
+ <tr id="tr_id" class='tr_class'>
90
+ <td>Data1</td>
91
+ <td>Data2</td>
92
+ </tr>
93
+ <tr>
94
+ <td>Data3</td>
95
+ <td id='cell_id', name='cell_name' class='cell_class'>Data4</td>
96
+ </tr>
97
+ </tbody>
98
+ </table>
99
+
100
+ <table id="table_with_thead_id" border='1'>
101
+ <thead>
102
+ <tr>
103
+ <th>Col1</th>
104
+ <th>Col2</th>
105
+ </tr>
106
+ </thead>
107
+ <tbody>
108
+ <tr>
109
+ <td>Data1</td>
110
+ <td>Data2</td>
111
+ </tr>
112
+ <tr>
113
+ <td>Data3</td>
114
+ <td>Data4</td>
115
+ </tr>
116
+ <tr>
117
+ <td>Data5</td>
118
+ </tr>
119
+ </tbody>
120
+ </table>
121
+
122
+ <table id='table_with_regex' border='1'>
123
+ <tr>
124
+ <td>Price1 |</td>
125
+ <td>$420.99</td>
126
+ </tr>
127
+ <tr>
128
+ <td>Price |</td>
129
+ <td>$69.99</td>
130
+ </tr>
131
+ </table>
132
+
133
+ <form method="get" action="success.html">
134
+ <input id='button_id' name='button_name' class='button_class' type="submit" value="Click Me"/>
135
+ <input id='button_image_id' type='image' src='images/submit.gif' alt='Submit'/>
136
+ <button type='button' id='btn_id' name='btn_name' class='btn_class'>Click Me Too</button>
137
+ <input value="Disabled" disabled="true" type="submit"/>
138
+ </form>
139
+
140
+ <img src="images/circle.png" id="image_id" name="image_name" class="image_class", alt="image_alt">
141
+
142
+ <form id="form_id" class="form_class" name="form_name" action="/">
143
+ </form>
144
+
145
+ <label for="file_field_id">File Field</label>
146
+ <input type="file" name="file_field_name" id="file_field_id" class="file_field_class" title="file_field_title" />
147
+
148
+ <ul id="ul_id" name="ul_name" class="ul_class">
149
+ <li id="li_id" name="li_name" class="li_class">Item One</li>
150
+ <li>Item Two</li>
151
+ <li>Item Three</li>
152
+ </ul>
153
+
154
+ <ol id="ol_id" name="ol_name" class="ol_class">
155
+ <li>Number One</li>
156
+ <li>Number Two</li>
157
+ <li>Number Three</li>
158
+ </ol>
159
+
160
+ <a href="success.html">Hello</a>
161
+ <a href="success.html">Hello</a>
162
+ <a href="success.html">Hello</a>
163
+
164
+ <input id=alert_button type=button onclick="alert('I am an alert')" value=Alert>
165
+ <input id=alert_button_that_reloads type=button onclick="alert('I am an alert'); location.reload()" value="Alert that Reloads">
166
+ <input id=confirm_button type=button onclick="this.value = confirm('set the value')" value=Confirm>
167
+ <input id=confirm_button_that_reloads type=button onclick="if(confirm('set the value')) location.reload()" value="Confirm that Reloads">
168
+ <input id=prompt_button type=button onclick="this.value = prompt('enter your name','John Doe')" value=Prompt>
169
+
170
+ <h1 id="h1_id" class="h1_class" name="h1_name">h1's are cool</h1>
171
+ <h2 id="h2_id" class="h2_class" name="h2_name">h2's are cool</h2>
172
+ <h3 id="h3_id" class="h3_class" name="h3_name">h3's are cool</h3>
173
+ <h4 id="h4_id" class="h4_class" name="h4_name">h4's are cool</h4>
174
+ <h5 id="h5_id" class="h5_class" name="h5_name">h5's are cool</h5>
175
+ <h6 id="h6_id" class="h6_class" name="h6_name">h6's are cool</h6>
176
+
177
+ <a href="success.html" target="_blank">New Window</a>
178
+ <input type="text" id="onfocus_text_field" onfocus="document.getElementById('onfocus_test').innerHTML = 'changed by onfocus event'" />
179
+ <input type="text" id="unfocus_text_field" />
180
+ <div id="onfocus_test"></div>
181
+
182
+ <div id="parent_div">
183
+ <a href="success.html" id="child">Success</a>
184
+ </div>
185
+
186
+ <article id="article_id">HTML 5 Article</article>
187
+ <header id="header_id">HTML 5 Header</header>
188
+ <footer id="footer_id">HTML 5 Footer</footer>
189
+
190
+ <details id="details_id">
191
+ <summary id="summary_id">The summary</summary>
192
+ The details
193
+ </details>
194
+
195
+ <figure id='figure_id'>
196
+ <img src="images/img_pulpit.jpg" alt="The Pulpit Rock" width="304" height="228">
197
+ </figure>
198
+ This text have <b id="b_id" class="b_class" name="b_name">some text in bold</b>
199
+ This text have <i id="i_id" class="i_class" name="i_name">some text in italic</i>
200
+ <input id="input_button" type="button" value="This button is a input" />
201
+ <img src="images/non_existent.jpg" id="non_existent" >
202
+ </body>
203
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>Success</title>
4
+ </head>
5
+ <body>
6
+ <h1>Success</h1>
7
+ </body>
8
+ </html>