selenium-rspec-dsl 1.0.2

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 (236) hide show
  1. data/common/shared/common.rb +167 -0
  2. data/config/aggregate_reports.rb +124 -0
  3. data/config/array_extension.rb +13 -0
  4. data/config/multi_process_behaviour_runner.rb +50 -0
  5. data/config/selenium-setup.rb +32 -0
  6. data/config/site_config.rb +8 -0
  7. data/sites/button.rb +31 -0
  8. data/sites/buttonAjax.rb +14 -0
  9. data/sites/buttonJQuery.rb +26 -0
  10. data/sites/buttonMultiWindow.rb +99 -0
  11. data/sites/buttonNonLoad.rb +11 -0
  12. data/sites/checkbox.rb +22 -0
  13. data/sites/checkboxExtjs.rb +10 -0
  14. data/sites/checkboxGwt.rb +24 -0
  15. data/sites/dropdown.rb +28 -0
  16. data/sites/dropdownAjax.rb +40 -0
  17. data/sites/dropdownExtjs.rb +32 -0
  18. data/sites/dropdownJQuery.rb +40 -0
  19. data/sites/dropdownLoad.rb +25 -0
  20. data/sites/element.rb +172 -0
  21. data/sites/form.rb +7 -0
  22. data/sites/image.rb +7 -0
  23. data/sites/label.rb +32 -0
  24. data/sites/link.rb +32 -0
  25. data/sites/linkMultiWindow.rb +160 -0
  26. data/sites/linkNonLoad.rb +11 -0
  27. data/sites/listbox.rb +16 -0
  28. data/sites/page.rb +16 -0
  29. data/sites/panel.rb +7 -0
  30. data/sites/radiobutton.rb +10 -0
  31. data/sites/tabPanel.rb +7 -0
  32. data/sites/table.rb +48 -0
  33. data/sites/tableExtjs.rb +42 -0
  34. data/sites/test/googleResults_screen.rb +15 -0
  35. data/sites/test/googleSearch_screen.rb +27 -0
  36. data/sites/textbox.rb +16 -0
  37. data/sites/tree.rb +7 -0
  38. data/sites/treeGwt.rb +32 -0
  39. data/spec/spec.opts +6 -0
  40. data/spec/spec_helper.rb +40 -0
  41. data/spec/test/testPass_spec.rb +36 -0
  42. data/spec/test/testPending_spec.rb +13 -0
  43. data/vendor/selenium-client-1.2.17/README.markdown +328 -0
  44. data/vendor/selenium-client-1.2.17/examples/rspec/google_spec.rb +41 -0
  45. data/vendor/selenium-client-1.2.17/examples/script/google.rb +25 -0
  46. data/vendor/selenium-client-1.2.17/examples/testunit/google_test.rb +39 -0
  47. data/vendor/selenium-client-1.2.17/lib/nautilus/shell.rb +32 -0
  48. data/vendor/selenium-client-1.2.17/lib/selenium.rb +14 -0
  49. data/vendor/selenium-client-1.2.17/lib/selenium/client.rb +27 -0
  50. data/vendor/selenium-client-1.2.17/lib/selenium/client/base.rb +118 -0
  51. data/vendor/selenium-client-1.2.17/lib/selenium/client/driver.rb +11 -0
  52. data/vendor/selenium-client-1.2.17/lib/selenium/client/extensions.rb +118 -0
  53. data/vendor/selenium-client-1.2.17/lib/selenium/client/generated_driver.rb +1711 -0
  54. data/vendor/selenium-client-1.2.17/lib/selenium/client/idiomatic.rb +488 -0
  55. data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_expression_builder.rb +116 -0
  56. data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_frameworks/jquery.rb +13 -0
  57. data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_frameworks/prototype.rb +13 -0
  58. data/vendor/selenium-client-1.2.17/lib/selenium/client/protocol.rb +96 -0
  59. data/vendor/selenium-client-1.2.17/lib/selenium/client/selenium_helper.rb +34 -0
  60. data/vendor/selenium-client-1.2.17/lib/selenium/command_error.rb +4 -0
  61. data/vendor/selenium-client-1.2.17/lib/selenium/protocol_error.rb +4 -0
  62. data/vendor/selenium-client-1.2.17/lib/selenium/rake/default_tasks.rb +16 -0
  63. data/vendor/selenium-client-1.2.17/lib/selenium/rake/remote_control_start_task.rb +70 -0
  64. data/vendor/selenium-client-1.2.17/lib/selenium/rake/remote_control_stop_task.rb +44 -0
  65. data/vendor/selenium-client-1.2.17/lib/selenium/rake/tasks.rb +6 -0
  66. data/vendor/selenium-client-1.2.17/lib/selenium/remote_control/remote_control.rb +33 -0
  67. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/file_path_strategy.rb +78 -0
  68. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/html_report.rb +123 -0
  69. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/selenium_test_report_formatter.rb +87 -0
  70. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/system_capture.rb +72 -0
  71. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/rspec_extensions.rb +96 -0
  72. data/vendor/selenium-client-1.2.17/lib/selenium/rspec/spec_helper.rb +35 -0
  73. data/vendor/selenium-client-1.2.17/lib/tcp_socket_extension.rb +32 -0
  74. data/vendor/selenium-client-1.2.17/test/all_unit_tests.rb +3 -0
  75. data/vendor/selenium-grid-1.0.4/Capfile +107 -0
  76. data/vendor/selenium-grid-1.0.4/README +10 -0
  77. data/vendor/selenium-grid-1.0.4/Rakefile +190 -0
  78. data/vendor/selenium-grid-1.0.4/build.xml +182 -0
  79. data/vendor/selenium-grid-1.0.4/doc/resources/Multiple Environments Demo Setup.svg +518 -0
  80. data/vendor/selenium-grid-1.0.4/doc/resources/Multiple Machine Demo Setup.svg +371 -0
  81. data/vendor/selenium-grid-1.0.4/doc/resources/Rakefile +18 -0
  82. data/vendor/selenium-grid-1.0.4/doc/resources/Requesting a Specific Environment.svg +576 -0
  83. data/vendor/selenium-grid-1.0.4/doc/resources/Selenium Grid Setup.svg +539 -0
  84. data/vendor/selenium-grid-1.0.4/doc/resources/Selenium Grid.css +68 -0
  85. data/vendor/selenium-grid-1.0.4/doc/resources/Traditional Selenium Setup.svg +295 -0
  86. data/vendor/selenium-grid-1.0.4/doc/website/Rakefile +37 -0
  87. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Environment Demo Setup - Small.png +0 -0
  88. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Environment Demo Setup.png +0 -0
  89. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Machine Demo Setup - Small.png +0 -0
  90. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Machine Demo Setup.png +0 -0
  91. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Requesting a Specific Environment - Small.png +0 -0
  92. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Requesting a Specific Environment.png +0 -0
  93. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Logo.graffle +1015 -0
  94. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Setup - Small.png +0 -0
  95. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Setup.png +0 -0
  96. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Traditional Selenium Setup - Small.png +0 -0
  97. data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Traditional Selenium Setup.png +0 -0
  98. data/vendor/selenium-grid-1.0.4/doc/website/faq.markdown +686 -0
  99. data/vendor/selenium-grid-1.0.4/doc/website/images/ant_version_osx_screenshot.png +0 -0
  100. data/vendor/selenium-grid-1.0.4/doc/website/images/ant_version_win_screenshot.png +0 -0
  101. data/vendor/selenium-grid-1.0.4/doc/website/images/background_better.png +0 -0
  102. data/vendor/selenium-grid-1.0.4/doc/website/images/background_feedback.png +0 -0
  103. data/vendor/selenium-grid-1.0.4/doc/website/images/background_participate.png +0 -0
  104. data/vendor/selenium-grid-1.0.4/doc/website/images/background_start_tracks.png +0 -0
  105. data/vendor/selenium-grid-1.0.4/doc/website/images/background_started.png +0 -0
  106. data/vendor/selenium-grid-1.0.4/doc/website/images/check_path_osx_screenshot.png +0 -0
  107. data/vendor/selenium-grid-1.0.4/doc/website/images/check_path_win_screenshot.png +0 -0
  108. data/vendor/selenium-grid-1.0.4/doc/website/images/dot_profile_editing_osx_screenshot.png +0 -0
  109. data/vendor/selenium-grid-1.0.4/doc/website/images/dot_profile_osx_screenshot.png +0 -0
  110. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-install.png +0 -0
  111. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-profile-update.png +0 -0
  112. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-verify.png +0 -0
  113. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-version.png +0 -0
  114. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-java-version.png +0 -0
  115. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-navigate-path.png +0 -0
  116. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-selenium-install.png +0 -0
  117. data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-selenium-sanity-check.png +0 -0
  118. data/vendor/selenium-grid-1.0.4/doc/website/images/install/win/selenium-check.bmp +0 -0
  119. data/vendor/selenium-grid-1.0.4/doc/website/images/install_ant_osx_screenshot.png +0 -0
  120. data/vendor/selenium-grid-1.0.4/doc/website/images/installing_grid_osx_screenshot.png +0 -0
  121. data/vendor/selenium-grid-1.0.4/doc/website/images/java_version_osx_screenshot.png +0 -0
  122. data/vendor/selenium-grid-1.0.4/doc/website/images/java_version_win_screenshot.png +0 -0
  123. data/vendor/selenium-grid-1.0.4/doc/website/images/sanity_check_osx_screenshot.png +0 -0
  124. data/vendor/selenium-grid-1.0.4/doc/website/images/sanity_check_win_screenshot.png +0 -0
  125. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-huge-white.png +0 -0
  126. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-huge.png +0 -0
  127. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-large.png +0 -0
  128. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-small.png +0 -0
  129. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo.png +0 -0
  130. data/vendor/selenium-grid-1.0.4/doc/website/images/selenium_grid_logo_large.png +0 -0
  131. data/vendor/selenium-grid-1.0.4/doc/website/images/update_path_win_screenshot.png +0 -0
  132. data/vendor/selenium-grid-1.0.4/doc/website/javascripts/shadedborder.js +267 -0
  133. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/document.css +82 -0
  134. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/faq.css +97 -0
  135. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/home.css +133 -0
  136. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/openqa.css +72 -0
  137. data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/site.css +74 -0
  138. data/vendor/selenium-grid-1.0.4/examples/ec2/Capfile +276 -0
  139. data/vendor/selenium-grid-1.0.4/examples/ec2/etc/background.png +0 -0
  140. data/vendor/selenium-grid-1.0.4/examples/ec2/etc/background.svg +163 -0
  141. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/cloud.rb +35 -0
  142. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/ec2.rb +7 -0
  143. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/ec2_client.rb +54 -0
  144. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/hub.rb +22 -0
  145. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/remote_command.rb +47 -0
  146. data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/server.rb +56 -0
  147. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/all_test.rb +2 -0
  148. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/cloud_test.rb +27 -0
  149. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/ec2_client_test.rb +137 -0
  150. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/hub_test.rb +24 -0
  151. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/remote_command_test.rb +46 -0
  152. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/server_test.rb +22 -0
  153. data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/test_helper.rb +4 -0
  154. data/vendor/selenium-grid-1.0.4/examples/ec2/vnc_password +1 -0
  155. data/vendor/selenium-grid-1.0.4/examples/java/Java Example.iml +18 -0
  156. data/vendor/selenium-grid-1.0.4/examples/java/build.xml +90 -0
  157. data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/GoogleImageTestBase.java +46 -0
  158. data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/ParisTest.java +50 -0
  159. data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/PerigordTest.java +42 -0
  160. data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/GoogleImageTestBase.class +0 -0
  161. data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/ParisTest.class +0 -0
  162. data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/PerigordTest.class +0 -0
  163. data/vendor/selenium-grid-1.0.4/examples/java/testng-slow.xml +9 -0
  164. data/vendor/selenium-grid-1.0.4/examples/java/testng.xml +9 -0
  165. data/vendor/selenium-grid-1.0.4/examples/ruby/README +66 -0
  166. data/vendor/selenium-grid-1.0.4/examples/ruby/Rakefile +101 -0
  167. data/vendor/selenium-grid-1.0.4/examples/ruby/Ruby Example.iml +17 -0
  168. data/vendor/selenium-grid-1.0.4/examples/ruby/flickr_example.rb +16 -0
  169. data/vendor/selenium-grid-1.0.4/examples/ruby/lib/array_extension.rb +13 -0
  170. data/vendor/selenium-grid-1.0.4/examples/ruby/lib/multi_process_behaviour_runner.rb +28 -0
  171. data/vendor/selenium-grid-1.0.4/examples/ruby/paris_spec.rb +34 -0
  172. data/vendor/selenium-grid-1.0.4/examples/ruby/perigord_spec.rb +22 -0
  173. data/vendor/selenium-grid-1.0.4/examples/ruby/spec_helper.rb +59 -0
  174. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_04b8969da99c51289f692b41abbf271b_page_screenshot.png +0 -0
  175. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_04b8969da99c51289f692b41abbf271b_system_screenshot.png +0 -0
  176. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_280fd974268e3aecb89fbfbee25b5322_page_screenshot.png +0 -0
  177. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_280fd974268e3aecb89fbfbee25b5322_system_screenshot.png +0 -0
  178. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_8808fb9026e023f809d50ddc9cf00cd3_page_screenshot.png +0 -0
  179. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_8808fb9026e023f809d50ddc9cf00cd3_system_screenshot.png +0 -0
  180. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_94b209474d36add5ba908f308c63aa15_page_screenshot.png +0 -0
  181. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_94b209474d36add5ba908f308c63aa15_system_screenshot.png +0 -0
  182. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_a18dd8ce90cb4681d55b2148326ff085_page_screenshot.png +0 -0
  183. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_a18dd8ce90cb4681d55b2148326ff085_system_screenshot.png +0 -0
  184. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_b877a400a718a915c95038427389e0d9_page_screenshot.png +0 -0
  185. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_b877a400a718a915c95038427389e0d9_system_screenshot.png +0 -0
  186. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c1c6e8109e89867b52f6e123b8847b85_page_screenshot.png +0 -0
  187. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c1c6e8109e89867b52f6e123b8847b85_system_screenshot.png +0 -0
  188. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c9e7156818e496f6abb983a9a1725295_page_screenshot.png +0 -0
  189. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c9e7156818e496f6abb983a9a1725295_system_screenshot.png +0 -0
  190. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_d6b2848186a7e4a73e19692c0fab2ae5_page_screenshot.png +0 -0
  191. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_d6b2848186a7e4a73e19692c0fab2ae5_system_screenshot.png +0 -0
  192. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_e30337afe445f0b6ebd29ecfaf4cd9f0_page_screenshot.png +0 -0
  193. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_e30337afe445f0b6ebd29ecfaf4cd9f0_system_screenshot.png +0 -0
  194. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_edc2da92cbf119e95eae988bb6f80792_page_screenshot.png +0 -0
  195. data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_edc2da92cbf119e95eae988bb6f80792_system_screenshot.png +0 -0
  196. data/vendor/selenium-grid-1.0.4/grid_configuration.yml +46 -0
  197. data/vendor/selenium-grid-1.0.4/lib/build/common-build.xml +228 -0
  198. data/vendor/selenium-grid-1.0.4/lib/ruby/file_extensions.rb +9 -0
  199. data/vendor/selenium-grid-1.0.4/lib/ruby/java/classpath.rb +28 -0
  200. data/vendor/selenium-grid-1.0.4/lib/ruby/java/vm.rb +31 -0
  201. data/vendor/selenium-grid-1.0.4/lib/ruby/s_grid/hub.rb +29 -0
  202. data/vendor/selenium-grid-1.0.4/lib/ruby/s_grid/remote_control.rb +40 -0
  203. data/vendor/selenium-grid-1.0.4/lib/ruby/tcp_socket_extensions.rb +23 -0
  204. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-demo-1.0.4.jar +0 -0
  205. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-demo-standalone-1.0.4.jar +0 -0
  206. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-hub-1.0.4.jar +0 -0
  207. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-hub-standalone-1.0.4.jar +0 -0
  208. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-remote-control-1.0.4.jar +0 -0
  209. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-remote-control-standalone-1.0.4.jar +0 -0
  210. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-tools-1.0.4.jar +0 -0
  211. data/vendor/selenium-grid-1.0.4/lib/selenium-grid-tools-standalone-1.0.4.jar +0 -0
  212. data/vendor/selenium-grid-1.0.4/lib/testng.policy +11 -0
  213. data/vendor/selenium-grid-1.0.4/log/test.txt +1 -0
  214. data/vendor/selenium-grid-1.0.4/project.properties +4 -0
  215. data/vendor/selenium-grid-1.0.4/sample-scripts/kill-rcs.sh +3 -0
  216. data/vendor/selenium-grid-1.0.4/sample-scripts/launch-rc.sh +4 -0
  217. data/vendor/selenium-grid-1.0.4/sample-scripts/launch-rcs.sh +5 -0
  218. data/vendor/selenium-grid-1.0.4/sample-scripts/launch-remote-controls.rb +20 -0
  219. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/Command line test.html +218 -0
  220. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/classes.html +44 -0
  221. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/groups.html +5 -0
  222. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/index.html +6 -0
  223. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/main.html +2 -0
  224. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods-alphabetical.html +12 -0
  225. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods-not-run.html +2 -0
  226. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods.html +12 -0
  227. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/reporter-output.html +1 -0
  228. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/testng.xml.html +1 -0
  229. data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/toc.html +30 -0
  230. data/vendor/selenium-grid-1.0.4/target/reports/emailable-report.html +117 -0
  231. data/vendor/selenium-grid-1.0.4/target/reports/index.html +9 -0
  232. data/vendor/selenium-grid-1.0.4/vendor/commons-logging-1.0.4.jar +0 -0
  233. data/vendor/selenium-grid-1.0.4/vendor/selenium-java-client-driver-1.0.1.jar +0 -0
  234. data/vendor/selenium-grid-1.0.4/vendor/selenium-server-1.0.3.jar +0 -0
  235. data/vendor/selenium-grid-1.0.4/vendor/testng-5.7-jdk15.jar +0 -0
  236. metadata +296 -0
