selenium-rspec-dsl 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/common/shared/common.rb +167 -0
- data/config/aggregate_reports.rb +124 -0
- data/config/array_extension.rb +13 -0
- data/config/multi_process_behaviour_runner.rb +50 -0
- data/config/selenium-setup.rb +32 -0
- data/config/site_config.rb +8 -0
- data/sites/button.rb +31 -0
- data/sites/buttonAjax.rb +14 -0
- data/sites/buttonJQuery.rb +26 -0
- data/sites/buttonMultiWindow.rb +99 -0
- data/sites/buttonNonLoad.rb +11 -0
- data/sites/checkbox.rb +22 -0
- data/sites/checkboxExtjs.rb +10 -0
- data/sites/checkboxGwt.rb +24 -0
- data/sites/dropdown.rb +28 -0
- data/sites/dropdownAjax.rb +40 -0
- data/sites/dropdownExtjs.rb +32 -0
- data/sites/dropdownJQuery.rb +40 -0
- data/sites/dropdownLoad.rb +25 -0
- data/sites/element.rb +172 -0
- data/sites/form.rb +7 -0
- data/sites/image.rb +7 -0
- data/sites/label.rb +32 -0
- data/sites/link.rb +32 -0
- data/sites/linkMultiWindow.rb +160 -0
- data/sites/linkNonLoad.rb +11 -0
- data/sites/listbox.rb +16 -0
- data/sites/page.rb +16 -0
- data/sites/panel.rb +7 -0
- data/sites/radiobutton.rb +10 -0
- data/sites/tabPanel.rb +7 -0
- data/sites/table.rb +48 -0
- data/sites/tableExtjs.rb +42 -0
- data/sites/test/googleResults_screen.rb +15 -0
- data/sites/test/googleSearch_screen.rb +27 -0
- data/sites/textbox.rb +16 -0
- data/sites/tree.rb +7 -0
- data/sites/treeGwt.rb +32 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +40 -0
- data/spec/test/testPass_spec.rb +36 -0
- data/spec/test/testPending_spec.rb +13 -0
- data/vendor/selenium-client-1.2.17/README.markdown +328 -0
- data/vendor/selenium-client-1.2.17/examples/rspec/google_spec.rb +41 -0
- data/vendor/selenium-client-1.2.17/examples/script/google.rb +25 -0
- data/vendor/selenium-client-1.2.17/examples/testunit/google_test.rb +39 -0
- data/vendor/selenium-client-1.2.17/lib/nautilus/shell.rb +32 -0
- data/vendor/selenium-client-1.2.17/lib/selenium.rb +14 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client.rb +27 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/base.rb +118 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/driver.rb +11 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/extensions.rb +118 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/generated_driver.rb +1711 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/idiomatic.rb +488 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_expression_builder.rb +116 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_frameworks/jquery.rb +13 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/javascript_frameworks/prototype.rb +13 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/protocol.rb +96 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/client/selenium_helper.rb +34 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/command_error.rb +4 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/protocol_error.rb +4 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rake/default_tasks.rb +16 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rake/remote_control_start_task.rb +70 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rake/remote_control_stop_task.rb +44 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rake/tasks.rb +6 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/remote_control/remote_control.rb +33 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/file_path_strategy.rb +78 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/html_report.rb +123 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/selenium_test_report_formatter.rb +87 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rspec/reporting/system_capture.rb +72 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rspec/rspec_extensions.rb +96 -0
- data/vendor/selenium-client-1.2.17/lib/selenium/rspec/spec_helper.rb +35 -0
- data/vendor/selenium-client-1.2.17/lib/tcp_socket_extension.rb +32 -0
- data/vendor/selenium-client-1.2.17/test/all_unit_tests.rb +3 -0
- data/vendor/selenium-grid-1.0.4/Capfile +107 -0
- data/vendor/selenium-grid-1.0.4/README +10 -0
- data/vendor/selenium-grid-1.0.4/Rakefile +190 -0
- data/vendor/selenium-grid-1.0.4/build.xml +182 -0
- data/vendor/selenium-grid-1.0.4/doc/resources/Multiple Environments Demo Setup.svg +518 -0
- data/vendor/selenium-grid-1.0.4/doc/resources/Multiple Machine Demo Setup.svg +371 -0
- data/vendor/selenium-grid-1.0.4/doc/resources/Rakefile +18 -0
- data/vendor/selenium-grid-1.0.4/doc/resources/Requesting a Specific Environment.svg +576 -0
- data/vendor/selenium-grid-1.0.4/doc/resources/Selenium Grid Setup.svg +539 -0
- data/vendor/selenium-grid-1.0.4/doc/resources/Selenium Grid.css +68 -0
- data/vendor/selenium-grid-1.0.4/doc/resources/Traditional Selenium Setup.svg +295 -0
- data/vendor/selenium-grid-1.0.4/doc/website/Rakefile +37 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Environment Demo Setup - Small.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Environment Demo Setup.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Machine Demo Setup - Small.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Multiple Machine Demo Setup.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Requesting a Specific Environment - Small.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Requesting a Specific Environment.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Logo.graffle +1015 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Setup - Small.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Selenium Grid Setup.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Traditional Selenium Setup - Small.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/diagrams/Traditional Selenium Setup.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/faq.markdown +686 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/ant_version_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/ant_version_win_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/background_better.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/background_feedback.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/background_participate.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/background_start_tracks.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/background_started.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/check_path_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/check_path_win_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/dot_profile_editing_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/dot_profile_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-install.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-profile-update.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-verify.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-ant-version.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-java-version.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-navigate-path.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-selenium-install.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/linux/linux-selenium-sanity-check.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install/win/selenium-check.bmp +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/install_ant_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/installing_grid_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/java_version_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/java_version_win_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/sanity_check_osx_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/sanity_check_win_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-huge-white.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-huge.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-large.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo-small.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/selenium-grid-logo.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/selenium_grid_logo_large.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/images/update_path_win_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/doc/website/javascripts/shadedborder.js +267 -0
- data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/document.css +82 -0
- data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/faq.css +97 -0
- data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/home.css +133 -0
- data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/openqa.css +72 -0
- data/vendor/selenium-grid-1.0.4/doc/website/stylesheets/site.css +74 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/Capfile +276 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/etc/background.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/etc/background.svg +163 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/cloud.rb +35 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/ec2.rb +7 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/ec2_client.rb +54 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/hub.rb +22 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/remote_command.rb +47 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/lib/selenium_grid/aws/server.rb +56 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/all_test.rb +2 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/cloud_test.rb +27 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/ec2_client_test.rb +137 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/hub_test.rb +24 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/remote_command_test.rb +46 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/server_test.rb +22 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/test/unit/test_helper.rb +4 -0
- data/vendor/selenium-grid-1.0.4/examples/ec2/vnc_password +1 -0
- data/vendor/selenium-grid-1.0.4/examples/java/Java Example.iml +18 -0
- data/vendor/selenium-grid-1.0.4/examples/java/build.xml +90 -0
- data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/GoogleImageTestBase.java +46 -0
- data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/ParisTest.java +50 -0
- data/vendor/selenium-grid-1.0.4/examples/java/src/com/thoughtworks/selenium/grid/examples/java/PerigordTest.java +42 -0
- data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/GoogleImageTestBase.class +0 -0
- data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/ParisTest.class +0 -0
- data/vendor/selenium-grid-1.0.4/examples/java/target/classes/com/thoughtworks/selenium/grid/examples/java/PerigordTest.class +0 -0
- data/vendor/selenium-grid-1.0.4/examples/java/testng-slow.xml +9 -0
- data/vendor/selenium-grid-1.0.4/examples/java/testng.xml +9 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/README +66 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/Rakefile +101 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/Ruby Example.iml +17 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/flickr_example.rb +16 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/lib/array_extension.rb +13 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/lib/multi_process_behaviour_runner.rb +28 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/paris_spec.rb +34 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/perigord_spec.rb +22 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/spec_helper.rb +59 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_04b8969da99c51289f692b41abbf271b_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_04b8969da99c51289f692b41abbf271b_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_280fd974268e3aecb89fbfbee25b5322_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_280fd974268e3aecb89fbfbee25b5322_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_8808fb9026e023f809d50ddc9cf00cd3_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_8808fb9026e023f809d50ddc9cf00cd3_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_94b209474d36add5ba908f308c63aa15_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_94b209474d36add5ba908f308c63aa15_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_a18dd8ce90cb4681d55b2148326ff085_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_a18dd8ce90cb4681d55b2148326ff085_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_b877a400a718a915c95038427389e0d9_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_b877a400a718a915c95038427389e0d9_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c1c6e8109e89867b52f6e123b8847b85_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c1c6e8109e89867b52f6e123b8847b85_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c9e7156818e496f6abb983a9a1725295_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_c9e7156818e496f6abb983a9a1725295_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_d6b2848186a7e4a73e19692c0fab2ae5_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_d6b2848186a7e4a73e19692c0fab2ae5_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_e30337afe445f0b6ebd29ecfaf4cd9f0_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_e30337afe445f0b6ebd29ecfaf4cd9f0_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_edc2da92cbf119e95eae988bb6f80792_page_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/examples/ruby/tmp/resources/test_report/example_edc2da92cbf119e95eae988bb6f80792_system_screenshot.png +0 -0
- data/vendor/selenium-grid-1.0.4/grid_configuration.yml +46 -0
- data/vendor/selenium-grid-1.0.4/lib/build/common-build.xml +228 -0
- data/vendor/selenium-grid-1.0.4/lib/ruby/file_extensions.rb +9 -0
- data/vendor/selenium-grid-1.0.4/lib/ruby/java/classpath.rb +28 -0
- data/vendor/selenium-grid-1.0.4/lib/ruby/java/vm.rb +31 -0
- data/vendor/selenium-grid-1.0.4/lib/ruby/s_grid/hub.rb +29 -0
- data/vendor/selenium-grid-1.0.4/lib/ruby/s_grid/remote_control.rb +40 -0
- data/vendor/selenium-grid-1.0.4/lib/ruby/tcp_socket_extensions.rb +23 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-demo-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-demo-standalone-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-hub-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-hub-standalone-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-remote-control-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-remote-control-standalone-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-tools-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/selenium-grid-tools-standalone-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/lib/testng.policy +11 -0
- data/vendor/selenium-grid-1.0.4/log/test.txt +1 -0
- data/vendor/selenium-grid-1.0.4/project.properties +4 -0
- data/vendor/selenium-grid-1.0.4/sample-scripts/kill-rcs.sh +3 -0
- data/vendor/selenium-grid-1.0.4/sample-scripts/launch-rc.sh +4 -0
- data/vendor/selenium-grid-1.0.4/sample-scripts/launch-rcs.sh +5 -0
- data/vendor/selenium-grid-1.0.4/sample-scripts/launch-remote-controls.rb +20 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/Command line test.html +218 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/classes.html +44 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/groups.html +5 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/index.html +6 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/main.html +2 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods-alphabetical.html +12 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods-not-run.html +2 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/methods.html +12 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/reporter-output.html +1 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/testng.xml.html +1 -0
- data/vendor/selenium-grid-1.0.4/target/reports/Selenium Grid Demo In Parallel/toc.html +30 -0
- data/vendor/selenium-grid-1.0.4/target/reports/emailable-report.html +117 -0
- data/vendor/selenium-grid-1.0.4/target/reports/index.html +9 -0
- data/vendor/selenium-grid-1.0.4/vendor/commons-logging-1.0.4.jar +0 -0
- data/vendor/selenium-grid-1.0.4/vendor/selenium-java-client-driver-1.0.1.jar +0 -0
- data/vendor/selenium-grid-1.0.4/vendor/selenium-server-1.0.3.jar +0 -0
- data/vendor/selenium-grid-1.0.4/vendor/testng-5.7-jdk15.jar +0 -0
- 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,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,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>
|