selenium-rspec-dsl 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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,35 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require 'base64'
4
+ require 'fileutils'
5
+ require File.expand_path(File.dirname(__FILE__) + "/rspec_extensions")
6
+ require File.expand_path(File.dirname(__FILE__) + "/reporting/selenium_test_report_formatter")
7
+
8
+ Spec::Runner.configure do |config|
9
+
10
+ config.prepend_after(:each) do
11
+ begin
12
+ if actual_failure?
13
+ Selenium::RSpec::SeleniumTestReportFormatter.capture_system_state(@selenium_driver, self)
14
+ @selenium_driver.close_current_browser_session
15
+ end
16
+ if @selenium_driver.session_started?
17
+ @selenium_driver.set_context "Ending example '#{self.description}'"
18
+ end
19
+ rescue Exception => e
20
+ #STDERR.puts "Problem while capturing system state" + e
21
+ end
22
+ end
23
+
24
+ config.append_before(:each) do
25
+ begin
26
+ if @selenium_driver && @selenium_driver.session_started?
27
+ @selenium_driver.set_context "Starting example '#{self.description}'"
28
+ end
29
+ rescue Exception => e
30
+ #STDERR.puts "Problem while setting context on example start" + e
31
+ end
32
+ end
33
+
34
+ end
35
+
@@ -0,0 +1,32 @@
1
+ require 'timeout'
2
+ require 'socket'
3
+
4
+ class TCPSocket
5
+
6
+ def self.wait_for_service(options)
7
+ verbose_wait until listening_service?(options)
8
+ end
9
+
10
+ def self.wait_for_service_termination(options)
11
+ verbose_wait while listening_service?(options)
12
+ end
13
+
14
+ def self.listening_service?(options)
15
+ Timeout::timeout(options[:timeout] || 20) do
16
+ begin
17
+ socket = TCPSocket.new(options[:host], options[:port])
18
+ socket.close unless socket.nil?
19
+ true
20
+ rescue Errno::ECONNREFUSED,
21
+ Errno::EBADF # Windows
22
+ false
23
+ end
24
+ end
25
+ end
26
+
27
+ def self.verbose_wait
28
+ puts ".\n"
29
+ sleep 2
30
+ end
31
+
32
+ end
@@ -0,0 +1,3 @@
1
+ Dir["#{File.dirname __FILE__}/unit/**/*_tests.rb"].each do |test_case|
2
+ require test_case
3
+ end
@@ -0,0 +1,107 @@
1
+ # Capistrano recipes for Managing the Selenium Grid
2
+ #
3
+ # Check out http://www.capify.org/ if you are not familiar with Capistrano
4
+ #
5
+ # Typical sequence:
6
+ #
7
+ # cap -f selenium_grid_deploy.rb grid restart_all
8
+ #
9
+ # Or if you want to control all the steps:
10
+ #
11
+ # cap -f selenium_grid_deploy.rb grid start_x11
12
+ # cap -f selenium_grid_deploy.rb grid launch_hub
13
+ # cap -f selenium_grid_deploy.rb grid launch_rcs
14
+ # ...
15
+
16
+ set :repository, "http://subversion.local/repository/my-project/trunk/"
17
+ set :user, "philippe"
18
+ set :password, "verysecure"
19
+
20
+ ########### Environments ##########################
21
+
22
+ task :grid do
23
+ role :hub, "192.168.0.24"
24
+ role :rc, "192.168.0.24"
25
+ set :grid_dir, "/home/philippe/selenium-grid-0.9.1"
26
+ end
27
+
28
+ ########### Tasks ##################################
29
+
30
+ desc("Stop everything")
31
+ task :stop_all, :roles => [:rc, :hub ]do
32
+ stop_rcs rescue nil
33
+ stop_hub rescue nil
34
+ stop_x11 rescue nil
35
+ end
36
+
37
+ desc("Start everything")
38
+ task :start_all, :roles => [:rc, :hub ]do
39
+ start_x11
40
+ launch_hub
41
+ sleep 10
42
+ launch_rcs
43
+ end
44
+
45
+ desc("Restart everything")
46
+ task :restart_all, :roles => [:rc, :hub ] do
47
+ stop_all
48
+ start_all
49
+ end
50
+
51
+ desc("Stop dedicated X server")
52
+ task :stop_x11, :roles => :rc do
53
+ run "killall /usr/X11R6/bin/Xvnc"
54
+ end
55
+
56
+ desc("Start dedicated X server. Needed for remote controls.")
57
+ task :start_x11, :roles => :rc do
58
+ run "nohup rake --rakefile selenium-grid-0.9.1/Rakefile xvnc:start",
59
+ :env => { "PATH" => "/usr/X11R6/bin:/usr/local/bin:/usr/bin:/bin" }
60
+ end
61
+
62
+ desc("Display Selenium Hub Console in Firefox")
63
+ task :console, :roles => :hub do
64
+ system "firefox http://192.168.0.24:4444/console"
65
+ end
66
+
67
+ desc("Launch Selenium Hub")
68
+ task :launch_hub, :roles => :hub do
69
+ run "nohup rake --rakefile selenium-grid-0.9.1/Rakefile hub:start BACKGROUND=true",
70
+ :env => { "PATH" => "/home/philippe/Applications/jdk-6.0/bin:/home/philippe/Applications/ant-1.7.0/bin:/usr/local/bin:/usr/bin:/bin" }
71
+ end
72
+
73
+ desc("Stop Selenium Hub")
74
+ task :stop_hub, :roles => :hub do
75
+ run 'kill `lsof -t -i :4444`'
76
+ end
77
+
78
+ desc("Launch all remote controls")
79
+ task :launch_rcs, :roles => :rc do
80
+ ports = ENV['ports'] || "6000-6020"
81
+ port_range = Range.new(*ports.split("-"))
82
+ port_range.each do |port|
83
+ run remote_control_launch_command(port),
84
+ :env => {
85
+ "DISPLAY" => ":1",
86
+ "PATH" => "/home/philippe/Applications/jdk-6.0/bin:/home/philippe/Applications/ant-1.7.0/bin:/usr/lib/firefox:/usr/local/bin:/usr/bin:/bin" }
87
+ end
88
+ end
89
+
90
+ desc("Stop all remote controls")
91
+ task :stop_rcs, :roles => :rc do
92
+ ports = ENV['ports'] || "6000-6020"
93
+ run "kill `lsof -i :#{ports}`"
94
+ end
95
+
96
+ desc("View running browsers through VNC")
97
+ task :view_browsers_on_grid, :roles => :rc do
98
+ if File.exists?('/Applications/Chicken of the VNC.app/Contents/MacOS/Chicken of the VNC')
99
+ system "'/Applications/Chicken of the VNC.app/Contents/MacOS/Chicken of the VNC' --Display 1 192.168.0.24"
100
+ else
101
+ system 'vncviewer 192.168.0.24:1'
102
+ end
103
+ end
104
+
105
+ def remote_control_launch_command(port)
106
+ "nohup rake --rakefile #{grid_dir}/Rakefile rc:start --trace PORT=#{port} BACKGROUND=true"
107
+ end
@@ -0,0 +1,10 @@
1
+ Thank you for using Selenium Grid
2
+
3
+ Have a look at :
4
+
5
+ * Website content : ./doc/website/index.html
6
+ * Developer documentation: ./doc directory
7
+
8
+ If you have any problem contact Philippe Hanrigou:
9
+ http://ph7spot.com/about/contact_me
10
+
@@ -0,0 +1,190 @@
1
+ #
2
+ # Rakefile managing Selenium Grid components
3
+ #
4
+ require "net/http"
5
+ require "yaml"
6
+ require File.dirname(__FILE__) + '/lib/ruby/tcp_socket_extensions'
7
+ require File.dirname(__FILE__) + '/lib/ruby/file_extensions'
8
+ require File.dirname(__FILE__) + '/lib/ruby/java/classpath'
9
+ require File.dirname(__FILE__) + '/lib/ruby/java/vm'
10
+ require File.dirname(__FILE__) + '/lib/ruby/s_grid/hub'
11
+ require File.dirname(__FILE__) + '/lib/ruby/s_grid/remote_control'
12
+
13
+ desc "Print help"
14
+ task :help do
15
+ puts <<-EOS
16
+
17
+ Rake tasks to manage a Selenium Grid on a *single* machine.
18
+
19
+ NOTE: To manage a Grid accross *multiple* machines use the
20
+ Capistrano recipes provided with Selenium Grid distribution
21
+
22
+
23
+ Start the Hub and 15 Remote Controls
24
+ ------------------------------------
25
+
26
+ rake all:start
27
+
28
+ Stop the Hub and 15 Remote Controls
29
+ -----------------------------------
30
+
31
+ rake all:stop
32
+
33
+ Restart the Hub and 15 Remote Controls
34
+ --------------------------------------
35
+
36
+ rake all:restart
37
+
38
+ Start the Hub with only 10 Remote Controls, ports 5000 to 5010
39
+ --------------------------------------------------------------
40
+
41
+ rake all:restart PORTS=5000-5010
42
+
43
+ Stop them with
44
+
45
+ rake all:stop PORTS=5000-5010
46
+
47
+ Start 5 Remote Controls with the Hub, ports 6500 to 6505
48
+ --------------------------------------------------------
49
+
50
+ rake rc:start_all PORTS=6500-6505
51
+
52
+ Start a single Remote Control on port 6666
53
+ -------------------------------------------
54
+
55
+ rake rc:start PORT=6666
56
+
57
+
58
+ EOS
59
+ end
60
+
61
+ desc "Restart all services (Hub a Remote Controls"
62
+ task :'all:restart' do
63
+ Rake::Task[:'all:stop'].execute([]) rescue nil
64
+ Rake::Task[:'all:start'].execute []
65
+ end
66
+
67
+ desc "Launch all services (Hub a Remote Controls"
68
+ task :'all:start' do
69
+ ENV['BACKGROUND'] = "true"
70
+ Rake::Task[:'hub:start'].execute []
71
+ puts "Waiting for Hub to come up..."
72
+ hub.wait_until_up_and_running
73
+ Rake::Task[:'rc:start_all'].execute []
74
+ end
75
+
76
+ desc "Stop all services (Hub a Remote Controls"
77
+ task :'all:stop' do
78
+ puts "Stopping all Selenium Grid servers..."
79
+ Rake::Task[:'rc:stop_all'].execute []
80
+ Rake::Task[:'hub:stop'].execute [] rescue nil
81
+ end
82
+
83
+ desc "Launch Hub"
84
+ task :'hub:start' do
85
+ SGrid::Hub.new.start \
86
+ :background => ("true" == ENV['BACKGROUND']),
87
+ :log_file => File.native_path(File.dirname(__FILE__) + "/log/hub.log")
88
+ end
89
+
90
+ desc "Stop Hub"
91
+ task :'hub:stop' do
92
+ puts "Shutting down Selenium Grid hub..."
93
+ hub.shutdown rescue EOFError
94
+ end
95
+
96
+ desc "Launch Remote Control"
97
+ task :'rc:start' do
98
+ port = ENV['PORT'] || 5555
99
+ remote_control(:port => port).start \
100
+ :background => ENV['BACKGROUND'],
101
+ :log_file => File.join(File.dirname(__FILE__), "log", "rc-#{port}.log")
102
+ end
103
+
104
+ desc "Stop Remote Control"
105
+ task :'rc:stop' do
106
+ remote_control.stop rescue EOFError
107
+ end
108
+
109
+ desc "Launch Remote Control"
110
+ task :'rc:start_all' do
111
+ ports = ENV['PORTS'] || "5000-5015"
112
+ port_range = Range.new(*ports.split("-"))
113
+ port_range.each do |port|
114
+ remote_control(:port => port, :background => true).start \
115
+ :background => true,
116
+ :log_file => File.join(File.dirname(__FILE__), "log", "rc-#{port}.log")
117
+ end
118
+ end
119
+
120
+ desc"Stop Remote Controls. Usage rake rc:stop PORTS=5555-5560"
121
+ task :'rc:stop_all' do
122
+ ports = ENV['PORTS'] || "5000-5015"
123
+ port_range = Range.new(*ports.split("-"))
124
+ port_range.each do |port|
125
+ begin
126
+ puts "Stopping Remote Control on port #{port}"
127
+ rc = SGrid::RemoteControl.new :host => ENV['HOST'] || "localhost",
128
+ :port => port
129
+ rc.shutdown
130
+ rescue Exception => e
131
+ STDERR.puts "Could not properly shutdown remote control #{port} : #{e}"
132
+ end
133
+ end
134
+ end
135
+
136
+ desc "Launch a Xvnc server"
137
+ task :'xvnc:start' do
138
+ sh "Xvnc :1 -alwaysshared -geometry 1280x1024 -depth 24 -desktop 'Selenium Grid' 2>&1 >#{File.join(File.dirname(__FILE__), "log", "X.log")} &"
139
+ end
140
+
141
+ desc "Fully Automated Demo (for continuous integration)"
142
+ task :'ci:demo' do
143
+ begin
144
+ Rake::Task["all:restart"].execute []
145
+ sh "ant run-demo-in-parallel" unless running_on_openqa_servers
146
+ sh "ant run-demo-in-sequence"
147
+ ensure
148
+ Rake::Task["all:stop"].execute []
149
+ end
150
+ end
151
+
152
+ desc "Fully Automated Ruby Example (for continuous integration)"
153
+ task :'ci:ruby-example' do
154
+ begin
155
+ Rake::Task["all:restart"].execute []
156
+ sh "(cd examples/ruby; rake tests:run_in_parallel)" unless running_on_openqa_servers
157
+ sh "(cd examples/ruby; rake tests:run_in_sequence)"
158
+ ensure
159
+ Rake::Task["all:stop"].execute []
160
+ end
161
+ end
162
+
163
+ def config
164
+ @config ||= YAML.load(File.read(File.dirname(__FILE__) + "/grid_configuration.yml"))
165
+ end
166
+
167
+ def hub_port
168
+ (ENV["HUB_PORT"] || config["hub"]["port"]).to_i
169
+ end
170
+
171
+ def hub
172
+ SGrid::Hub.new :port => hub_port
173
+ end
174
+
175
+ def remote_control(options={})
176
+ SGrid::RemoteControl.new(
177
+ :host => ENV['HOST'] || "localhost",
178
+ :port => (options[:port] || ENV['PORT'] || 5555),
179
+ :hub_url => (ENV['HUB_URL'] || "http://localhost:#{hub_port}"),
180
+ :shutdown_command => ENV['RC_SHUTDOWN_COMMAND'])
181
+ end
182
+
183
+ # Network is slow as hell on these VMs
184
+ def running_on_openqa_servers
185
+ begin
186
+ not `hostname -s`.grep(/(xserve|osxvm)/).empty?
187
+ rescue Exception
188
+ false
189
+ end
190
+ end
@@ -0,0 +1,182 @@
1
+ <project name="Selenium Grid Distribution" basedir=".">
2
+
3
+ <description>Selenium Grid Distribution</description>
4
+ <property file="${basedir}/project.properties"/>
5
+ <property name="version" value="SNAPSHOT"/>
6
+
7
+ <property name="webSite" value="http://images.google.com" />
8
+ <property name="seleniumHost" value="localhost" />
9
+ <property name="seleniumPort" value="4444" />
10
+ <property name="browser" value="*firefox" />
11
+
12
+ <taskdef resource="testngtasks" classpath="${basedir}/vendor/testng-5.7-jdk15.jar"/>
13
+
14
+ <path id="remote-control.classpath">
15
+ <fileset dir="${basedir}/vendor">
16
+ <include name="selenium-server-*.jar"/>
17
+ </fileset>
18
+ <!-- Selenium Server must be first in classpath -->
19
+ <fileset dir="${basedir}/lib">
20
+ <include name="selenium-grid-remote-control-standalone-${version}*.jar"/>
21
+ </fileset>
22
+ <pathelement path="${java.class.path}/"/>
23
+ </path>
24
+
25
+ <path id="hub.classpath">
26
+ <pathelement path="${basedir}/"/>
27
+ <fileset dir="${basedir}/lib">
28
+ <include name="selenium-grid-hub-standalone-${version}*.jar"/>
29
+ </fileset>
30
+ <pathelement path="${java.class.path}/"/>
31
+ </path>
32
+
33
+ <path id="demo.classpath">
34
+ <fileset dir="${basedir}/lib">
35
+ <include name="selenium-grid-demo-standalone-${version}*.jar"/>
36
+ </fileset>
37
+ <fileset dir="${basedir}/vendor">
38
+ <include name="testng-*.jar"/>
39
+ <include name="commons-logging-*.jar"/>
40
+ </fileset>
41
+ <pathelement path="${java.class.path}/"/>
42
+ </path>
43
+
44
+ <target name="sanity-check" description="Check that the tools are been installed and configured properly">
45
+ <property environment="env"/>
46
+ <echo>${ant.version}</echo>
47
+ <condition property="ant-7">
48
+ <antversion atleast="1.7.0"/>
49
+ </condition>
50
+ <fail message="You need Ant 1.7 or newer" unless="ant-7"/>
51
+
52
+ <echo>Java ${ant.java.version}</echo>
53
+ <condition property="java-5">
54
+ <not><matches pattern="^1\.[0-4]" string="${ant.java.version}"/></not>
55
+ </condition>
56
+ <fail message="Your must use Java 1.5 or newer. You are currrenltly using '${ant.java.version}'." unless="java-5"/>
57
+
58
+ <echo/>
59
+ <echo>********************************************************************</echo>
60
+ <echo>Congratulations, your setup looks good. Have fun with Selenium Grid!</echo>
61
+ <echo>********************************************************************</echo>
62
+ <echo/>
63
+ <echo>You can launch a hub by running 'ant launch-hub'</echo>
64
+ <echo>You can launch a a remote control with 'ant -Dport=4444 launch-remote-control'</echo>
65
+ </target>
66
+
67
+ <target name="launch-hub" description="Launch Selenium Hub">
68
+ <java classname="com.thoughtworks.selenium.grid.hub.HubServer"
69
+ classpathref="hub.classpath"
70
+ fork="true"
71
+ failonerror="true" >
72
+
73
+ <sysproperty key="http.proxyHost" value="${http.proxyHost}"/>
74
+ <sysproperty key="http.proxyPort" value="${http.proxyPort}"/>
75
+ <sysproperty key="https.proxyHost" value="${https.proxyHost}"/>
76
+ <sysproperty key="https.proxyPort" value="${https.proxyPort}"/>
77
+ </java>
78
+ </target>
79
+
80
+ <property name="host" value="localhost"/>
81
+ <property name="port" value="5555"/>
82
+ <property name="hubURL" value="http://localhost:4444"/>
83
+ <property name="environment" value="*firefox"/>
84
+ <property name="seleniumArgs" value=""/>
85
+ <target name="launch-remote-control" description="Launch A Remote Control">
86
+ <java classpathref="remote-control.classpath"
87
+ classname="com.thoughtworks.selenium.grid.remotecontrol.SelfRegisteringRemoteControlLauncher"
88
+ fork="true"
89
+ failonerror="true">
90
+
91
+ <sysproperty key="http.proxyHost" value="${http.proxyHost}"/>
92
+ <sysproperty key="http.proxyPort" value="${http.proxyPort}"/>
93
+ <sysproperty key="https.proxyHost" value="${https.proxyHost}"/>
94
+ <sysproperty key="https.proxyPort" value="${https.proxyPort}"/>
95
+
96
+ <arg value="-port"/>
97
+ <arg value="${port}"/>
98
+ <arg value="-host"/>
99
+ <arg value="${host}"/>
100
+ <arg value="-hubURL"/>
101
+ <arg value="${hubURL}"/>
102
+ <arg value="-env"/>
103
+ <arg value="${environment}"/>
104
+ <arg line="${seleniumArgs}"/>
105
+ </java>
106
+ </target>
107
+
108
+ <target name="run-demo-in-sequence" description="Run Selenium tests one by one">
109
+ <java classpathref="demo.classpath"
110
+ classname="org.testng.TestNG"
111
+ failonerror="true"
112
+
113
+ >
114
+ <sysproperty key="java.security.policy" file="${basedir}/lib/testng.policy"/>
115
+ <sysproperty key="webSite" value="${webSite}" />
116
+ <sysproperty key="seleniumHost" value="${seleniumHost}" />
117
+ <sysproperty key="seleniumPort" value="${seleniumPort}" />
118
+ <sysproperty key="browser" value="${browser}" />
119
+
120
+ <arg value="-suitename" />
121
+ <arg value="Selenium Grid Demo In Sequence" />
122
+ <arg value="-d" />
123
+ <arg value="${basedir}/target/reports" />
124
+ <arg value="-testclass"/>
125
+ <arg value="com.thoughtworks.selenium.grid.demo.WebTestForASingleBrowser"/>
126
+ </java>
127
+ </target>
128
+
129
+ <target name="run-demo-in-parallel" description="Run Selenium tests in parallel">
130
+ <java classpathref="demo.classpath"
131
+ classname="org.testng.TestNG"
132
+ failonerror="true"
133
+
134
+ >
135
+ <sysproperty key="java.security.policy" file="${basedir}/lib/testng.policy"/>
136
+ <sysproperty key="webSite" value="${webSite}" />
137
+ <sysproperty key="seleniumHost" value="${seleniumHost}" />
138
+ <sysproperty key="seleniumPort" value="${seleniumPort}" />
139
+ <sysproperty key="browser" value="${browser}" />
140
+
141
+ <arg value="-d" />
142
+ <arg value="${basedir}/target/reports" />
143
+ <arg value="-suitename" />
144
+ <arg value="Selenium Grid Demo In Parallel" />
145
+ <arg value="-parallel"/>
146
+ <arg value="methods"/>
147
+ <arg value="-threadcount"/>
148
+ <arg value="10"/>
149
+ <arg value="-testclass"/>
150
+ <arg value="com.thoughtworks.selenium.grid.demo.WebTestForASingleBrowser"/>
151
+ </java>
152
+ </target>
153
+
154
+ <target name="run-demo-for-multiple-environments"
155
+ description="Run Selenium tests in parallel for multiple environments">
156
+ <java classpathref="demo.classpath"
157
+ classname="org.testng.TestNG"
158
+ failonerror="true"
159
+
160
+ >
161
+ <sysproperty key="java.security.policy" file="${basedir}/lib/testng.policy"/>
162
+ <sysproperty key="webSite" value="${webSite}" />
163
+ <sysproperty key="seleniumHost" value="${seleniumHost}" />
164
+ <sysproperty key="seleniumPort" value="${seleniumPort}" />
165
+ <sysproperty key="firstEnvironment" value="Firefox on Windows" />
166
+ <sysproperty key="secondEnvironment" value="Firefox on Windows" />
167
+ <sysproperty key="thirdEnvironment" value="Firefox on OS X" />
168
+
169
+ <arg value="-d" />
170
+ <arg value="${basedir}/target/reports" />
171
+ <arg value="-suitename" />
172
+ <arg value="Selenium Grid Demo In Parallel For Multiple Environments" />
173
+ <arg value="-parallel"/>
174
+ <arg value="methods"/>
175
+ <arg value="-threadcount"/>
176
+ <arg value="10"/>
177
+ <arg value="-testclass"/>
178
+ <arg value="com.thoughtworks.selenium.grid.demo.WebTestInvolvingMultiEnvironments"/>
179
+ </java>
180
+ </target>
181
+
182
+ </project>