@@ -0,0 +1,167 @@
1
+ module Common
2
+
3
+ def pageUrl
4
+ self.waitForPage
5
+ for wait in 1..40 do
6
+ begin
7
+ url = @selenium_driver.get_location
8
+ if url == nil
9
+ sleep(0.5)
10
+ else
11
+ break
12
+ end
13
+ rescue => e
14
+ #continue
15
+ end
16
+ end
17
+ return url
18
+ end
19
+
20
+ def goToURL(url)
21
+ @selenium_driver.open(url)
22
+ @selenium_driver.wait_for_page_to_load
23
+ end
24
+
25
+ def waitForPage
26
+ @selenium_driver.wait_for_page_to_load
27
+ end
28
+
29
+ def waitForText(text, attempts=40)
30
+ for wait in 1..attempts do
31
+ begin
32
+ if not @selenium_driver.is_text_present(text)
33
+ sleep(0.5)
34
+ else
35
+ break
36
+ end
37
+ rescue => e
38
+ # if exception continue
39
+ end
40
+ end
41
+ end
42
+
43
+ def wait_for_multi_windows(numOfExpectedWindows)
44
+ #sleep(2)
45
+ for wait in 1..40 do
46
+ windows = @selenium_driver.get_all_window_ids()
47
+ if numOfExpectedWindows != windows.length
48
+ sleep(0.5)
49
+ else
50
+ break
51
+ end
52
+ end
53
+
54
+ for wait in 1..10 do
55
+ begin
56
+ window_names = @selenium_driver.get_all_window_names()
57
+ @selenium_driver.select_window("name=#{window_names[numOfExpectedWindows-1]}")
58
+ break
59
+ rescue => e
60
+ sleep(0.5)
61
+ # if exception continue
62
+ end
63
+ end
64
+ end
65
+
66
+ def wait_for_multi_windows_titles(numOfExpectedWindows)
67
+ #sleep(2)
68
+ for wait in 1..40 do
69
+ windows = @selenium_driver.get_all_window_titles()
70
+ if numOfExpectedWindows != windows.length
71
+ sleep(0.5)
72
+ else
73
+ break
74
+ end
75
+ end
76
+
77
+ #windows1 = @selenium_driver.get_all_window_ids()
78
+ #n = 0
79
+ #while n < windows1.length
80
+ # puts "id: " + windows1[n]
81
+ # n += 1
82
+ #end
83
+ #
84
+ #windows2 = @selenium_driver.get_all_window_names()
85
+ #n = 0
86
+ #while n < windows2.length
87
+ # puts "name: " + windows2[n]
88
+ # n += 1
89
+ #end
90
+ #
91
+ #windows3 = @selenium_driver.get_all_window_titles()
92
+ #n = 0
93
+ #while n < windows3.length
94
+ # puts "title: " + windows3[n]
95
+ # n += 1
96
+ #end
97
+
98
+ for wait in 1..10 do
99
+ begin
100
+ window_titles = @selenium_driver.get_all_window_titles()
101
+ @selenium_driver.select_window("title=#{window_titles[numOfExpectedWindows-1]}")
102
+ break
103
+ rescue => e
104
+ sleep(0.5)
105
+ # if exception continue
106
+ end
107
+ end
108
+ end
109
+
110
+ def put_focus_on_parent_window
111
+ @selenium_driver.select_window "null"
112
+ end
113
+
114
+ def close_window
115
+ @selenium_driver.close
116
+ end
117
+
118
+ def remove_all_browser_cookies
119
+ @selenium_driver.delete_all_visible_cookies
120
+ end
121
+
122
+ def refresh_browser
123
+ @selenium_driver.window_focus
124
+ @selenium_driver.refresh
125
+ self.waitForPage
126
+ #sleep(4)
127
+ #@selenium_driver.wait_for_condition("selenium.browserbot.getCurrentWindow()", TIMEOUT)
128
+ end
129
+
130
+ def dragDrop(object_to_be_dragged, object_dragged_to)
131
+ #@selenium_driver.drag_and_drop_to_object(object_to_be_dragged, object_dragged_to)
132
+ @selenium_driver.mouse_down(object_to_be_dragged)
133
+ @selenium_driver.mouse_move(object_dragged_to)
134
+ @selenium_driver.mouse_up(object_to_be_dragged)
135
+ end
136
+
137
+ def isTextPresent(text)
138
+ return @selenium_driver.is_text_present(text)
139
+ end
140
+
141
+ def maximize_browser
142
+ @selenium_driver.window_maximize
143
+ end
144
+
145
+ def clickFirefoxResendButton
146
+ sleep(3)
147
+ @selenium_driver.key_press_native(10)
148
+ @selenium_driver.window_focus
149
+ end
150
+
151
+ def answerFirefoxConfirmation
152
+ sleep(2)
153
+ @selenium_driver.get_confirmation
154
+ end
155
+
156
+ def pageTitle
157
+ return @selenium_driver.get_title
158
+ end
159
+
160
+ def controlKeyDown
161
+ @selenium_driver.control_key_down
162
+ end
163
+
164
+ def controlKeyUp
165
+ @selenium_driver.control_key_up
166
+ end
167
+ end
@@ -0,0 +1,124 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ def parse_header(html)
4
+ html =~ /(.*<div class="results">)/mi
5
+ $1
6
+ end
7
+
8
+ def parse_footer(html)
9
+ html[/<\/div>\s*<\/body>.*/mi]
10
+ end
11
+
12
+ def parse_body(html)
13
+ html =~ /<div class="results">(.*)<\/div>\s*<\/body>/mi
14
+ content = $1
15
+ end
16
+
17
+ body = ""
18
+ header = nil
19
+ footer = nil
20
+ count = 1
21
+ duration = 0
22
+ totalExamples = 0
23
+ totalFailures = 0
24
+ totalPending = 0
25
+ longestDuration = 0
26
+ totalSpecs = 0
27
+ numberOfSpecsFailures = 0
28
+
29
+ ARGV.each do |file|
30
+ lines = IO.readlines(file)
31
+ html = lines.join(' ')
32
+
33
+ # loop corrects color coding in report
34
+ numberOfSpecs = html.scan("class=\"example_group\"").size
35
+ numberOfSpecsFailures += html.scan("Show Dynamic HTML Snapshot").size
36
+ totalSpecs += (numberOfSpecs - 1)
37
+ spec = 1
38
+ while spec <= numberOfSpecs do
39
+ numberOfGroups = html.scan("example_group_#{spec.to_s}").size
40
+ group = 1
41
+ while group <= numberOfGroups
42
+ html = html.gsub("\"example_group_#{spec.to_s}\"", "\"example_group#{spec.to_s}#{group.to_s}#{count.to_s}\"")
43
+ html = html.gsub("('example_group_#{spec.to_s}')", "('example_group#{spec.to_s}#{group.to_s}#{count.to_s}')")
44
+ group += 1
45
+ end
46
+ spec += 1
47
+ end
48
+
49
+
50
+ # updates report with correct duration in header
51
+ startSub = html.rindex("<strong>")
52
+ endSub = html.rindex(" seconds</strong>")
53
+ durationString = html[startSub+8, endSub]
54
+
55
+ if durationString.to_f > longestDuration
56
+ longestDuration = durationString.to_f
57
+ end
58
+
59
+ duration += durationString.to_f
60
+ html = html.gsub(/Finished in <strong>.* seconds<\/strong>/, "Finished in <strong>#{longestDuration.to_s} seconds;</strong> Total Time in <strong>#{duration.to_s} seconds</strong>")
61
+
62
+ # updates report with correct example count in header
63
+ startSub = html.rindex(/innerHTML = ".* examples?/)
64
+ if startSub == nil
65
+ startSub = 0
66
+ end
67
+ endSub = html.rindex(/ examples?, .* failures?/)
68
+ if endSub == nil
69
+ endSub = 0
70
+ end
71
+ examplesString = html[startSub+13, endSub]
72
+ totalExamples += examplesString.to_i
73
+ html = html.gsub(/innerHTML = ".* examples?/, "innerHTML = \"#{totalSpecs.to_s} specs, #{numberOfSpecsFailures.to_s} specs failed, #{totalExamples.to_s} examples")
74
+
75
+ ## updates report with correct failure count in header
76
+ startSub = html.rindex(/ examples, .* failures?/)
77
+ if startSub == nil
78
+ startSub = 0
79
+ end
80
+ endSub = html.rindex(/ failures?/)
81
+ if endSub == nil
82
+ endSub = 0
83
+ end
84
+ failuresString = html[startSub+11, endSub]
85
+ totalFailures += failuresString.to_i
86
+ html = html.gsub(/ examples, .* failures?/, " examples, #{totalFailures.to_s} example failures")
87
+
88
+ if /failures?, .* pending"/.match(html)
89
+ startSub = html.rindex(/failures?, .* pending"/)
90
+ if startSub == nil
91
+ startSub = 0
92
+ end
93
+ endSub = html.rindex(/ pending"/)
94
+ if endSub == nil
95
+ endSub = 0
96
+ end
97
+ pendingString = html[startSub+10, endSub]
98
+ totalPending += pendingString.to_i
99
+ html = html.gsub(/failures?, .* pending/, "failures, #{totalPending.to_s} examples pending")
100
+ else
101
+ html = html.gsub(/failures?/, "failures, #{totalPending.to_s} examples pending")
102
+ end
103
+
104
+ if totalFailures > 0
105
+ #red
106
+ startSub = html.rindex(/pending\";<\/script>/)
107
+ html.insert(startSub+18, "<script type=\"text/javascript\">makeRed('rspec-header');</script>")
108
+ elsif totalPending > 0
109
+ #yellow
110
+ startSub = html.rindex(/pending\";<\/script>/)
111
+ html.insert(startSub+18, "<script type=\"text/javascript\">makeYellow('rspec-header');</script>")
112
+ else
113
+ #green; do nothing
114
+ end
115
+
116
+ header ||= parse_header(html)
117
+ footer ||= parse_footer(html)
118
+ body << parse_body(html).to_s
119
+ count += 1
120
+ end
121
+
122
+ STDOUT.puts header
123
+ STDOUT.puts body
124
+ STDOUT.puts footer
@@ -0,0 +1,13 @@
1
+ module ArrayExtension
2
+
3
+ def /(number_of_buckets)
4
+ buckets = (1..number_of_buckets).collect { [] }
5
+ while self.any? do
6
+ buckets.each do |bucket|
7
+ bucket << self.shift if self.any?
8
+ end
9
+ end
10
+ buckets
11
+ end
12
+
13
+ end
@@ -0,0 +1,50 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/array_extension')
2
+ Array.send :include, ArrayExtension
3
+
4
+ class MultiProcessSpecRunner
5
+
6
+ def initialize(max_concurrent_processes = 10)
7
+ @max_concurrent_processes = max_concurrent_processes
8
+ end
9
+
10
+ def run(spec_files, section='')
11
+ time = Time.new.strftime('%m%d%Y_%H%M')
12
+ concurrent_processes = [ @max_concurrent_processes, spec_files.size ].min
13
+ spec_files_by_process = spec_files / concurrent_processes
14
+ concurrent_processes.times do |i|
15
+ cmd = "spec #{options(i,section)} #{spec_files_by_process[i].join(' ')}"
16
+ puts "Launching #{cmd}"
17
+ exec(cmd) if fork == nil
18
+ end
19
+ success = true
20
+ concurrent_processes.times do |i|
21
+ pid, status = Process.wait2
22
+ success &&= status.exitstatus.zero?
23
+ end
24
+
25
+ script = File.expand_path(File.dirname(__FILE__) + "/aggregate_reports.rb")
26
+ reports = Dir[screenshot_dir + "/*_Test_Report-*.html"].collect {|report| %{"#{report}"} }.join(' ')
27
+ puts "reports: #{reports}"
28
+ command = %{ruby "#{script}" #{reports} > "#{screenshot_dir}/Aggregated-Selenium-Report.html"}
29
+ sh command
30
+
31
+ #raise "Build failed" unless success
32
+ end
33
+
34
+ protected
35
+
36
+ def options(process_number, section='')
37
+ dir = File.dirname(__FILE__)
38
+
39
+ [ "--require '#{dir}/../vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/selenium_test_report_formatter'",
40
+ "--format='Selenium::RSpec::SeleniumTestReportFormatter:#{dir}/../doc/#{section}_Test_Report-#{process_number}.html'",
41
+ "--color",
42
+ "--format=progress"
43
+ ].join(" ")
44
+ end
45
+
46
+ def screenshot_dir
47
+ ENV['CC_BUILD_ARTIFACTS'] || File.expand_path(File.dirname(__FILE__) + "/../doc")
48
+ end
49
+
50
+ end
@@ -0,0 +1,32 @@
1
+ require "rubygems"
2
+ require File.dirname(__FILE__) + '/../vendor/selenium-client-1.2.17/lib/selenium'
3
+ gem "rspec"
4
+ require File.dirname(__FILE__) + '/../vendor/selenium-client-1.2.17/lib/selenium/rspec/spec_helper'
5
+ require 'find'
6
+ require 'fileutils'
7
+ require File.dirname(__FILE__) + '/../config/site_config'
8
+
9
+ Dir.glob(File.join(File.dirname(__FILE__), '/../common/**/*.rb')).each {|f| require f }
10
+ Dir.glob(File.join(File.dirname(__FILE__), '/../scripts/**/*.rb')).each {|f| require f }
11
+ Dir.glob(File.join(File.dirname(__FILE__), '/../sites/**/**/*.rb')).each {|f| require f }
12
+ Dir.glob(File.join(File.dirname(__FILE__), '/../sites/**/*.rb')).each {|f| require f }
13
+
14
+ include Common
15
+ include FileUtils
16
+
17
+ def start_selenium_session(site)
18
+ @selenium_driver = Selenium::Client::Driver.new \
19
+ :host => SELENIUM_HOST,
20
+ :port => SELENIUM_PORT,
21
+ :browser => BROWSER,
22
+ :timeout_in_seconds => TIMEOUT_SEC,
23
+ :url => site,
24
+ :highlight_located_element => true
25
+ @selenium_driver.start_new_browser_session
26
+ @selenium_driver.set_speed BROWSER_DELAY
27
+ @@TEST_FAILURE = false
28
+ end
29
+
30
+ def stop_selenium_session
31
+ @selenium_driver.close_current_browser_session
32
+ end
@@ -0,0 +1,8 @@
1
+ ## Test Configuration ###
2
+ SELENIUM_HOST = "localhost"
3
+ SELENIUM_PORT = 4444
4
+ BROWSER = ["*firefox"]
5
+ BROWSER_DELAY = 0 #value is in milliseconds
6
+ TIMEOUT = 180000 #value is in milliseconds
7
+ TIMEOUT_SEC = 180
8
+ LOG_LEVEL = "DEBUG"
@@ -0,0 +1,31 @@
1
+ require File.dirname(__FILE__) + '/element'
2
+
3
+ # Basic Button object.
4
+ # Subclass of Element.
5
+ class Button < Element
6
+ # Type text into object if applicable
7
+ def type(text)
8
+ @selenium.type(@locator,text)
9
+ end
10
+
11
+ # Clicks on object and waits for page to load or refresh
12
+ def click
13
+ begin
14
+ @selenium.click(@locator)
15
+ rescue => e
16
+ sleep(3)
17
+ @selenium.click(@locator)
18
+ end
19
+
20
+ begin
21
+ @selenium.wait_for_page_to_load
22
+ rescue => e
23
+ sleep(2)
24
+ @selenium.wait_for_condition("selenium.browserbot.getCurrentWindow()", TIMEOUT)
25
+ end
26
+
27
+ end
28
+ end
29
+
30
+
31
+
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/element'
2
+
3
+ class Button_Ajax < Element
4
+ # Clicks on object
5
+ def click
6
+ @selenium.click(@locator)
7
+ begin
8
+ @selenium.wait_for_ajax
9
+ rescue => e
10
+ #continue
11
+ end
12
+ sleep(4)
13
+ end
14
+ end