watir 1.4.1 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.document +4 -0
- data/.github/ISSUE_TEMPLATE.md +16 -0
- data/.github/workflows/chrome.yml +55 -0
- data/.github/workflows/edge.yml +44 -0
- data/.github/workflows/firefox.yml +55 -0
- data/.github/workflows/ie.yml +30 -0
- data/.github/workflows/safari.yml +38 -0
- data/.github/workflows/unit.yml +60 -0
- data/.gitignore +21 -0
- data/.rubocop.yml +114 -0
- data/.rubocop_todo.yml +17 -0
- data/CHANGES.md +2212 -0
- data/Gemfile +15 -0
- data/LICENSE +24 -0
- data/README.md +113 -0
- data/Rakefile +173 -0
- data/lib/watir/adjacent.rb +128 -0
- data/lib/watir/after_hooks.rb +135 -0
- data/lib/watir/alert.rb +113 -0
- data/lib/watir/aliases.rb +8 -0
- data/lib/watir/attribute_helper.rb +97 -0
- data/lib/watir/browser.rb +323 -0
- data/lib/watir/capabilities.rb +179 -0
- data/lib/watir/cell_container.rb +25 -0
- data/lib/watir/container.rb +33 -0
- data/lib/watir/cookies.rb +130 -0
- data/lib/watir/element_collection.rb +223 -0
- data/lib/watir/elements/button.rb +28 -0
- data/lib/watir/elements/cell.rb +18 -0
- data/lib/watir/elements/checkbox.rb +56 -0
- data/lib/watir/elements/date_field.rb +42 -0
- data/lib/watir/elements/date_time_field.rb +42 -0
- data/lib/watir/elements/dlist.rb +12 -0
- data/lib/watir/elements/element.rb +807 -0
- data/lib/watir/elements/file_field.rb +43 -0
- data/lib/watir/elements/font.rb +26 -0
- data/lib/watir/elements/form.rb +16 -0
- data/lib/watir/elements/hidden.rb +26 -0
- data/lib/watir/elements/html_elements.rb +1981 -0
- data/lib/watir/elements/iframe.rb +156 -0
- data/lib/watir/elements/image.rb +22 -0
- data/lib/watir/elements/input.rb +15 -0
- data/lib/watir/elements/link.rb +8 -0
- data/lib/watir/elements/list.rb +51 -0
- data/lib/watir/elements/option.rb +60 -0
- data/lib/watir/elements/radio.rb +65 -0
- data/lib/watir/elements/row.rb +18 -0
- data/lib/watir/elements/select.rb +214 -0
- data/lib/watir/elements/svg_elements.rb +497 -0
- data/lib/watir/elements/table.rb +77 -0
- data/lib/watir/elements/table_cell.rb +32 -0
- data/lib/watir/elements/table_row.rb +34 -0
- data/lib/watir/elements/table_section.rb +17 -0
- data/lib/watir/elements/text_area.rb +7 -0
- data/lib/watir/elements/text_field.rb +39 -0
- data/lib/watir/exception.rb +16 -0
- data/lib/watir/extensions/nokogiri.rb +14 -0
- data/lib/watir/generator/base/generator.rb +114 -0
- data/lib/watir/generator/base/idl_sorter.rb +51 -0
- data/lib/watir/generator/base/spec_extractor.rb +158 -0
- data/lib/watir/generator/base/util.rb +21 -0
- data/lib/watir/generator/base/visitor.rb +133 -0
- data/lib/watir/generator/base.rb +12 -0
- data/lib/watir/generator/html/generator.rb +36 -0
- data/lib/watir/generator/html/spec_extractor.rb +52 -0
- data/lib/watir/generator/html/visitor.rb +23 -0
- data/lib/watir/generator/html.rb +17 -0
- data/lib/watir/generator/svg/generator.rb +38 -0
- data/lib/watir/generator/svg/spec_extractor.rb +55 -0
- data/lib/watir/generator/svg/visitor.rb +23 -0
- data/lib/watir/generator/svg.rb +9 -0
- data/lib/watir/generator.rb +5 -0
- data/lib/watir/has_window.rb +72 -0
- data/lib/watir/http_client.rb +11 -0
- data/lib/watir/js_execution.rb +165 -0
- data/lib/watir/js_snippets/attributeValues.js +11 -0
- data/lib/watir/js_snippets/backgroundColor.js +7 -0
- data/lib/watir/js_snippets/elementObscured.js +14 -0
- data/lib/watir/js_snippets/fireEvent.js +31 -0
- data/lib/watir/js_snippets/focus.js +3 -0
- data/lib/watir/js_snippets/getElementTags.js +3 -0
- data/lib/watir/js_snippets/getInnerHtml.js +19 -0
- data/lib/watir/js_snippets/getInnerText.js +19 -0
- data/lib/watir/js_snippets/getOuterHtml.js +20 -0
- data/lib/watir/js_snippets/getTextContent.js +19 -0
- data/lib/watir/js_snippets/isElementInViewport.js +20 -0
- data/lib/watir/js_snippets/isImageLoaded.js +3 -0
- data/lib/watir/js_snippets/selectOptionsLabel.js +10 -0
- data/lib/watir/js_snippets/selectOptionsText.js +10 -0
- data/lib/watir/js_snippets/selectOptionsValue.js +10 -0
- data/lib/watir/js_snippets/selectText.js +64 -0
- data/lib/watir/js_snippets/selectedOptions.js +11 -0
- data/lib/watir/js_snippets/selectedText.js +17 -0
- data/lib/watir/js_snippets/setText.js +3 -0
- data/lib/watir/js_snippets/setValue.js +3 -0
- data/lib/watir/js_snippets.rb +18 -0
- data/lib/watir/locators/anchor/selector_builder.rb +43 -0
- data/lib/watir/locators/button/matcher.rb +19 -0
- data/lib/watir/locators/button/selector_builder/xpath.rb +69 -0
- data/lib/watir/locators/button/selector_builder.rb +10 -0
- data/lib/watir/locators/cell/selector_builder/xpath.rb +23 -0
- data/lib/watir/locators/cell/selector_builder.rb +13 -0
- data/lib/watir/locators/element/locator.rb +81 -0
- data/lib/watir/locators/element/matcher.rb +118 -0
- data/lib/watir/locators/element/selector_builder/regexp_disassembler.rb +69 -0
- data/lib/watir/locators/element/selector_builder/xpath.rb +268 -0
- data/lib/watir/locators/element/selector_builder/xpath_support.rb +29 -0
- data/lib/watir/locators/element/selector_builder.rb +164 -0
- data/lib/watir/locators/option/matcher.rb +26 -0
- data/lib/watir/locators/option/selector_builder/xpath.rb +39 -0
- data/lib/watir/locators/option/selector_builder.rb +10 -0
- data/lib/watir/locators/row/selector_builder/xpath.rb +53 -0
- data/lib/watir/locators/row/selector_builder.rb +18 -0
- data/lib/watir/locators/text_area/selector_builder/xpath.rb +21 -0
- data/lib/watir/locators/text_area/selector_builder.rb +10 -0
- data/lib/watir/locators/text_field/matcher.rb +37 -0
- data/lib/watir/locators/text_field/selector_builder/xpath.rb +50 -0
- data/lib/watir/locators/text_field/selector_builder.rb +10 -0
- data/lib/watir/locators.rb +77 -0
- data/lib/watir/logger.rb +30 -0
- data/lib/watir/navigation.rb +51 -0
- data/lib/watir/radio_set.rb +230 -0
- data/lib/watir/row_container.rb +36 -0
- data/lib/watir/screenshot.rb +51 -0
- data/lib/watir/scroll.rb +95 -0
- data/lib/watir/search_context.rb +96 -0
- data/lib/watir/shadow_root.rb +60 -0
- data/lib/watir/user_editable.rb +85 -0
- data/lib/watir/version.rb +5 -0
- data/lib/watir/wait/timer.rb +52 -0
- data/lib/watir/wait.rb +171 -0
- data/lib/watir/window.rb +276 -0
- data/lib/watir/window_collection.rb +82 -0
- data/lib/watir.rb +108 -0
- data/lib/watirspec/guards.rb +65 -0
- data/lib/watirspec/implementation.rb +56 -0
- data/lib/watirspec/rake_tasks.rb +118 -0
- data/lib/watirspec/remote_server.rb +39 -0
- data/lib/watirspec/runner.rb +64 -0
- data/lib/watirspec/server/app.rb +86 -0
- data/lib/watirspec/server.rb +104 -0
- data/lib/watirspec.rb +93 -0
- data/spec/locator_spec_helper.rb +88 -0
- data/spec/spec_helper.rb +24 -0
- data/spec/unit/capabilities_spec.rb +670 -0
- data/spec/unit/element_locator_spec.rb +97 -0
- data/spec/unit/match_elements/button_spec.rb +76 -0
- data/spec/unit/match_elements/element_spec.rb +424 -0
- data/spec/unit/match_elements/text_field_spec.rb +84 -0
- data/spec/unit/selector_builder/anchor_spec.rb +59 -0
- data/spec/unit/selector_builder/button_spec.rb +217 -0
- data/spec/unit/selector_builder/cell_spec.rb +71 -0
- data/spec/unit/selector_builder/element_spec.rb +804 -0
- data/spec/unit/selector_builder/row_spec.rb +128 -0
- data/spec/unit/selector_builder/text_field_spec.rb +203 -0
- data/spec/unit/selector_builder/textarea_spec.rb +35 -0
- data/spec/unit/unit_helper.rb +4 -0
- data/spec/unit/wait_spec.rb +99 -0
- data/spec/watirspec/adjacent_spec.rb +256 -0
- data/spec/watirspec/after_hooks_spec.rb +204 -0
- data/spec/watirspec/alert_spec.rb +89 -0
- data/spec/watirspec/browser_spec.rb +536 -0
- data/spec/watirspec/capabilities_spec.rb +556 -0
- data/spec/watirspec/cookies_spec.rb +196 -0
- data/spec/watirspec/drag_and_drop_spec.rb +38 -0
- data/spec/watirspec/element_hidden_spec.rb +86 -0
- data/spec/watirspec/elements/area_spec.rb +69 -0
- data/spec/watirspec/elements/areas_spec.rb +44 -0
- data/spec/watirspec/elements/button_spec.rb +265 -0
- data/spec/watirspec/elements/buttons_spec.rb +57 -0
- data/spec/watirspec/elements/checkbox_spec.rb +290 -0
- data/spec/watirspec/elements/checkboxes_spec.rb +46 -0
- data/spec/watirspec/elements/collections_spec.rb +132 -0
- data/spec/watirspec/elements/date_field_spec.rb +209 -0
- data/spec/watirspec/elements/date_fields_spec.rb +46 -0
- data/spec/watirspec/elements/date_time_field_spec.rb +223 -0
- data/spec/watirspec/elements/date_time_fields_spec.rb +47 -0
- data/spec/watirspec/elements/dd_spec.rb +108 -0
- data/spec/watirspec/elements/dds_spec.rb +44 -0
- data/spec/watirspec/elements/del_spec.rb +113 -0
- data/spec/watirspec/elements/dels_spec.rb +42 -0
- data/spec/watirspec/elements/div_spec.rb +232 -0
- data/spec/watirspec/elements/divs_spec.rb +56 -0
- data/spec/watirspec/elements/dl_spec.rb +117 -0
- data/spec/watirspec/elements/dls_spec.rb +45 -0
- data/spec/watirspec/elements/dt_spec.rb +107 -0
- data/spec/watirspec/elements/dts_spec.rb +44 -0
- data/spec/watirspec/elements/element_spec.rb +1069 -0
- data/spec/watirspec/elements/elements_spec.rb +60 -0
- data/spec/watirspec/elements/em_spec.rb +85 -0
- data/spec/watirspec/elements/ems_spec.rb +45 -0
- data/spec/watirspec/elements/filefield_spec.rb +135 -0
- data/spec/watirspec/elements/filefields_spec.rb +45 -0
- data/spec/watirspec/elements/font_spec.rb +31 -0
- data/spec/watirspec/elements/form_spec.rb +70 -0
- data/spec/watirspec/elements/forms_spec.rb +46 -0
- data/spec/watirspec/elements/frame_spec.rb +117 -0
- data/spec/watirspec/elements/frames_spec.rb +43 -0
- data/spec/watirspec/elements/hidden_spec.rb +106 -0
- data/spec/watirspec/elements/hiddens_spec.rb +45 -0
- data/spec/watirspec/elements/hn_spec.rb +80 -0
- data/spec/watirspec/elements/hns_spec.rb +42 -0
- data/spec/watirspec/elements/iframe_spec.rb +244 -0
- data/spec/watirspec/elements/iframes_spec.rb +49 -0
- data/spec/watirspec/elements/image_spec.rb +160 -0
- data/spec/watirspec/elements/images_spec.rb +42 -0
- data/spec/watirspec/elements/input_spec.rb +17 -0
- data/spec/watirspec/elements/ins_spec.rb +113 -0
- data/spec/watirspec/elements/inses_spec.rb +42 -0
- data/spec/watirspec/elements/label_spec.rb +77 -0
- data/spec/watirspec/elements/labels_spec.rb +42 -0
- data/spec/watirspec/elements/li_spec.rb +99 -0
- data/spec/watirspec/elements/link_spec.rb +180 -0
- data/spec/watirspec/elements/links_spec.rb +66 -0
- data/spec/watirspec/elements/lis_spec.rb +44 -0
- data/spec/watirspec/elements/list_spec.rb +50 -0
- data/spec/watirspec/elements/map_spec.rb +78 -0
- data/spec/watirspec/elements/maps_spec.rb +43 -0
- data/spec/watirspec/elements/meta_spec.rb +27 -0
- data/spec/watirspec/elements/metas_spec.rb +42 -0
- data/spec/watirspec/elements/ol_spec.rb +63 -0
- data/spec/watirspec/elements/ols_spec.rb +42 -0
- data/spec/watirspec/elements/option_spec.rb +113 -0
- data/spec/watirspec/elements/p_spec.rb +102 -0
- data/spec/watirspec/elements/pre_spec.rb +100 -0
- data/spec/watirspec/elements/pres_spec.rb +42 -0
- data/spec/watirspec/elements/ps_spec.rb +42 -0
- data/spec/watirspec/elements/radio_spec.rb +259 -0
- data/spec/watirspec/elements/radios_spec.rb +45 -0
- data/spec/watirspec/elements/select_list_spec.rb +701 -0
- data/spec/watirspec/elements/select_lists_spec.rb +49 -0
- data/spec/watirspec/elements/span_spec.rb +119 -0
- data/spec/watirspec/elements/spans_spec.rb +42 -0
- data/spec/watirspec/elements/strong_spec.rb +78 -0
- data/spec/watirspec/elements/strongs_spec.rb +45 -0
- data/spec/watirspec/elements/table_spec.rb +210 -0
- data/spec/watirspec/elements/tables_spec.rb +44 -0
- data/spec/watirspec/elements/tbody_spec.rb +94 -0
- data/spec/watirspec/elements/tbodys_spec.rb +64 -0
- data/spec/watirspec/elements/td_spec.rb +92 -0
- data/spec/watirspec/elements/tds_spec.rb +55 -0
- data/spec/watirspec/elements/text_field_spec.rb +223 -0
- data/spec/watirspec/elements/text_fields_spec.rb +47 -0
- data/spec/watirspec/elements/textarea_spec.rb +30 -0
- data/spec/watirspec/elements/textareas_spec.rb +28 -0
- data/spec/watirspec/elements/tfoot_spec.rb +89 -0
- data/spec/watirspec/elements/tfoots_spec.rb +72 -0
- data/spec/watirspec/elements/thead_spec.rb +88 -0
- data/spec/watirspec/elements/theads_spec.rb +72 -0
- data/spec/watirspec/elements/tr_spec.rb +69 -0
- data/spec/watirspec/elements/trs_spec.rb +63 -0
- data/spec/watirspec/elements/ul_spec.rb +63 -0
- data/spec/watirspec/elements/uls_spec.rb +42 -0
- data/spec/watirspec/html/alerts.html +12 -0
- data/spec/watirspec/html/aria_attributes.html +9 -0
- data/spec/watirspec/html/child_frame.html +29 -0
- data/spec/watirspec/html/class_locator.html +11 -0
- data/spec/watirspec/html/clicks.html +19 -0
- data/spec/watirspec/html/closeable.html +21 -0
- data/spec/watirspec/html/collections.html +15 -0
- data/spec/watirspec/html/css/jquery-ui-1.8.17.custom.css +287 -0
- data/spec/watirspec/html/data_attributes.html +10 -0
- data/spec/watirspec/html/definition_lists.html +48 -0
- data/spec/watirspec/html/drag_and_drop.html +106 -0
- data/spec/watirspec/html/font.html +10 -0
- data/spec/watirspec/html/forms_with_input_elements.html +194 -0
- data/spec/watirspec/html/frame_1.html +22 -0
- data/spec/watirspec/html/frame_2.html +16 -0
- data/spec/watirspec/html/frames.html +11 -0
- data/spec/watirspec/html/iframe_1.html +22 -0
- data/spec/watirspec/html/iframes.html +15 -0
- data/spec/watirspec/html/images/button.png +0 -0
- data/spec/watirspec/html/images/circle.png +0 -0
- data/spec/watirspec/html/images/map.gif +0 -0
- data/spec/watirspec/html/images/map2.gif +0 -0
- data/spec/watirspec/html/images/originaltriangle.png +0 -0
- data/spec/watirspec/html/images/square.png +0 -0
- data/spec/watirspec/html/images/triangle.png +0 -0
- data/spec/watirspec/html/images.html +28 -0
- data/spec/watirspec/html/inner_outer.html +5 -0
- data/spec/watirspec/html/javascript/angular.min.js +332 -0
- data/spec/watirspec/html/javascript/helpers.js +16 -0
- data/spec/watirspec/html/javascript/jquery-1.7.1.min.js +4 -0
- data/spec/watirspec/html/javascript/jquery-ui-1.8.17.custom.min.js +68 -0
- data/spec/watirspec/html/keylogger.html +15 -0
- data/spec/watirspec/html/modal_dialog.html +9 -0
- data/spec/watirspec/html/multiple_ids.html +15 -0
- data/spec/watirspec/html/nested_elements.html +44 -0
- data/spec/watirspec/html/nested_frame_1.html +1 -0
- data/spec/watirspec/html/nested_frame_2.html +9 -0
- data/spec/watirspec/html/nested_frame_3.html +14 -0
- data/spec/watirspec/html/nested_frames.html +10 -0
- data/spec/watirspec/html/nested_iframe_2.html +12 -0
- data/spec/watirspec/html/nested_iframes.html +13 -0
- data/spec/watirspec/html/nested_tables.html +203 -0
- data/spec/watirspec/html/non_control_elements.html +145 -0
- data/spec/watirspec/html/obscured.html +36 -0
- data/spec/watirspec/html/removed_element.html +24 -0
- data/spec/watirspec/html/right_click.html +23 -0
- data/spec/watirspec/html/scroll.html +15 -0
- data/spec/watirspec/html/scroll_nested.html +17 -0
- data/spec/watirspec/html/scroll_nested_offscreen.html +18 -0
- data/spec/watirspec/html/shadow_dom.html +28 -0
- data/spec/watirspec/html/special_chars.html +15 -0
- data/spec/watirspec/html/sticky_elements.html +10 -0
- data/spec/watirspec/html/tables.html +121 -0
- data/spec/watirspec/html/timeout_window_location.html +19 -0
- data/spec/watirspec/html/uneven_table.html +20 -0
- data/spec/watirspec/html/wait.html +99 -0
- data/spec/watirspec/html/watirspec.css +0 -0
- data/spec/watirspec/html/window_switching.html +22 -0
- data/spec/watirspec/radio_set_spec.rb +346 -0
- data/spec/watirspec/screenshot_spec.rb +33 -0
- data/spec/watirspec/scroll_spec.rb +208 -0
- data/spec/watirspec/shadow_root_spec.rb +108 -0
- data/spec/watirspec/support/rspec_matchers.rb +161 -0
- data/spec/watirspec/user_editable_spec.rb +207 -0
- data/spec/watirspec/wait_spec.rb +345 -0
- data/spec/watirspec/window_switching_spec.rb +580 -0
- data/spec/watirspec_helper.rb +163 -0
- data/support/doctest_helper.rb +101 -0
- data/support/version_differ.rb +60 -0
- data/watir.gemspec +50 -0
- metadata +652 -148
- data/readme.rb +0 -211
- data/unittests/WindowLogonExample.rb +0 -30
- data/unittests/WindowLogonExtra.rb +0 -7
- data/unittests/all_tests.rb +0 -10
- data/unittests/all_tests_concurrent.rb +0 -57
- data/unittests/attachToExistingWindow_test.rb +0 -40
- data/unittests/buttons_test.rb +0 -131
- data/unittests/checkbox_test.rb +0 -149
- data/unittests/core_tests.rb +0 -9
- data/unittests/css_test.rb +0 -60
- data/unittests/div_test.rb +0 -179
- data/unittests/errorchecker_test.rb +0 -29
- data/unittests/filefield_test.rb +0 -35
- data/unittests/form_test.rb +0 -279
- data/unittests/frame_test.rb +0 -141
- data/unittests/html/blankpage.html +0 -12
- data/unittests/html/buttons1.html +0 -40
- data/unittests/html/checkboxes1.html +0 -69
- data/unittests/html/complex_table.html +0 -36
- data/unittests/html/cssTest.html +0 -42
- data/unittests/html/div.html +0 -105
- data/unittests/html/fileupload.html +0 -45
- data/unittests/html/formTest1.html +0 -39
- data/unittests/html/forms2.html +0 -45
- data/unittests/html/forms3.html +0 -132
- data/unittests/html/forms4.html +0 -27
- data/unittests/html/frame_buttons.html +0 -4
- data/unittests/html/frame_links.html +0 -4
- data/unittests/html/frame_multi.html +0 -5
- data/unittests/html/iframeTest.html +0 -13
- data/unittests/html/iframeTest1.html +0 -7
- data/unittests/html/iframeTest2.html +0 -6
- data/unittests/html/images/button.jpg +0 -0
- data/unittests/html/images/circle.jpg +0 -0
- data/unittests/html/images/originaltriangle.jpg +0 -0
- data/unittests/html/images/square.jpg +0 -0
- data/unittests/html/images/triangle.jpg +0 -0
- data/unittests/html/images1.html +0 -52
- data/unittests/html/javascriptevents.html +0 -39
- data/unittests/html/link_pass.html +0 -11
- data/unittests/html/links1.html +0 -37
- data/unittests/html/links2.html +0 -11
- data/unittests/html/nestedFrames.html +0 -6
- data/unittests/html/pass.html +0 -10
- data/unittests/html/popups1.html +0 -60
- data/unittests/html/radioButtons1.html +0 -71
- data/unittests/html/select_tealeaf.html +0 -54
- data/unittests/html/selectboxes1.html +0 -55
- data/unittests/html/simple_table.html +0 -26
- data/unittests/html/simple_table_buttons.html +0 -104
- data/unittests/html/simple_table_columns.html +0 -76
- data/unittests/html/table1.html +0 -142
- data/unittests/html/textarea.html +0 -30
- data/unittests/html/textfields1.html +0 -87
- data/unittests/html/textsearch.html +0 -44
- data/unittests/ie_mock.rb +0 -93
- data/unittests/ie_test.rb +0 -50
- data/unittests/images_test.rb +0 -179
- data/unittests/iostring.rb +0 -30
- data/unittests/iostring_test.rb +0 -48
- data/unittests/js_events_test.rb +0 -77
- data/unittests/jscriptExtraAlert.rb +0 -6
- data/unittests/jscriptExtraConfirmCancel.rb +0 -7
- data/unittests/jscriptExtraConfirmOk.rb +0 -7
- data/unittests/jscriptPushButton.rb +0 -5
- data/unittests/jscript_test.rb +0 -57
- data/unittests/links_test.rb +0 -169
- data/unittests/minmax_test.rb +0 -31
- data/unittests/navigate_test.rb +0 -56
- data/unittests/non_core_tests.rb +0 -9
- data/unittests/pagecontainstext_test.rb +0 -49
- data/unittests/popups_test.rb +0 -44
- data/unittests/radios_test.rb +0 -164
- data/unittests/screen_capture_test.rb +0 -53
- data/unittests/selectbox_test.rb +0 -197
- data/unittests/send_keys_test.rb +0 -29
- data/unittests/setup.rb +0 -47
- data/unittests/table_test.rb +0 -306
- data/unittests/textAreafields_test.rb +0 -81
- data/unittests/textfields_test.rb +0 -239
- data/watir/AutoItX3.dll +0 -0
- data/watir/WindowHelper.rb +0 -47
- data/watir/camel_case.rb +0 -37
- data/watir/clickJSDialog.rb +0 -19
- data/watir/cookiemanager.rb +0 -53
- data/watir/exceptions.rb +0 -60
- data/watir/screen_capture.rb +0 -115
- data/watir/setFileDialog.rb +0 -16
- data/watir/testUnitAddons.rb +0 -47
- data/watir/watir_simple.rb +0 -475
- data/watir/winClicker.rb +0 -505
- data/watir.rb +0 -3744
- /data/{unittests → spec/watirspec}/html/images/1.gif +0 -0
- /data/{unittests/html/images/2.GIF → spec/watirspec/html/images/2.gif} +0 -0
- /data/{unittests/html/images/3.GIF → spec/watirspec/html/images/3.gif} +0 -0
- /data/{unittests/html/images/minus.GIF → spec/watirspec/html/images/minus.gif} +0 -0
- /data/{unittests → spec/watirspec}/html/images/plus.gif +0 -0
data/watir/camel_case.rb
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# These are provided for backwards compatability with Watir 1.1
|
|
2
|
-
|
|
3
|
-
module Watir
|
|
4
|
-
module SupportsSubElements
|
|
5
|
-
alias waitForIE wait
|
|
6
|
-
alias fileField file_field
|
|
7
|
-
alias textField text_field
|
|
8
|
-
alias selectBox select_list
|
|
9
|
-
alias checkBox checkbox
|
|
10
|
-
end
|
|
11
|
-
class IE
|
|
12
|
-
alias getStatus status
|
|
13
|
-
alias getDocument document
|
|
14
|
-
alias pageContainsText contains_text
|
|
15
|
-
alias waitForIE wait
|
|
16
|
-
alias getHTML html
|
|
17
|
-
alias getText text
|
|
18
|
-
alias showFrames show_frames
|
|
19
|
-
alias showForms show_forms
|
|
20
|
-
alias showImages show_images
|
|
21
|
-
alias showLinks show_links
|
|
22
|
-
alias showActive show_active
|
|
23
|
-
alias showAllObjects show_all_objects
|
|
24
|
-
end
|
|
25
|
-
class Frame
|
|
26
|
-
alias getDocument document
|
|
27
|
-
alias waitForIE wait
|
|
28
|
-
end
|
|
29
|
-
class Form
|
|
30
|
-
alias waitForIE wait
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
class SpanDivCommon
|
|
34
|
-
alias innerText text
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
end
|
data/watir/clickJSDialog.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# clickJSDialog.rb
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
# This file contains the JS clicker when it runs as a separate process
|
|
6
|
-
|
|
7
|
-
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
|
8
|
-
puts $LOAD_PATH
|
|
9
|
-
require 'watir/winClicker'
|
|
10
|
-
|
|
11
|
-
button = "OK"
|
|
12
|
-
button = ARGV[0] unless ARGV[0] == nil
|
|
13
|
-
sleepTime = 0
|
|
14
|
-
sleepTime = ARGV[1] unless ARGV[1] == nil
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
clicker= WinClicker.new
|
|
18
|
-
result = clicker.clickJavaScriptDialog( button )
|
|
19
|
-
clicker = nil
|
data/watir/cookiemanager.rb
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
class Dir
|
|
3
|
-
def Dir.visit(dir = '.', files_first = false, &block)
|
|
4
|
-
if files_first
|
|
5
|
-
paths = []
|
|
6
|
-
Find.find(dir) { |path| paths << path }
|
|
7
|
-
paths.reverse_each {|path| yield path}
|
|
8
|
-
else
|
|
9
|
-
Find.find(dir, &block)
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
# simulates unix rm -rf command
|
|
13
|
-
def Dir.rm_rf(dir)
|
|
14
|
-
Dir.visit(dir, true) do |path|
|
|
15
|
-
if FileTest.directory?(path)
|
|
16
|
-
begin
|
|
17
|
-
Dir.unlink(path)
|
|
18
|
-
rescue # Security Exception for Content.IE
|
|
19
|
-
end
|
|
20
|
-
else
|
|
21
|
-
begin
|
|
22
|
-
File.unlink(path)
|
|
23
|
-
rescue #Security exception index.dat etc.
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
module Watir
|
|
31
|
-
module CookieManager
|
|
32
|
-
|
|
33
|
-
class WatirHelper
|
|
34
|
-
#taken from shlObj.h used in win32 SHGetSpecialFolderLocation
|
|
35
|
-
#define CSIDL_INTERNET_CACHE 0x0020
|
|
36
|
-
#define CSIDL_COOKIES 0x0021
|
|
37
|
-
#define CSIDL_HISTORY 0x0022
|
|
38
|
-
COOKIES = 0x0021
|
|
39
|
-
INTERNET_CACHE = 0x0020
|
|
40
|
-
|
|
41
|
-
def WatirHelper.getSpecialFolderLocation(specFolderName)
|
|
42
|
-
shell = WIN32OLE.new("Shell.Application")
|
|
43
|
-
folder = shell.Namespace(specFolderName)
|
|
44
|
-
folderItem = folder.Self
|
|
45
|
-
folderPath = folderItem.Path
|
|
46
|
-
end
|
|
47
|
-
def WatirHelper.deleteSpecialFolderContents(specFolderName)
|
|
48
|
-
Dir.rm_rf(self.getSpecialFolderLocation(specFolderName))
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
data/watir/exceptions.rb
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
module Watir
|
|
2
|
-
module Exception
|
|
3
|
-
|
|
4
|
-
# Root class for all Watir Exceptions
|
|
5
|
-
class WatirException < RuntimeError
|
|
6
|
-
def initialize(message="")
|
|
7
|
-
super(message)
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
# This exception is thrown if an attempt is made to access an object that doesn't exist
|
|
12
|
-
class UnknownObjectException < WatirException
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# This exception is thrown if an attempt is made to access an object that is in a disabled state
|
|
16
|
-
class ObjectDisabledException < WatirException
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# This exception is thrown if an attempt is made to access a frame that cannot be found
|
|
20
|
-
class UnknownFrameException< WatirException
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# This exception is thrown if an attempt is made to access a form that cannot be found
|
|
24
|
-
class UnknownFormException< WatirException
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
# This exception is thrown if an attempt is made to access an object that is in a read only state
|
|
28
|
-
class ObjectReadOnlyException < WatirException
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# This exception is thrown if an attempt is made to access an object when the specified value cannot be found
|
|
32
|
-
class NoValueFoundException < WatirException
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
# This exception gets raised if part of finding an object is missing
|
|
36
|
-
class MissingWayOfFindingObjectException < WatirException
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# This exception is raised if an attempt is made to access a table that doesn't exist
|
|
40
|
-
class UnknownTableException < WatirException
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# this exception is raised if an attempt is made to access a table cell that doesnt exist
|
|
44
|
-
class UnknownCellException < WatirException
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
# This exception is thrown if the window cannot be found
|
|
48
|
-
class NoMatchingWindowFoundException < WatirException
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
# This exception is thrown if an attemp is made to acces the status bar of the browser when it doesnt exist
|
|
52
|
-
class NoStatusBarException < WatirException
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# This exception is thrown if an http error, such as a 404, 500 etc is encountered while navigating
|
|
56
|
-
class NavigationException < WatirException
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
end
|
|
60
|
-
end
|
data/watir/screen_capture.rb
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
require 'Win32API'
|
|
3
|
-
|
|
4
|
-
module Watir
|
|
5
|
-
module ScreenCapture
|
|
6
|
-
|
|
7
|
-
KEYEVENTF_KEYUP = 0x2
|
|
8
|
-
SW_HIDE = 0
|
|
9
|
-
SW_SHOW = 5
|
|
10
|
-
SW_SHOWNORMAL = 1
|
|
11
|
-
VK_CONTROL = 0x11
|
|
12
|
-
VK_F4 = 0x73
|
|
13
|
-
VK_MENU = 0x12
|
|
14
|
-
VK_RETURN = 0x0D
|
|
15
|
-
VK_SHIFT = 0x10
|
|
16
|
-
VK_SNAPSHOT = 0x2C
|
|
17
|
-
VK_TAB = 0x09
|
|
18
|
-
GMEM_MOVEABLE = 0x0002
|
|
19
|
-
CF_TEXT = 1
|
|
20
|
-
|
|
21
|
-
# this method saves the current window or whole screen as either a bitmap or a jpeg
|
|
22
|
-
# It uses paint to save the file, so will barf if a duplicate filename is selected, or the path doesnt exist etc
|
|
23
|
-
# * filename - string - the name of the file to save. If its not fully qualified the current directory is used
|
|
24
|
-
# * active_window - boolean - if true, the whole screen is captured, if false, just the active window is captured
|
|
25
|
-
# * save_as_bmp - boolean - if true saves the file as a bitmap, saves it as a jpeg otherwise
|
|
26
|
-
def screen_capture(filename , active_window_only=false, save_as_bmp=false)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
keybd_event = Win32API.new("user32", "keybd_event", ['I','I','L','L'], 'V')
|
|
30
|
-
vkKeyScan = Win32API.new("user32", "VkKeyScan", ['I'], 'I')
|
|
31
|
-
winExec = Win32API.new("kernel32", "WinExec", ['P','L'], 'L')
|
|
32
|
-
openClipboard = Win32API.new('user32', 'OpenClipboard', ['L'], 'I')
|
|
33
|
-
setClipboardData = Win32API.new('user32', 'SetClipboardData', ['I', 'I'], 'I')
|
|
34
|
-
closeClipboard = Win32API.new('user32', 'CloseClipboard', [], 'I')
|
|
35
|
-
globalAlloc = Win32API.new('kernel32', 'GlobalAlloc', ['I', 'I'], 'I')
|
|
36
|
-
globalLock = Win32API.new('kernel32', 'GlobalLock', ['I'], 'I')
|
|
37
|
-
globalUnlock = Win32API.new('kernel32', 'GlobalUnlock', ['I'], 'I')
|
|
38
|
-
memcpy = Win32API.new('msvcrt', 'memcpy', ['I', 'P', 'I'], 'I')
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
filename = Dir.getwd.tr('/','\\') + '\\' + filename unless filename.index('\\')
|
|
42
|
-
|
|
43
|
-
if active_window_only ==false
|
|
44
|
-
keybd_event.Call(VK_SNAPSHOT,0,0,0) # Print Screen
|
|
45
|
-
else
|
|
46
|
-
keybd_event.Call(VK_SNAPSHOT,1,0,0) # Alt+Print Screen
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
winExec.Call('mspaint.exe', SW_SHOW)
|
|
50
|
-
sleep(1)
|
|
51
|
-
|
|
52
|
-
# Ctrl + V : Paste
|
|
53
|
-
keybd_event.Call(VK_CONTROL, 1, 0, 0)
|
|
54
|
-
keybd_event.Call(vkKeyScan.Call(?V), 1, 0, 0)
|
|
55
|
-
keybd_event.Call(vkKeyScan.Call(?V), 1, KEYEVENTF_KEYUP, 0)
|
|
56
|
-
keybd_event.Call(VK_CONTROL, 1, KEYEVENTF_KEYUP, 0)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
# Alt F + A : Save As
|
|
60
|
-
keybd_event.Call(VK_MENU, 1, 0, 0)
|
|
61
|
-
keybd_event.Call(vkKeyScan.Call(?F), 1, 0, 0)
|
|
62
|
-
keybd_event.Call(vkKeyScan.Call(?F), 1, KEYEVENTF_KEYUP, 0)
|
|
63
|
-
keybd_event.Call(VK_MENU, 1, KEYEVENTF_KEYUP, 0)
|
|
64
|
-
keybd_event.Call(vkKeyScan.Call(?A), 1, 0, 0)
|
|
65
|
-
keybd_event.Call(vkKeyScan.Call(?A), 1, KEYEVENTF_KEYUP, 0)
|
|
66
|
-
sleep(1)
|
|
67
|
-
|
|
68
|
-
# copy filename to clipboard
|
|
69
|
-
hmem = globalAlloc.Call(GMEM_MOVEABLE, filename.length+1)
|
|
70
|
-
mem = globalLock.Call(hmem)
|
|
71
|
-
memcpy.Call(mem, filename, filename.length+1)
|
|
72
|
-
globalUnlock.Call(hmem)
|
|
73
|
-
openClipboard.Call(0)
|
|
74
|
-
setClipboardData.Call(CF_TEXT, hmem)
|
|
75
|
-
closeClipboard.Call
|
|
76
|
-
sleep(1)
|
|
77
|
-
|
|
78
|
-
# Ctrl + V : Paste
|
|
79
|
-
keybd_event.Call(VK_CONTROL, 1, 0, 0)
|
|
80
|
-
keybd_event.Call(vkKeyScan.Call(?V), 1, 0, 0)
|
|
81
|
-
keybd_event.Call(vkKeyScan.Call(?V), 1, KEYEVENTF_KEYUP, 0)
|
|
82
|
-
keybd_event.Call(VK_CONTROL, 1, KEYEVENTF_KEYUP, 0)
|
|
83
|
-
|
|
84
|
-
if save_as_bmp == false
|
|
85
|
-
# goto the combo box
|
|
86
|
-
keybd_event.Call(VK_TAB, 1, 0, 0)
|
|
87
|
-
keybd_event.Call(VK_TAB, 1, KEYEVENTF_KEYUP, 0)
|
|
88
|
-
sleep(0.5)
|
|
89
|
-
|
|
90
|
-
# select the first entry with J
|
|
91
|
-
keybd_event.Call(vkKeyScan.Call(?J), 1, 0, 0)
|
|
92
|
-
keybd_event.Call(vkKeyScan.Call(?J), 1, KEYEVENTF_KEYUP, 0)
|
|
93
|
-
sleep(0.5)
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
# Enter key
|
|
97
|
-
keybd_event.Call(VK_RETURN, 1, 0, 0)
|
|
98
|
-
keybd_event.Call(VK_RETURN, 1, KEYEVENTF_KEYUP, 0)
|
|
99
|
-
sleep(1)
|
|
100
|
-
|
|
101
|
-
# Alt + F4 : Exit
|
|
102
|
-
keybd_event.Call(VK_MENU, 1, 0, 0)
|
|
103
|
-
keybd_event.Call(VK_F4, 1, 0, 0)
|
|
104
|
-
keybd_event.Call(VK_F4, 1, KEYEVENTF_KEYUP, 0)
|
|
105
|
-
keybd_event.Call(VK_MENU, 1, KEYEVENTF_KEYUP, 0)
|
|
106
|
-
sleep(1)
|
|
107
|
-
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
#screenCapture( "f.bmp", false , true)
|
|
115
|
-
|
data/watir/setFileDialog.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# setFileDialog.rb
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
# This file contains the file dialog when it runs as a separate process
|
|
6
|
-
|
|
7
|
-
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
|
8
|
-
puts $LOAD_PATH
|
|
9
|
-
require 'watir/winClicker'
|
|
10
|
-
|
|
11
|
-
filepath = "invalid path passed to setFileDialog.rb"
|
|
12
|
-
filepath = ARGV[0] unless ARGV[0] == nil
|
|
13
|
-
|
|
14
|
-
clicker= WinClicker.new
|
|
15
|
-
clicker.setFileRequesterFileName(filepath)
|
|
16
|
-
clicker = nil
|
data/watir/testUnitAddons.rb
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
module Test::Unit::Assertions
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def assert_false(boolean, message=nil)
|
|
7
|
-
_wrap_assertion do
|
|
8
|
-
assert_block("assert should not be called with a block.") { !block_given? }
|
|
9
|
-
assert_block(build_message(message, "<?> is not false.", boolean)) { !boolean }
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def compareArrays( expectArray, actualArray)
|
|
15
|
-
result = true
|
|
16
|
-
expectArray.each_with_index do |element,i|
|
|
17
|
-
#puts "Comparing #{element} #{element.class} with #{actualArray[i]} #{actualArray[i].class} "
|
|
18
|
-
if element != actualArray[i]
|
|
19
|
-
result = false
|
|
20
|
-
break
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
return result
|
|
25
|
-
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def assert_arrayEquals(expectArray, actualArray, message = nil )
|
|
29
|
-
_wrap_assertion do
|
|
30
|
-
assert_block("assert should not be called with a block.") { !block_given? }
|
|
31
|
-
assert_equal(expectArray.length, actualArray.length, "Lengths did not match")
|
|
32
|
-
|
|
33
|
-
assert_block("contents are different." ){ compareArrays( expectArray, actualArray) }
|
|
34
|
-
end #_wrap
|
|
35
|
-
end #def
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def assert_arrayContains(array, string , message =nil)
|
|
39
|
-
|
|
40
|
-
_wrap_assertion do
|
|
41
|
-
assert_block("assert should not be called with a block.") { !block_given? }
|
|
42
|
-
assert(array.kind_of?(Array) , "Must have an array")
|
|
43
|
-
assert(array.include?(string) , message)
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
end # module test
|