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
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'watirspec_helper'
|
|
4
|
+
|
|
5
|
+
module Watir
|
|
6
|
+
describe 'TableFooters' do
|
|
7
|
+
before do
|
|
8
|
+
browser.goto(WatirSpec.url_for('tables.html'))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe 'with selectors' do
|
|
12
|
+
it 'returns the matching elements' do
|
|
13
|
+
expect(browser.tfoots(id: 'tax_totals').to_a).to eq [browser.tfoot(id: 'tax_totals')]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '#length' do
|
|
18
|
+
it 'returns the correct number of table tfoots (page context)' do
|
|
19
|
+
expect(browser.tfoots.length).to eq 1
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'returns the correct number of table tfoots (table context)' do
|
|
23
|
+
expect(browser.table(index: 0).tfoots.length).to eq 1
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe '#[]' do
|
|
28
|
+
it 'returns the row at the given index (page context)' do
|
|
29
|
+
expect(browser.tfoots[0].id).to eq 'tax_totals'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'returns the row at the given index (table context)' do
|
|
33
|
+
expect(browser.table(index: 0).tfoots[0].id).to eq 'tax_totals'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
describe '#each' do
|
|
38
|
+
it 'iterates through table tfoots correctly (page context)' do
|
|
39
|
+
browser.tfoots.each_with_index do |tfoot, index|
|
|
40
|
+
expect(tfoot.id).to eq browser.tfoot(index: index).id
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
describe '#each' do
|
|
45
|
+
it 'iterates through table tfoots correctly (page context)' do
|
|
46
|
+
count = 0
|
|
47
|
+
|
|
48
|
+
browser.tfoots.each_with_index do |tfoot, index|
|
|
49
|
+
expect(tfoot.id).to eq browser.tfoot(index: index).id
|
|
50
|
+
|
|
51
|
+
count += 1
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
expect(count).to be > 0
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it 'iterates through table tfoots correctly (table context)' do
|
|
58
|
+
table = browser.table(index: 0)
|
|
59
|
+
count = 0
|
|
60
|
+
|
|
61
|
+
table.tfoots.each_with_index do |tfoot, index|
|
|
62
|
+
expect(tfoot.id).to eq table.tfoot(index: index).id
|
|
63
|
+
|
|
64
|
+
count += 1
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
expect(count).to be > 0
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'watirspec_helper'
|
|
4
|
+
|
|
5
|
+
module Watir
|
|
6
|
+
describe 'TableHeader' do
|
|
7
|
+
before do
|
|
8
|
+
browser.goto(WatirSpec.url_for('tables.html'))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe '#exists?' do
|
|
12
|
+
it 'returns true if the table theader exists (page context)' do
|
|
13
|
+
expect(browser.thead(id: 'tax_headers')).to exist
|
|
14
|
+
expect(browser.thead(id: /tax_headers/)).to exist
|
|
15
|
+
expect(browser.thead(index: 0)).to exist
|
|
16
|
+
expect(browser.thead(xpath: "//thead[@id='tax_headers']")).to exist
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'returns the first thead if given no args' do
|
|
20
|
+
expect(browser.thead).to exist
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'returns true if the table theader exists (table context)' do
|
|
24
|
+
expect(browser.table(index: 0).thead(id: 'tax_headers')).to exist
|
|
25
|
+
expect(browser.table(index: 0).thead(id: /tax_headers/)).to exist
|
|
26
|
+
expect(browser.table(index: 0).thead(index: 0)).to exist
|
|
27
|
+
expect(browser.table(index: 0).thead(xpath: "//thead[@id='tax_headers']")).to exist
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "returns false if the table theader doesn't exist (page context)" do
|
|
31
|
+
expect(browser.thead(id: 'no_such_id')).not_to exist
|
|
32
|
+
expect(browser.thead(id: /no_such_id/)).not_to exist
|
|
33
|
+
expect(browser.thead(index: 1337)).not_to exist
|
|
34
|
+
expect(browser.thead(xpath: "//thead[@id='no_such_id']")).not_to exist
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it "returns false if the table theader doesn't exist (table context)" do
|
|
38
|
+
expect(browser.table(index: 0).thead(id: 'no_such_id')).not_to exist
|
|
39
|
+
expect(browser.table(index: 0).thead(id: /no_such_id/)).not_to exist
|
|
40
|
+
expect(browser.table(index: 0).thead(index: 1337)).not_to exist
|
|
41
|
+
expect(browser.table(index: 0).thead(xpath: "//thead[@id='no_such_id']")).not_to exist
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it "raises TypeError when 'what' argument is invalid" do
|
|
45
|
+
expect { browser.thead(id: 3.14).exists? }.to raise_error(TypeError)
|
|
46
|
+
expect { browser.table(index: 0).thead(id: 3.14).exists? }.to raise_error(TypeError)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
describe '#[]' do
|
|
51
|
+
it 'returns the row at the given index (page context)' do
|
|
52
|
+
expect(browser.thead(id: 'tax_headers')[0].id).to eq 'thead_row_1'
|
|
53
|
+
expect(browser.thead(id: 'tax_headers')[0][1].text).to eq 'Before income tax'
|
|
54
|
+
expect(browser.thead(id: 'tax_headers')[0][2].text).to eq 'Income tax'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it 'returns the row at the given index (table context)' do
|
|
58
|
+
expect(browser.table(index: 0).thead(id: 'tax_headers')[0].id).to eq 'thead_row_1'
|
|
59
|
+
expect(browser.table(index: 0).thead(id: 'tax_headers')[0][1].text).to eq 'Before income tax'
|
|
60
|
+
expect(browser.table(index: 0).thead(id: 'tax_headers')[0][2].text).to eq 'Income tax'
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
describe '#row' do
|
|
65
|
+
it 'finds the first row matching the selector' do
|
|
66
|
+
row = browser.thead(id: 'tax_headers').row(class: 'dark')
|
|
67
|
+
expect(row.id).to eq 'thead_row_1'
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
describe '#rows' do
|
|
72
|
+
it 'finds rows matching the selector' do
|
|
73
|
+
rows = browser.thead(id: 'tax_headers').rows(class: 'dark')
|
|
74
|
+
|
|
75
|
+
expect(rows.size).to eq 1
|
|
76
|
+
expect(rows.first.id).to eq 'thead_row_1'
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
describe '#strings' do
|
|
81
|
+
it 'returns the text of child cells' do
|
|
82
|
+
expect(browser.thead(id: 'tax_headers').strings).to eq [
|
|
83
|
+
['', 'Before income tax', 'Income tax', 'After income tax']
|
|
84
|
+
]
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'watirspec_helper'
|
|
4
|
+
|
|
5
|
+
module Watir
|
|
6
|
+
describe 'TableHeaders' do
|
|
7
|
+
before do
|
|
8
|
+
browser.goto(WatirSpec.url_for('tables.html'))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe 'with selectors' do
|
|
12
|
+
it 'returns the matching elements' do
|
|
13
|
+
expect(browser.theads(id: 'tax_headers').to_a).to eq [browser.thead(id: 'tax_headers')]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '#length' do
|
|
18
|
+
it 'returns the correct number of table theads (page context)' do
|
|
19
|
+
expect(browser.theads.length).to eq 1
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'returns the correct number of table theads (table context)' do
|
|
23
|
+
expect(browser.table(index: 0).theads.length).to eq 1
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe '#[]' do
|
|
28
|
+
it 'returns the row at the given index (page context)' do
|
|
29
|
+
expect(browser.theads[0].id).to eq 'tax_headers'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'returns the row at the given index (table context)' do
|
|
33
|
+
expect(browser.table(index: 0).theads[0].id).to eq 'tax_headers'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
describe '#each' do
|
|
38
|
+
it 'iterates through table theads correctly (page context)' do
|
|
39
|
+
browser.theads.each_with_index do |thead, index|
|
|
40
|
+
expect(thead.id).to eq browser.thead(index: index).id
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
describe '#each' do
|
|
45
|
+
it 'iterates through table theads correctly (page context)' do
|
|
46
|
+
count = 0
|
|
47
|
+
|
|
48
|
+
browser.theads.each_with_index do |thead, index|
|
|
49
|
+
expect(thead.id).to eq browser.thead(index: index).id
|
|
50
|
+
|
|
51
|
+
count += 1
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
expect(count).to be > 0
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it 'iterates through table theads correctly (table context)' do
|
|
58
|
+
table = browser.table(index: 0)
|
|
59
|
+
count = 0
|
|
60
|
+
|
|
61
|
+
table.theads.each_with_index do |thead, index|
|
|
62
|
+
expect(thead.id).to eq table.thead(index: index).id
|
|
63
|
+
|
|
64
|
+
count += 1
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
expect(count).to be > 0
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'watirspec_helper'
|
|
4
|
+
|
|
5
|
+
module Watir
|
|
6
|
+
describe TableRow do
|
|
7
|
+
before do
|
|
8
|
+
browser.goto(WatirSpec.url_for('tables.html'))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe '#exists?' do
|
|
12
|
+
it 'returns true if the table row exists' do
|
|
13
|
+
expect(browser.tr(id: 'outer_first')).to exist
|
|
14
|
+
expect(browser.tr(id: /outer_first/)).to exist
|
|
15
|
+
expect(browser.tr(index: 0)).to exist
|
|
16
|
+
browser.tr(xpath: "//tr[@id='outer_first']")
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'returns the first row if given no args' do
|
|
20
|
+
expect(browser.tr).to exist
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "returns false if the table row doesn't exist" do
|
|
24
|
+
expect(browser.tr(id: 'no_such_id')).not_to exist
|
|
25
|
+
expect(browser.tr(id: /no_such_id/)).not_to exist
|
|
26
|
+
expect(browser.tr(index: 1337)).not_to exist
|
|
27
|
+
browser.tr(xpath: "//tr[@id='no_such_id']")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "raises TypeError when 'what' argument is invalid" do
|
|
31
|
+
expect { browser.tr(id: 3.14).exists? }.to raise_error(TypeError)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe '#[]', except: {browser: :safari, reason: 'Safari does not strip text'} do
|
|
36
|
+
let(:table) { browser.table(id: 'outer') }
|
|
37
|
+
|
|
38
|
+
it 'returns the nth cell of the row' do
|
|
39
|
+
expect(table[0][0].text).to eq 'Table 1, Row 1, Cell 1'
|
|
40
|
+
expect(table[2][0].text).to eq 'Table 1, Row 3, Cell 1'
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
describe '#cells' do
|
|
45
|
+
let(:table) { browser.table(id: 'outer') }
|
|
46
|
+
|
|
47
|
+
it 'returns the correct number of cells' do
|
|
48
|
+
expect(table[0].cells.length).to eq 2
|
|
49
|
+
expect(table[1].cells.length).to eq 2
|
|
50
|
+
expect(table[2].cells.length).to eq 2
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it 'finds cells in the table' do
|
|
54
|
+
expect(table[0].cells(text: /Table 1/).size).to eq 2
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it 'does not find cells from nested tables' do
|
|
58
|
+
expect(table[1].cell(id: 't2_r1_c1')).not_to exist
|
|
59
|
+
expect(table[1].cell(id: /t2_r1_c1/)).not_to exist
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it 'iterates correctly through the cells of the row' do
|
|
63
|
+
browser.table(id: 'outer').tr(index: 1).each_with_index do |cell, idx|
|
|
64
|
+
expect(cell.id).to eq "t1_r2_c#{idx + 1}"
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'watirspec_helper'
|
|
4
|
+
|
|
5
|
+
module Watir
|
|
6
|
+
describe TableRowCollection do
|
|
7
|
+
before do
|
|
8
|
+
browser.goto(WatirSpec.url_for('tables.html'))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe 'with selectors' do
|
|
12
|
+
it 'returns the matching elements' do
|
|
13
|
+
expect(browser.trs(id: 'outer_second').to_a).to eq [browser.tr(id: 'outer_second')]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '#length' do
|
|
18
|
+
it 'returns the correct number of cells (table context)' do
|
|
19
|
+
expect(browser.table(id: 'inner').trs.length).to eq 1
|
|
20
|
+
expect(browser.table(id: 'outer').trs.length).to eq 4
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'returns the correct number of cells (page context)' do
|
|
24
|
+
expect(browser.trs.length).to eq 14
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe '#[]' do
|
|
29
|
+
it 'returns the row at the given index (table context)' do
|
|
30
|
+
expect(browser.table(id: 'outer').trs[0].id).to eq 'outer_first'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'returns the row at the given index (page context)' do
|
|
34
|
+
expect(browser.trs[0].id).to eq 'thead_row_1'
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
describe '#each' do
|
|
39
|
+
it 'iterates through rows correctly' do
|
|
40
|
+
inner_table = browser.table(id: 'inner')
|
|
41
|
+
count = 0
|
|
42
|
+
|
|
43
|
+
inner_table.trs.each_with_index do |r, index|
|
|
44
|
+
expect(r.id).to eq inner_table.tr(index: index).id
|
|
45
|
+
count += 1
|
|
46
|
+
end
|
|
47
|
+
expect(count).to be > 0
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it 'iterates through the outer table correctly' do
|
|
51
|
+
outer_table = browser.table(id: 'outer')
|
|
52
|
+
count = 0
|
|
53
|
+
|
|
54
|
+
outer_table.trs.each_with_index do |r, index|
|
|
55
|
+
expect(r.id).to eq outer_table.tr(index: index).id
|
|
56
|
+
count += 1
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
expect(count).to be > 0
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'watirspec_helper'
|
|
4
|
+
|
|
5
|
+
module Watir
|
|
6
|
+
describe UList do
|
|
7
|
+
before do
|
|
8
|
+
browser.goto(WatirSpec.url_for('non_control_elements.html'))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Exists method
|
|
12
|
+
describe '#exist?' do
|
|
13
|
+
it "returns true if the 'ul' exists" do
|
|
14
|
+
expect(browser.ul(id: 'navbar')).to exist
|
|
15
|
+
expect(browser.ul(id: /navbar/)).to exist
|
|
16
|
+
expect(browser.ul(index: 0)).to exist
|
|
17
|
+
expect(browser.ul(xpath: "//ul[@id='navbar']")).to exist
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'returns the first ul if given no args' do
|
|
21
|
+
expect(browser.ul).to exist
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "returns false if the 'ul' doesn't exist" do
|
|
25
|
+
expect(browser.ul(id: 'no_such_id')).not_to exist
|
|
26
|
+
expect(browser.ul(id: /no_such_id/)).not_to exist
|
|
27
|
+
expect(browser.ul(text: 'no_such_text')).not_to exist
|
|
28
|
+
expect(browser.ul(text: /no_such_text/)).not_to exist
|
|
29
|
+
expect(browser.ul(class: 'no_such_class')).not_to exist
|
|
30
|
+
expect(browser.ul(class: /no_such_class/)).not_to exist
|
|
31
|
+
expect(browser.ul(index: 1337)).not_to exist
|
|
32
|
+
expect(browser.ul(xpath: "//ul[@id='no_such_id']")).not_to exist
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "raises TypeError when 'what' argument is invalid" do
|
|
36
|
+
expect { browser.ul(id: 3.14).exists? }.to raise_error(TypeError)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Attribute methods
|
|
41
|
+
describe '#id' do
|
|
42
|
+
it 'returns the id attribute' do
|
|
43
|
+
expect(browser.ul(class: 'navigation').id).to eq 'navbar'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "returns an empty string if the element exists and the attribute doesn't" do
|
|
47
|
+
expect(browser.ul(index: 1).id).to eq ''
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "raises UnknownObjectException if the ul doesn't exist" do
|
|
51
|
+
expect { browser.ul(id: 'no_such_id').id }.to raise_unknown_object_exception
|
|
52
|
+
expect { browser.ul(index: 1337).id }.to raise_unknown_object_exception
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
describe '#respond_to?' do
|
|
57
|
+
it 'returns true for all attribute methods' do
|
|
58
|
+
expect(browser.ul(index: 0)).to respond_to(:class_name)
|
|
59
|
+
expect(browser.ul(index: 0)).to respond_to(:id)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'watirspec_helper'
|
|
4
|
+
|
|
5
|
+
module Watir
|
|
6
|
+
describe UListCollection do
|
|
7
|
+
before do
|
|
8
|
+
browser.goto(WatirSpec.url_for('non_control_elements.html'))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
describe 'with selectors' do
|
|
12
|
+
it 'returns the matching elements' do
|
|
13
|
+
expect(browser.uls(class: 'navigation').to_a).to eq [browser.ul(class: 'navigation')]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '#length' do
|
|
18
|
+
it 'returns the number of uls' do
|
|
19
|
+
expect(browser.uls.length).to eq 2
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe '#[]' do
|
|
24
|
+
it 'returns the ul at the given index' do
|
|
25
|
+
expect(browser.uls[0].id).to eq 'navbar'
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe '#each' do
|
|
30
|
+
it 'iterates through uls correctly' do
|
|
31
|
+
count = 0
|
|
32
|
+
|
|
33
|
+
browser.uls.each_with_index do |ul, index|
|
|
34
|
+
expect(ul.id).to eq browser.ul(index: index).id
|
|
35
|
+
count += 1
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
expect(count).to be > 0
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Alerts</title>
|
|
5
|
+
</head>
|
|
6
|
+
<body>
|
|
7
|
+
<input id=alert type=button onclick="alert('ok')" value=Alert>
|
|
8
|
+
<input id=confirm type=button onclick="this.value = confirm('set the value')" value=Confirm>
|
|
9
|
+
<input id=prompt type=button onclick='this.value = prompt("enter your name", "John Doe")' value=Prompt>
|
|
10
|
+
<input id=timeout-alert type=button onclick="setTimeout('alert(\'ok\')', 3000)" value=Timeout-Alert>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Child frame</title>
|
|
5
|
+
<meta name="author" content="Software Freedom Conservancy">
|
|
6
|
+
<link rel="author" href="https://github.com/SeleniumHQ/selenium/blob/selenium-4.2.0/common/src/web/scrolling_tests/frame_with_height_above_200.html">
|
|
7
|
+
<link rel="license" href="https://github.com/SeleniumHQ/selenium/blob/trunk/LICENSE">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<h1>This is a scrolling frame test</h1>
|
|
11
|
+
<div>
|
|
12
|
+
<table>
|
|
13
|
+
<tr height="50px">
|
|
14
|
+
<td>First row</td>
|
|
15
|
+
</tr>
|
|
16
|
+
<tr height="50px">
|
|
17
|
+
<td>Second row</td>
|
|
18
|
+
</tr>
|
|
19
|
+
<tr height="50px">
|
|
20
|
+
<td>Third row</td>
|
|
21
|
+
</tr>
|
|
22
|
+
<tr height="50px">
|
|
23
|
+
<td>Fourth row</td>
|
|
24
|
+
</tr>
|
|
25
|
+
</table>
|
|
26
|
+
</div>
|
|
27
|
+
<input type='checkbox' name='scroll_checkbox' />
|
|
28
|
+
</body>
|
|
29
|
+
</html>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<script src="javascript/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
|
4
|
+
</head>
|
|
5
|
+
<script>
|
|
6
|
+
$(document).ready(function() {
|
|
7
|
+
$("#click-logger").click(function(evt) {
|
|
8
|
+
$("#log").append("<p>shift=" + evt.shiftKey + " alt=" + evt.altKey + "</p>");
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
</script>
|
|
12
|
+
<body>
|
|
13
|
+
<div id="click-logger">click me</div>
|
|
14
|
+
<div id="log"></div>
|
|
15
|
+
<div>
|
|
16
|
+
<div onclick="this.innerHTML = 'You Clicked It!'" style="color: red; text-decoration: underline; cursor: pointer;">Can You Click This?</div>
|
|
17
|
+
</div>
|
|
18
|
+
</body>
|
|
19
|
+
</html>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!DOCTYPE HTML>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>closeable window</title>
|
|
5
|
+
<script>
|
|
6
|
+
function closeDelayed(timeout) {
|
|
7
|
+
setTimeout(function() {
|
|
8
|
+
window.close();
|
|
9
|
+
}, timeout);
|
|
10
|
+
}
|
|
11
|
+
</script>
|
|
12
|
+
</head>
|
|
13
|
+
|
|
14
|
+
<body>
|
|
15
|
+
<p>
|
|
16
|
+
Click <a id="close" href="#" onclick="window.close()">here</a> to close this window.
|
|
17
|
+
Click <a id="close-delay" href="#" onclick="closeDelayed(500)">here</a> to close this window with a delay.
|
|
18
|
+
</p>
|
|
19
|
+
</body>
|
|
20
|
+
|
|
21
|
+
</html>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<title>Collections</title>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<span id="a_span">
|
|
9
|
+
<div>first_div</div>
|
|
10
|
+
<div>second_div</div>
|
|
11
|
+
<span>first_span</span>
|
|
12
|
+
<span>second_span</span>
|
|
13
|
+
</span>
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|