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,26 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
class Button_JQuery < Element
|
4
|
+
# Clicks on object
|
5
|
+
def click
|
6
|
+
@selenium.click(@locator)
|
7
|
+
begin
|
8
|
+
@selenium.wait_for_condition('selenium.browserbot.getCurrentWindow().jQuery.active == 0', 10000)
|
9
|
+
rescue => e
|
10
|
+
#continue
|
11
|
+
sleep(4)
|
12
|
+
end
|
13
|
+
sleep(5)
|
14
|
+
end
|
15
|
+
|
16
|
+
def doubleClick
|
17
|
+
@selenium.double_click(@locator)
|
18
|
+
begin
|
19
|
+
@selenium.wait_for_condition('selenium.browserbot.getCurrentWindow().jQuery.active == 0', 10000)
|
20
|
+
rescue => e
|
21
|
+
#continue
|
22
|
+
sleep(4)
|
23
|
+
end
|
24
|
+
sleep(5)
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
# Button object used when multiple window or popups occur after clicking.
|
4
|
+
# Subclass of Element.
|
5
|
+
class ButtonMultiWindow < Element
|
6
|
+
# Clicks on object, waits for expectedWindows count and then selects new window.
|
7
|
+
def click(expectedWindows=1)
|
8
|
+
|
9
|
+
if expectedWindows == 1
|
10
|
+
@selenium.click(@locator)
|
11
|
+
@selenium.select_window "null"
|
12
|
+
sleep(3)
|
13
|
+
@selenium.wait_for_condition("selenium.browserbot.getCurrentWindow()", TIMEOUT)
|
14
|
+
|
15
|
+
else
|
16
|
+
begin
|
17
|
+
id = @selenium.get_attribute("#{@locator}@id")
|
18
|
+
url = @selenium.get_eval("window.document.getElementById('#{id}').href")
|
19
|
+
rescue => e
|
20
|
+
url = "null"
|
21
|
+
end
|
22
|
+
if url == "null"
|
23
|
+
windows = @selenium.get_all_window_ids()
|
24
|
+
@selenium.click(@locator)
|
25
|
+
|
26
|
+
for wait in 1..20 do
|
27
|
+
windows = @selenium.get_all_window_ids()
|
28
|
+
if expectedWindows != windows.length
|
29
|
+
sleep(0.5)
|
30
|
+
else
|
31
|
+
sleep(5)
|
32
|
+
break
|
33
|
+
end
|
34
|
+
end
|
35
|
+
if expectedWindows < windows.length
|
36
|
+
begin
|
37
|
+
window_names = @selenium.get_all_window_names()
|
38
|
+
if window_names[expectedWindows] == "null"
|
39
|
+
@selenium.select_window("name=#{window_names[1]}")
|
40
|
+
else
|
41
|
+
@selenium.select_window("name=#{window_names[expectedWindows]}")
|
42
|
+
end
|
43
|
+
rescue => e
|
44
|
+
sleep(0.5)
|
45
|
+
# if exception continue
|
46
|
+
end
|
47
|
+
else
|
48
|
+
done = false
|
49
|
+
for wait in 1..15 do
|
50
|
+
begin
|
51
|
+
if @selenium.is_confirmation_present == true
|
52
|
+
@selenium.choose_ok_on_next_confirmation
|
53
|
+
@selenium.get_confirmation
|
54
|
+
end
|
55
|
+
window_names = @selenium.get_all_window_names()
|
56
|
+
#puts "Window Names: #{window_names}"
|
57
|
+
currentWindow = @selenium.get_eval("selenium.browserbot.getCurrentWindow().name")
|
58
|
+
#puts "Current Window1: " + currentWindow
|
59
|
+
if currentWindow != window_names[1]
|
60
|
+
if window_names[1] == "null"
|
61
|
+
#continue
|
62
|
+
else
|
63
|
+
@selenium.select_window("name=#{window_names[1]}")
|
64
|
+
done = true
|
65
|
+
break
|
66
|
+
end
|
67
|
+
else
|
68
|
+
if window_names[expectedWindows-1] == "null"
|
69
|
+
#continue
|
70
|
+
else
|
71
|
+
@selenium.select_window("name=#{window_names[expectedWindows-1]}")
|
72
|
+
done = true
|
73
|
+
break
|
74
|
+
end
|
75
|
+
end
|
76
|
+
rescue => e
|
77
|
+
sleep(0.5)
|
78
|
+
# if exception continue
|
79
|
+
end
|
80
|
+
end
|
81
|
+
if done == false
|
82
|
+
if @selenium.is_confirmation_present == true
|
83
|
+
@selenium.choose_ok_on_next_confirmation
|
84
|
+
@selenium.get_confirmation
|
85
|
+
end
|
86
|
+
#puts "Window1: #{window_names[window_names.length-1]}"
|
87
|
+
@selenium.select_window("name=#{window_names[window_names.length-1]}")
|
88
|
+
end
|
89
|
+
end
|
90
|
+
else
|
91
|
+
@selenium.open_window(url,"newWindow" + (expectedWindows-1).to_s)
|
92
|
+
sleep(2)
|
93
|
+
@selenium.select_window("newWindow" + (expectedWindows-1).to_s)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
|
data/sites/checkbox.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
# Basic Checkbox object.
|
4
|
+
# Subclass of Element.
|
5
|
+
class Checkbox < Element
|
6
|
+
# Verifies if value of checkbox is checked or uncheck, then procedes to check/
|
7
|
+
# uncheck object, like user clicks on checkbox.
|
8
|
+
def click
|
9
|
+
boxChecked = self.value
|
10
|
+
if boxChecked
|
11
|
+
@selenium.uncheck(@locator)
|
12
|
+
else
|
13
|
+
@selenium.check(@locator)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# returns current value of object.
|
18
|
+
def value
|
19
|
+
return @selenium.is_checked(@locator)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
# Basic Checkbox object.
|
4
|
+
# Subclass of Element.
|
5
|
+
class Checkbox_GWT < Element
|
6
|
+
# Verifies if value of checkbox is checked or uncheck, then procedes to check/
|
7
|
+
# uncheck object, like user clicks on checkbox.
|
8
|
+
def click
|
9
|
+
@selenium.click(@locator)
|
10
|
+
begin
|
11
|
+
@selenium.wait_for_condition('selenium.browserbot.getCurrentWindow().jQuery.active == 0', 10000)
|
12
|
+
rescue => e
|
13
|
+
#continue
|
14
|
+
sleep(4)
|
15
|
+
end
|
16
|
+
sleep(3)
|
17
|
+
end
|
18
|
+
|
19
|
+
# returns current value of object.
|
20
|
+
def value
|
21
|
+
return @selenium.is_checked(@locator)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
data/sites/dropdown.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
# Basic Dropdown object.
|
4
|
+
# Subclass of Element.
|
5
|
+
class Dropdown < Element
|
6
|
+
# Selects provided text value in object; based on option label
|
7
|
+
def select(text)
|
8
|
+
@selenium.select(@locator,"label=#{text}")
|
9
|
+
end
|
10
|
+
|
11
|
+
# Selects provided text value in object; based on option index
|
12
|
+
def selectIndex(text)
|
13
|
+
@selenium.select(@locator,"index=#{text}")
|
14
|
+
end
|
15
|
+
|
16
|
+
# Selects provided text value in object; based on option value
|
17
|
+
def selectValue(text)
|
18
|
+
@selenium.select(@locator,"value=#{text}")
|
19
|
+
end
|
20
|
+
|
21
|
+
def selectedText
|
22
|
+
return @selenium.get_selected_label(@locator)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
class DropdownAJax < Element
|
4
|
+
|
5
|
+
def select(text)
|
6
|
+
@selenium.select(@locator,"label=#{text}")
|
7
|
+
begin
|
8
|
+
@selenium.wait_for_ajax
|
9
|
+
rescue => e
|
10
|
+
#continue
|
11
|
+
end
|
12
|
+
sleep(4)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Selects provided text value in object; based on option index
|
16
|
+
def selectIndex(text)
|
17
|
+
@selenium.select(@locator,"index=#{text}")
|
18
|
+
begin
|
19
|
+
@selenium.wait_for_ajax
|
20
|
+
rescue => e
|
21
|
+
#continue
|
22
|
+
end
|
23
|
+
sleep(4)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Selects provided text value in object; based on option value
|
27
|
+
def selectValue(text)
|
28
|
+
@selenium.select(@locator,"value=#{text}")
|
29
|
+
begin
|
30
|
+
@selenium.wait_for_ajax
|
31
|
+
rescue => e
|
32
|
+
#continue
|
33
|
+
end
|
34
|
+
sleep(4)
|
35
|
+
end
|
36
|
+
|
37
|
+
def selectedText
|
38
|
+
return @selenium.get_selected_label(@locator)
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
class Dropdown_Extjs < Element
|
4
|
+
def click
|
5
|
+
if /parentNode.id/.match(@locator) != nil
|
6
|
+
@locator = @locator.gsub('parentNode.id','childNodes[1].id')
|
7
|
+
@object_id = @selenium.get_eval(@locator)
|
8
|
+
@selenium.click(@object_id)
|
9
|
+
else
|
10
|
+
@selenium.click(@locator)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def select(text)
|
15
|
+
self.click
|
16
|
+
|
17
|
+
for wait in 1..60 do
|
18
|
+
begin
|
19
|
+
@selenium.click("//div[contains(@class, 'x-combo-list')]/descendant::div[contains(@class, 'x-combo-list-item')][text()='"+text+"']")
|
20
|
+
break
|
21
|
+
rescue => e
|
22
|
+
sleep(0.5)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def type(text)
|
28
|
+
self.click
|
29
|
+
@selenium.type(@locator, text)
|
30
|
+
@selenium.key_press(@locator, "\\9")
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
class Dropdown_JQuery < Element
|
4
|
+
|
5
|
+
def select(text)
|
6
|
+
@selenium.select(@locator,"label=#{text}")
|
7
|
+
begin
|
8
|
+
@selenium.wait_for_condition('selenium.browserbot.getCurrentWindow().jQuery.active == 0', 10000)
|
9
|
+
rescue => e
|
10
|
+
#continue
|
11
|
+
end
|
12
|
+
sleep(4)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Selects provided text value in object; based on option index
|
16
|
+
def selectIndex(text)
|
17
|
+
@selenium.select(@locator,"index=#{text}")
|
18
|
+
begin
|
19
|
+
@selenium.wait_for_condition('selenium.browserbot.getCurrentWindow().jQuery.active == 0', 10000)
|
20
|
+
rescue => e
|
21
|
+
#continue
|
22
|
+
end
|
23
|
+
sleep(4)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Selects provided text value in object; based on option value
|
27
|
+
def selectValue(text)
|
28
|
+
@selenium.select(@locator,"value=#{text}")
|
29
|
+
begin
|
30
|
+
@selenium.wait_for_condition('selenium.browserbot.getCurrentWindow().jQuery.active == 0', 10000)
|
31
|
+
rescue => e
|
32
|
+
#continue
|
33
|
+
end
|
34
|
+
sleep(4)
|
35
|
+
end
|
36
|
+
|
37
|
+
def selectedText
|
38
|
+
return @selenium.get_selected_label(@locator)
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
class DropdownLoad < Element
|
4
|
+
# Selects provided text value in object
|
5
|
+
def select(text)
|
6
|
+
@selenium.select(@locator,"label=#{text}")
|
7
|
+
@selenium.wait_for_page_to_load
|
8
|
+
end
|
9
|
+
|
10
|
+
# Selects provided text value in object; based on option index
|
11
|
+
def selectIndex(text)
|
12
|
+
@selenium.select(@locator,"index=#{text}")
|
13
|
+
@selenium.wait_for_page_to_load
|
14
|
+
end
|
15
|
+
|
16
|
+
# Selects provided text value in object; based on option value
|
17
|
+
def selectValue(text)
|
18
|
+
@selenium.select(@locator,"value=#{text}")
|
19
|
+
@selenium.wait_for_page_to_load
|
20
|
+
end
|
21
|
+
|
22
|
+
def selectedText
|
23
|
+
return @selenium.get_selected_label(@locator)
|
24
|
+
end
|
25
|
+
end
|
data/sites/element.rb
ADDED
@@ -0,0 +1,172 @@
|
|
1
|
+
# Parent Class of all objects
|
2
|
+
class Element
|
3
|
+
# When initialized, waits for object to become present before proceding,
|
4
|
+
# if object does appear before wait time, test will fail.
|
5
|
+
def initialize(selenium, locator, parent_id=nil)
|
6
|
+
if @@TEST_FAILURE === true
|
7
|
+
fail "Step failed, due to previous step failing!"
|
8
|
+
end
|
9
|
+
|
10
|
+
object_id = nil
|
11
|
+
found = false
|
12
|
+
@selenium = selenium
|
13
|
+
|
14
|
+
# check to see if selenium_driver has been passed to element level from spec
|
15
|
+
begin
|
16
|
+
@selenium.host
|
17
|
+
rescue => e
|
18
|
+
fail "Error occurred: @selenium_driver not in element level"
|
19
|
+
end
|
20
|
+
|
21
|
+
if parent_id != nil
|
22
|
+
for wait in 1..60 do
|
23
|
+
begin
|
24
|
+
parent_id = @selenium.get_eval(parent_id)
|
25
|
+
break
|
26
|
+
rescue => e
|
27
|
+
sleep(0.5)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
locator = locator.gsub('<EnterParentID>', parent_id)
|
31
|
+
end
|
32
|
+
|
33
|
+
for wait in 1..60 do
|
34
|
+
begin
|
35
|
+
# if statement used for objects with mulitple locator
|
36
|
+
if locator.is_a?(Array) == true
|
37
|
+
count = 0
|
38
|
+
while count <= locator.length and found == false
|
39
|
+
if /.browserbot/.match(locator[count])
|
40
|
+
for wait in 1..60 do
|
41
|
+
begin
|
42
|
+
object_id = @selenium.get_eval(locator)
|
43
|
+
found = true
|
44
|
+
break
|
45
|
+
rescue => e
|
46
|
+
sleep(0.5)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
elsif @selenium.is_element_present(locator[count]) == false
|
50
|
+
sleep(0.5)
|
51
|
+
found = false
|
52
|
+
count += 1
|
53
|
+
else
|
54
|
+
found = true
|
55
|
+
@locator = locator[count]
|
56
|
+
break
|
57
|
+
end
|
58
|
+
end
|
59
|
+
else
|
60
|
+
if /.browserbot/.match(locator)
|
61
|
+
for wait in 1..60 do
|
62
|
+
begin
|
63
|
+
object_id = @selenium.get_eval(locator)
|
64
|
+
found = true
|
65
|
+
break
|
66
|
+
rescue => e
|
67
|
+
sleep(0.5)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
elsif @selenium.is_element_present(locator) == false
|
71
|
+
sleep(0.5)
|
72
|
+
#puts "looking for object: #{locator}"
|
73
|
+
found = false
|
74
|
+
else
|
75
|
+
found = true
|
76
|
+
#puts "found object: #{locator}"
|
77
|
+
@locator = locator
|
78
|
+
break
|
79
|
+
end
|
80
|
+
end
|
81
|
+
rescue => e
|
82
|
+
# if exception continue
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
if found == false
|
87
|
+
@@TEST_FAILURE = true
|
88
|
+
fail "Step Failed - Object not found!"
|
89
|
+
end
|
90
|
+
|
91
|
+
@object_id = object_id
|
92
|
+
end
|
93
|
+
|
94
|
+
def waitForText(text)
|
95
|
+
for wait in 1..20 do
|
96
|
+
begin
|
97
|
+
if not @selenium_driver.is_text_present(text)
|
98
|
+
sleep(0.5)
|
99
|
+
else
|
100
|
+
break
|
101
|
+
end
|
102
|
+
rescue => e
|
103
|
+
# if exception continue
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
# returns text content of object
|
108
|
+
def text
|
109
|
+
if @object_id != nil
|
110
|
+
@text = @selenium.get_text(@object_id)
|
111
|
+
else
|
112
|
+
for wait in 1..20 do
|
113
|
+
begin
|
114
|
+
@text = @selenium.get_text(@locator)
|
115
|
+
break
|
116
|
+
rescue => e
|
117
|
+
sleep(0.5)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
return @text
|
122
|
+
end
|
123
|
+
|
124
|
+
# returns value of object
|
125
|
+
def value
|
126
|
+
@value = @selenium.get_value(@locator)
|
127
|
+
return @value
|
128
|
+
end
|
129
|
+
|
130
|
+
# clicks on object
|
131
|
+
def click
|
132
|
+
@selenium.click(@locator)
|
133
|
+
#@selenium.wait_for_page_to_load
|
134
|
+
end
|
135
|
+
|
136
|
+
def hover
|
137
|
+
@selenium.mouse_over(@locator)
|
138
|
+
end
|
139
|
+
|
140
|
+
# returns true or false if object is visible
|
141
|
+
def visible
|
142
|
+
@visible = @selenium.is_visible(@locator)
|
143
|
+
return @visible
|
144
|
+
end
|
145
|
+
|
146
|
+
# returns true, no code needed, because initializing of object performs
|
147
|
+
# wait for object is present
|
148
|
+
def exist
|
149
|
+
return true
|
150
|
+
end
|
151
|
+
|
152
|
+
def qtipValue
|
153
|
+
return @selenium.get_eval("selenium.browserbot.findElement('#{@locator}').attributes[0].value")
|
154
|
+
end
|
155
|
+
|
156
|
+
def locator
|
157
|
+
return @locator
|
158
|
+
end
|
159
|
+
|
160
|
+
# double clicks on object
|
161
|
+
def doubleClick
|
162
|
+
@selenium.double_click(@locator)
|
163
|
+
end
|
164
|
+
|
165
|
+
def attribute(type)
|
166
|
+
return @selenium.get_attribute("#{@locator}@#{type}")
|
167
|
+
end
|
168
|
+
|
169
|
+
def rightClick
|
170
|
+
@selenium.context_menu(@locator)
|
171
|
+
end
|
172
|
+
end
|