selenium-webdriver 3.5.0 → 4.0.0-alpha.4
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.
- package/CHANGES.md +246 -0
- package/LICENSE +1 -1
- package/NOTICE +1 -1
- package/README.md +40 -40
- package/chrome.js +118 -134
- package/edge.js +43 -117
- package/example/chrome_android.js +8 -9
- package/example/chrome_mobile_emulation.js +8 -9
- package/example/firefox_channels.js +23 -19
- package/example/google_search.js +3 -3
- package/example/google_search_test.js +38 -27
- package/example/{chrome_headless.js → headless.js} +15 -7
- package/example/logging.js +40 -7
- package/firefox.js +789 -0
- package/http/index.js +62 -9
- package/http/util.js +11 -6
- package/ie.js +83 -97
- package/index.js +198 -114
- package/io/exec.js +29 -15
- package/io/index.js +1 -1
- package/io/zip.js +1 -1
- package/lib/actions.js +68 -63
- package/lib/atoms/get-attribute.js +86 -0
- package/lib/atoms/is-displayed.js +76 -76
- package/lib/by.js +7 -4
- package/lib/capabilities.js +310 -210
- package/lib/command.js +27 -51
- package/lib/error.js +100 -41
- package/lib/http.js +161 -120
- package/lib/input.js +1044 -8
- package/lib/logging.js +1 -5
- package/lib/promise.js +222 -3331
- package/lib/proxy.js +134 -39
- package/lib/session.js +2 -2
- package/lib/symbols.js +0 -0
- package/lib/until.js +1 -1
- package/lib/webdriver.js +717 -953
- package/net/index.js +21 -25
- package/net/portprober.js +51 -68
- package/package.json +17 -12
- package/proxy.js +0 -0
- package/remote/index.js +63 -44
- package/safari.js +41 -128
- package/testing/index.js +386 -315
- package/.npmignore +0 -2
- package/example/async_await_test.js +0 -68
- package/example/google_search_generator.js +0 -50
- package/example/parallel_flows.js +0 -54
- package/firefox/binary.js +0 -344
- package/firefox/extension.js +0 -224
- package/firefox/index.js +0 -626
- package/firefox/profile.js +0 -394
- package/lib/README +0 -5
- package/lib/atoms/getAttribute.js +0 -9
- package/lib/devmode.js +0 -34
- package/lib/events.js +0 -210
- package/lib/firefox/webdriver.json +0 -70
- package/lib/test/build.js +0 -151
- package/lib/test/data/ClickTest_testClicksASurroundingStrongTag.html +0 -11
- package/lib/test/data/Page.aspx +0 -17
- package/lib/test/data/Page.aspx.cs +0 -22
- package/lib/test/data/Redirect.aspx +0 -11
- package/lib/test/data/Redirect.aspx.cs +0 -9
- package/lib/test/data/Settings.StyleCop +0 -759
- package/lib/test/data/Web.Config +0 -59
- package/lib/test/data/actualXhtmlPage.xhtml +0 -14
- package/lib/test/data/ajaxy_page.html +0 -81
- package/lib/test/data/alerts.html +0 -85
- package/lib/test/data/banner.gif +0 -0
- package/lib/test/data/beach.jpg +0 -0
- package/lib/test/data/blank.html +0 -1
- package/lib/test/data/bodyTypingTest.html +0 -41
- package/lib/test/data/booleanAttributes.html +0 -19
- package/lib/test/data/child/childPage.html +0 -8
- package/lib/test/data/child/grandchild/grandchildPage.html +0 -8
- package/lib/test/data/clickEventPage.html +0 -26
- package/lib/test/data/click_frames.html +0 -10
- package/lib/test/data/click_jacker.html +0 -38
- package/lib/test/data/click_out_of_bounds.html +0 -23
- package/lib/test/data/click_out_of_bounds_overflow.html +0 -85
- package/lib/test/data/click_rtl.html +0 -19
- package/lib/test/data/click_source.html +0 -18
- package/lib/test/data/click_tests/click_iframe.html +0 -6
- package/lib/test/data/click_tests/click_in_iframe.html +0 -8
- package/lib/test/data/click_tests/disabled_element.html +0 -12
- package/lib/test/data/click_tests/disappearing_element.html +0 -62
- package/lib/test/data/click_tests/google_map.html +0 -15
- package/lib/test/data/click_tests/google_map.png +0 -0
- package/lib/test/data/click_tests/html5_submit_buttons.html +0 -16
- package/lib/test/data/click_tests/issue5237.html +0 -9
- package/lib/test/data/click_tests/issue5237_frame.html +0 -1
- package/lib/test/data/click_tests/issue5237_target.html +0 -10
- package/lib/test/data/click_tests/link_that_wraps.html +0 -11
- package/lib/test/data/click_tests/mapped_page1.html +0 -9
- package/lib/test/data/click_tests/mapped_page2.html +0 -9
- package/lib/test/data/click_tests/mapped_page3.html +0 -9
- package/lib/test/data/click_tests/overlapping_elements.html +0 -70
- package/lib/test/data/click_tests/partially_overlapping_elements.html +0 -124
- package/lib/test/data/click_tests/span_that_wraps.html +0 -11
- package/lib/test/data/click_tests/submitted_page.html +0 -9
- package/lib/test/data/click_tests/wrapped_overlapping_elements.html +0 -13
- package/lib/test/data/click_too_big.html +0 -10
- package/lib/test/data/click_too_big_in_frame.html +0 -11
- package/lib/test/data/clicks.html +0 -35
- package/lib/test/data/closeable_window.html +0 -8
- package/lib/test/data/cn-test.html +0 -156
- package/lib/test/data/colorPage.html +0 -20
- package/lib/test/data/cookies.html +0 -30
- package/lib/test/data/coordinates_tests/element_in_frame.html +0 -9
- package/lib/test/data/coordinates_tests/element_in_nested_frame.html +0 -9
- package/lib/test/data/coordinates_tests/page_with_element_out_of_view.html +0 -11
- package/lib/test/data/coordinates_tests/page_with_empty_element.html +0 -10
- package/lib/test/data/coordinates_tests/page_with_fixed_element.html +0 -12
- package/lib/test/data/coordinates_tests/page_with_hidden_element.html +0 -10
- package/lib/test/data/coordinates_tests/page_with_invisible_element.html +0 -10
- package/lib/test/data/coordinates_tests/page_with_transparent_element.html +0 -10
- package/lib/test/data/coordinates_tests/simple_page.html +0 -10
- package/lib/test/data/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
- package/lib/test/data/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
- package/lib/test/data/css/ui-lightness/jquery-ui-1.8.10.custom.css +0 -573
- package/lib/test/data/cssTransform.html +0 -61
- package/lib/test/data/cssTransform2.html +0 -20
- package/lib/test/data/document_write_in_onload.html +0 -13
- package/lib/test/data/dragAndDropInsideScrolledDiv.html +0 -67
- package/lib/test/data/dragAndDropTest.html +0 -102
- package/lib/test/data/dragDropOverflow.html +0 -104
- package/lib/test/data/draggableLists.html +0 -67
- package/lib/test/data/droppableItems.html +0 -65
- package/lib/test/data/dynamic.html +0 -39
- package/lib/test/data/dynamicallyModifiedPage.html +0 -42
- package/lib/test/data/errors.html +0 -15
- package/lib/test/data/firefox/jetpack-sample.xpi +0 -0
- package/lib/test/data/firefox/sample.xpi +0 -0
- package/lib/test/data/firefox/webextension.xpi +0 -0
- package/lib/test/data/fixedFooterNoScroll.html +0 -13
- package/lib/test/data/fixedFooterNoScrollQuirksMode.html +0 -12
- package/lib/test/data/formPage.html +0 -175
- package/lib/test/data/formSelectionPage.html +0 -46
- package/lib/test/data/form_handling_js_submit.html +0 -30
- package/lib/test/data/framePage3.html +0 -7
- package/lib/test/data/frameScrollChild.html +0 -26
- package/lib/test/data/frameScrollPage.html +0 -14
- package/lib/test/data/frameScrollParent.html +0 -11
- package/lib/test/data/frameWithAnimals.html +0 -11
- package/lib/test/data/frame_switching_tests/bug4876.html +0 -9
- package/lib/test/data/frame_switching_tests/bug4876_iframe.html +0 -9
- package/lib/test/data/frame_switching_tests/deletingFrame.html +0 -29
- package/lib/test/data/frame_switching_tests/deletingFrame_iframe.html +0 -8
- package/lib/test/data/frame_switching_tests/deletingFrame_iframe2.html +0 -7
- package/lib/test/data/frameset.html +0 -14
- package/lib/test/data/framesetPage2.html +0 -7
- package/lib/test/data/framesetPage3.html +0 -4
- package/lib/test/data/globalscope.html +0 -15
- package/lib/test/data/hidden.html +0 -5
- package/lib/test/data/hidden_partially.html +0 -45
- package/lib/test/data/html5/blue.jpg +0 -0
- package/lib/test/data/html5/database.js +0 -84
- package/lib/test/data/html5/geolocation.js +0 -18
- package/lib/test/data/html5/green.jpg +0 -0
- package/lib/test/data/html5/red.jpg +0 -0
- package/lib/test/data/html5/status.html +0 -1
- package/lib/test/data/html5/test.appcache +0 -11
- package/lib/test/data/html5/yellow.jpg +0 -0
- package/lib/test/data/html5Page.html +0 -32
- package/lib/test/data/icon.gif +0 -0
- package/lib/test/data/idElements.html +0 -2
- package/lib/test/data/iframeAtBottom.html +0 -15
- package/lib/test/data/iframeWithAlert.html +0 -1
- package/lib/test/data/iframeWithIframe.html +0 -1
- package/lib/test/data/iframes.html +0 -11
- package/lib/test/data/injectableContent.html +0 -22
- package/lib/test/data/javascriptEnhancedForm.html +0 -30
- package/lib/test/data/javascriptPage.html +0 -285
- package/lib/test/data/jquery-1.3.2.js +0 -4376
- package/lib/test/data/js/jquery-1.4.4.min.js +0 -167
- package/lib/test/data/js/jquery-ui-1.8.10.custom.min.js +0 -782
- package/lib/test/data/js/skins/lightgray/content.inline.min.css +0 -1
- package/lib/test/data/js/skins/lightgray/content.min.css +0 -1
- package/lib/test/data/js/skins/lightgray/fonts/readme.md +0 -1
- package/lib/test/data/js/skins/lightgray/fonts/tinymce-small.dev.svg +0 -175
- package/lib/test/data/js/skins/lightgray/fonts/tinymce-small.eot +0 -0
- package/lib/test/data/js/skins/lightgray/fonts/tinymce-small.svg +0 -62
- package/lib/test/data/js/skins/lightgray/fonts/tinymce-small.ttf +0 -0
- package/lib/test/data/js/skins/lightgray/fonts/tinymce-small.woff +0 -0
- package/lib/test/data/js/skins/lightgray/fonts/tinymce.dev.svg +0 -153
- package/lib/test/data/js/skins/lightgray/fonts/tinymce.eot +0 -0
- package/lib/test/data/js/skins/lightgray/fonts/tinymce.svg +0 -63
- package/lib/test/data/js/skins/lightgray/fonts/tinymce.ttf +0 -0
- package/lib/test/data/js/skins/lightgray/fonts/tinymce.woff +0 -0
- package/lib/test/data/js/skins/lightgray/img/anchor.gif +0 -0
- package/lib/test/data/js/skins/lightgray/img/loader.gif +0 -0
- package/lib/test/data/js/skins/lightgray/img/object.gif +0 -0
- package/lib/test/data/js/skins/lightgray/img/trans.gif +0 -0
- package/lib/test/data/js/skins/lightgray/skin.ie7.min.css +0 -1
- package/lib/test/data/js/skins/lightgray/skin.min.css +0 -1
- package/lib/test/data/js/themes/modern/theme.min.js +0 -1
- package/lib/test/data/js/tinymce.min.js +0 -10
- package/lib/test/data/key_logger.html +0 -34
- package/lib/test/data/key_tests/remove_on_keypress.html +0 -36
- package/lib/test/data/keyboard_shortcut.html +0 -36
- package/lib/test/data/linked_image.html +0 -16
- package/lib/test/data/locators_tests/boolean_attribute_selected.html +0 -13
- package/lib/test/data/locators_tests/boolean_attribute_selected_html4.html +0 -13
- package/lib/test/data/longContentPage.html +0 -55
- package/lib/test/data/macbeth.html +0 -5255
- package/lib/test/data/map.png +0 -0
- package/lib/test/data/map_visibility.html +0 -8
- package/lib/test/data/markerTransparent.png +0 -0
- package/lib/test/data/messages.html +0 -15
- package/lib/test/data/meta-redirect.html +0 -11
- package/lib/test/data/missedJsReference.html +0 -11
- package/lib/test/data/modal_dialogs/modal_1.html +0 -21
- package/lib/test/data/modal_dialogs/modal_2.html +0 -21
- package/lib/test/data/modal_dialogs/modal_3.html +0 -15
- package/lib/test/data/modal_dialogs/modalindex.html +0 -21
- package/lib/test/data/mouseOver.html +0 -17
- package/lib/test/data/mousePositionTracker.html +0 -33
- package/lib/test/data/nestedElements.html +0 -164
- package/lib/test/data/overflow/x_auto_y_auto.html +0 -30
- package/lib/test/data/overflow/x_auto_y_hidden.html +0 -30
- package/lib/test/data/overflow/x_auto_y_scroll.html +0 -30
- package/lib/test/data/overflow/x_hidden_y_auto.html +0 -30
- package/lib/test/data/overflow/x_hidden_y_hidden.html +0 -30
- package/lib/test/data/overflow/x_hidden_y_scroll.html +0 -30
- package/lib/test/data/overflow/x_scroll_y_auto.html +0 -30
- package/lib/test/data/overflow/x_scroll_y_hidden.html +0 -30
- package/lib/test/data/overflow/x_scroll_y_scroll.html +0 -30
- package/lib/test/data/overflow-body.html +0 -15
- package/lib/test/data/pageWithOnBeforeUnloadMessage.html +0 -20
- package/lib/test/data/pageWithOnLoad.html +0 -6
- package/lib/test/data/pageWithOnUnload.html +0 -6
- package/lib/test/data/page_with_link_to_slow_loading_page.html +0 -6
- package/lib/test/data/plain.txt +0 -1
- package/lib/test/data/proxy/page1.html +0 -20
- package/lib/test/data/proxy/page2.html +0 -24
- package/lib/test/data/proxy/page3.html +0 -5
- package/lib/test/data/readOnlyPage.html +0 -24
- package/lib/test/data/rectangles.html +0 -40
- package/lib/test/data/resultPage.html +0 -25
- package/lib/test/data/rich_text.html +0 -161
- package/lib/test/data/safari/frames_benchmark.html +0 -31
- package/lib/test/data/screen/screen.css +0 -19
- package/lib/test/data/screen/screen.html +0 -72
- package/lib/test/data/screen/screen.js +0 -7
- package/lib/test/data/screen/screen_frame1.html +0 -72
- package/lib/test/data/screen/screen_frame2.html +0 -72
- package/lib/test/data/screen/screen_frames.html +0 -11
- package/lib/test/data/screen/screen_iframes.html +0 -12
- package/lib/test/data/screen/screen_too_long.html +0 -68
- package/lib/test/data/screen/screen_x_long.html +0 -72
- package/lib/test/data/screen/screen_x_too_long.html +0 -72
- package/lib/test/data/screen/screen_y_long.html +0 -72
- package/lib/test/data/screen/screen_y_too_long.html +0 -72
- package/lib/test/data/scroll.html +0 -27
- package/lib/test/data/scroll2.html +0 -21
- package/lib/test/data/scroll3.html +0 -8
- package/lib/test/data/scroll4.html +0 -7
- package/lib/test/data/scroll5.html +0 -18
- package/lib/test/data/scrolling_tests/frame_with_height_above_200.html +0 -26
- package/lib/test/data/scrolling_tests/frame_with_height_above_2000.html +0 -26
- package/lib/test/data/scrolling_tests/frame_with_nested_scrolling_frame.html +0 -11
- package/lib/test/data/scrolling_tests/frame_with_nested_scrolling_frame_out_of_view.html +0 -12
- package/lib/test/data/scrolling_tests/frame_with_small_height.html +0 -10
- package/lib/test/data/scrolling_tests/page_with_double_overflow_auto.html +0 -19
- package/lib/test/data/scrolling_tests/page_with_frame_out_of_view.html +0 -12
- package/lib/test/data/scrolling_tests/page_with_nested_scrolling_frames.html +0 -11
- package/lib/test/data/scrolling_tests/page_with_nested_scrolling_frames_out_of_view.html +0 -12
- package/lib/test/data/scrolling_tests/page_with_non_scrolling_frame.html +0 -11
- package/lib/test/data/scrolling_tests/page_with_scrolling_frame.html +0 -11
- package/lib/test/data/scrolling_tests/page_with_scrolling_frame_out_of_view.html +0 -12
- package/lib/test/data/scrolling_tests/page_with_tall_frame.html +0 -11
- package/lib/test/data/scrolling_tests/page_with_y_overflow_auto.html +0 -14
- package/lib/test/data/scrolling_tests/target_page.html +0 -9
- package/lib/test/data/selectPage.html +0 -58
- package/lib/test/data/selectableItems.html +0 -65
- package/lib/test/data/sessionCookie.html +0 -21
- package/lib/test/data/sessionCookieDest.html +0 -34
- package/lib/test/data/simple.xml +0 -5
- package/lib/test/data/simpleTest.html +0 -98
- package/lib/test/data/single_text_input.html +0 -12
- package/lib/test/data/slowLoadingAlert.html +0 -10
- package/lib/test/data/slowLoadingResourcePage.html +0 -12
- package/lib/test/data/slow_loading_iframes.html +0 -14
- package/lib/test/data/styledPage.html +0 -28
- package/lib/test/data/svgPiechart.xhtml +0 -81
- package/lib/test/data/svgTest.svg +0 -4
- package/lib/test/data/tables.html +0 -36
- package/lib/test/data/tinymce.html +0 -10
- package/lib/test/data/transformable.xml +0 -11
- package/lib/test/data/transformable.xsl +0 -37
- package/lib/test/data/transparentUpload.html +0 -70
- package/lib/test/data/underscore.html +0 -9
- package/lib/test/data/unicode_ltr.html +0 -8
- package/lib/test/data/upload.html +0 -45
- package/lib/test/data/userDefinedProperty.html +0 -8
- package/lib/test/data/veryLargeCanvas.html +0 -81
- package/lib/test/data/visibility-css.html +0 -21
- package/lib/test/data/win32frameset.html +0 -8
- package/lib/test/data/window_switching_tests/page_with_frame.html +0 -12
- package/lib/test/data/window_switching_tests/simple_page.html +0 -9
- package/lib/test/data/xhtmlFormPage.xhtml +0 -17
- package/lib/test/data/xhtmlTest.html +0 -76
- package/lib/test/fileserver.js +0 -321
- package/lib/test/httpserver.js +0 -120
- package/lib/test/index.js +0 -270
- package/lib/test/promise.js +0 -79
- package/lib/test/resources.js +0 -44
- package/opera.js +0 -405
- package/phantomjs.js +0 -282
- package/test/actions_test.js +0 -52
- package/test/chrome/options_test.js +0 -227
- package/test/chrome/service_test.js +0 -45
- package/test/cookie_test.js +0 -214
- package/test/element_finding_test.js +0 -426
- package/test/execute_script_test.js +0 -350
- package/test/fingerprint_test.js +0 -62
- package/test/firefox/extension_test.js +0 -120
- package/test/firefox/firefox_test.js +0 -261
- package/test/firefox/profile_test.js +0 -140
- package/test/http/http_test.js +0 -223
- package/test/http/util_test.js +0 -178
- package/test/io/io_test.js +0 -360
- package/test/io/zip_test.js +0 -128
- package/test/lib/by_test.js +0 -160
- package/test/lib/capabilities_test.js +0 -111
- package/test/lib/error_test.js +0 -305
- package/test/lib/events_test.js +0 -177
- package/test/lib/http_test.js +0 -696
- package/test/lib/logging_test.js +0 -272
- package/test/lib/promise_aplus_test.js +0 -78
- package/test/lib/promise_error_test.js +0 -884
- package/test/lib/promise_flow_test.js +0 -2288
- package/test/lib/promise_generator_test.js +0 -310
- package/test/lib/promise_test.js +0 -1109
- package/test/lib/testutil.js +0 -90
- package/test/lib/until_test.js +0 -478
- package/test/lib/webdriver_test.js +0 -2311
- package/test/logging_test.js +0 -167
- package/test/net/index_test.js +0 -60
- package/test/net/portprober_test.js +0 -128
- package/test/page_loading_test.js +0 -166
- package/test/phantomjs/execute_phantomjs_test.js +0 -59
- package/test/proxy_test.js +0 -180
- package/test/rect_test.js +0 -60
- package/test/remote_test.js +0 -117
- package/test/safari_test.js +0 -108
- package/test/session_test.js +0 -99
- package/test/stale_element_test.js +0 -63
- package/test/tag_name_test.js +0 -36
- package/test/testing/assert_test.js +0 -373
- package/test/testing/index_test.js +0 -224
- package/test/upload_test.js +0 -86
- package/test/window_test.js +0 -161
- package/testing/assert.js +0 -378
package/test/logging_test.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
// Licensed to the Software Freedom Conservancy (SFC) under one
|
|
2
|
-
// or more contributor license agreements. See the NOTICE file
|
|
3
|
-
// distributed with this work for additional information
|
|
4
|
-
// regarding copyright ownership. The SFC licenses this file
|
|
5
|
-
// to you under the Apache License, Version 2.0 (the
|
|
6
|
-
// "License"); you may not use this file except in compliance
|
|
7
|
-
// with the License. You may obtain a copy of the License at
|
|
8
|
-
//
|
|
9
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
//
|
|
11
|
-
// Unless required by applicable law or agreed to in writing,
|
|
12
|
-
// software distributed under the License is distributed on an
|
|
13
|
-
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
// KIND, either express or implied. See the License for the
|
|
15
|
-
// specific language governing permissions and limitations
|
|
16
|
-
// under the License.
|
|
17
|
-
|
|
18
|
-
'use strict';
|
|
19
|
-
|
|
20
|
-
var Browser = require('..').Browser,
|
|
21
|
-
By = require('..').By,
|
|
22
|
-
logging = require('..').logging,
|
|
23
|
-
assert = require('../testing/assert'),
|
|
24
|
-
test = require('../lib/test');
|
|
25
|
-
|
|
26
|
-
test.suite(function(env) {
|
|
27
|
-
// Logging API has numerous issues with PhantomJS:
|
|
28
|
-
// - does not support adjusting log levels for type "browser".
|
|
29
|
-
// - does not return proper log level for "browser" messages.
|
|
30
|
-
// - does not delete logs after retrieval
|
|
31
|
-
// Logging API is not supported in IE.
|
|
32
|
-
// Logging API not supported in Marionette.
|
|
33
|
-
// Tests depend on opening data URLs, which is broken in Safari (issue 7586)
|
|
34
|
-
test.ignore(env.browsers(
|
|
35
|
-
Browser.PHANTOM_JS, Browser.IE, Browser.SAFARI, Browser.FIREFOX)).
|
|
36
|
-
describe('logging', function() {
|
|
37
|
-
var driver;
|
|
38
|
-
|
|
39
|
-
test.beforeEach(function() {
|
|
40
|
-
driver = null;
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test.afterEach(function*() {
|
|
44
|
-
if (driver) {
|
|
45
|
-
return driver.quit();
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
test.it('can be disabled', function*() {
|
|
50
|
-
var prefs = new logging.Preferences();
|
|
51
|
-
prefs.setLevel(logging.Type.BROWSER, logging.Level.OFF);
|
|
52
|
-
|
|
53
|
-
driver = yield env.builder()
|
|
54
|
-
.setLoggingPrefs(prefs)
|
|
55
|
-
.build();
|
|
56
|
-
|
|
57
|
-
yield driver.get(dataUrl(
|
|
58
|
-
'<!DOCTYPE html><script>',
|
|
59
|
-
'console.info("hello");',
|
|
60
|
-
'console.warn("this is a warning");',
|
|
61
|
-
'console.error("and this is an error");',
|
|
62
|
-
'</script>'));
|
|
63
|
-
return driver.manage().logs().get(logging.Type.BROWSER)
|
|
64
|
-
.then(entries => assert(entries.length).equalTo(0));
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
// Firefox does not capture JS error console log messages.
|
|
68
|
-
test.ignore(env.browsers(Browser.FIREFOX, 'legacy-firefox')).
|
|
69
|
-
it('can be turned down', function*() {
|
|
70
|
-
var prefs = new logging.Preferences();
|
|
71
|
-
prefs.setLevel(logging.Type.BROWSER, logging.Level.SEVERE);
|
|
72
|
-
|
|
73
|
-
driver = yield env.builder()
|
|
74
|
-
.setLoggingPrefs(prefs)
|
|
75
|
-
.build();
|
|
76
|
-
|
|
77
|
-
yield driver.get(dataUrl(
|
|
78
|
-
'<!DOCTYPE html><script>',
|
|
79
|
-
'console.info("hello");',
|
|
80
|
-
'console.warn("this is a warning");',
|
|
81
|
-
'console.error("and this is an error");',
|
|
82
|
-
'</script>'));
|
|
83
|
-
return driver.manage().logs().get(logging.Type.BROWSER)
|
|
84
|
-
.then(function(entries) {
|
|
85
|
-
assert(entries.length).equalTo(1);
|
|
86
|
-
assert(entries[0].level.name).equalTo('SEVERE');
|
|
87
|
-
assert(entries[0].message).matches(/.*\"?and this is an error\"?/);
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
// Firefox does not capture JS error console log messages.
|
|
92
|
-
test.ignore(env.browsers(Browser.FIREFOX, 'legacy-firefox')).
|
|
93
|
-
it('can be made verbose', function*() {
|
|
94
|
-
var prefs = new logging.Preferences();
|
|
95
|
-
prefs.setLevel(logging.Type.BROWSER, logging.Level.DEBUG);
|
|
96
|
-
|
|
97
|
-
driver = yield env.builder()
|
|
98
|
-
.setLoggingPrefs(prefs)
|
|
99
|
-
.build();
|
|
100
|
-
|
|
101
|
-
yield driver.get(dataUrl(
|
|
102
|
-
'<!DOCTYPE html><script>',
|
|
103
|
-
'console.debug("hello");',
|
|
104
|
-
'console.warn("this is a warning");',
|
|
105
|
-
'console.error("and this is an error");',
|
|
106
|
-
'</script>'));
|
|
107
|
-
return driver.manage().logs().get(logging.Type.BROWSER)
|
|
108
|
-
.then(function(entries) {
|
|
109
|
-
assert(entries.length).equalTo(3);
|
|
110
|
-
assert(entries[0].level.name).equalTo('DEBUG');
|
|
111
|
-
assert(entries[0].message).matches(/.*\"?hello\"?/);
|
|
112
|
-
|
|
113
|
-
assert(entries[1].level.name).equalTo('WARNING');
|
|
114
|
-
assert(entries[1].message).matches(/.*\"?this is a warning\"?/);
|
|
115
|
-
|
|
116
|
-
assert(entries[2].level.name).equalTo('SEVERE');
|
|
117
|
-
assert(entries[2].message).matches(/.*\"?and this is an error\"?/);
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
// Firefox does not capture JS error console log messages.
|
|
122
|
-
test.ignore(env.browsers(Browser.FIREFOX, 'legacy-firefox')).
|
|
123
|
-
it('clears records after retrieval', function*() {
|
|
124
|
-
var prefs = new logging.Preferences();
|
|
125
|
-
prefs.setLevel(logging.Type.BROWSER, logging.Level.DEBUG);
|
|
126
|
-
|
|
127
|
-
driver = yield env.builder()
|
|
128
|
-
.setLoggingPrefs(prefs)
|
|
129
|
-
.build();
|
|
130
|
-
|
|
131
|
-
yield driver.get(dataUrl(
|
|
132
|
-
'<!DOCTYPE html><script>',
|
|
133
|
-
'console.debug("hello");',
|
|
134
|
-
'console.warn("this is a warning");',
|
|
135
|
-
'console.error("and this is an error");',
|
|
136
|
-
'</script>'));
|
|
137
|
-
yield driver.manage().logs().get(logging.Type.BROWSER)
|
|
138
|
-
.then(entries => assert(entries.length).equalTo(3));
|
|
139
|
-
return driver.manage().logs().get(logging.Type.BROWSER)
|
|
140
|
-
.then(entries => assert(entries.length).equalTo(0));
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
test.it('does not mix log types', function*() {
|
|
144
|
-
var prefs = new logging.Preferences();
|
|
145
|
-
prefs.setLevel(logging.Type.BROWSER, logging.Level.DEBUG);
|
|
146
|
-
prefs.setLevel(logging.Type.DRIVER, logging.Level.SEVERE);
|
|
147
|
-
|
|
148
|
-
driver = yield env.builder()
|
|
149
|
-
.setLoggingPrefs(prefs)
|
|
150
|
-
.build();
|
|
151
|
-
|
|
152
|
-
yield driver.get(dataUrl(
|
|
153
|
-
'<!DOCTYPE html><script>',
|
|
154
|
-
'console.debug("hello");',
|
|
155
|
-
'console.warn("this is a warning");',
|
|
156
|
-
'console.error("and this is an error");',
|
|
157
|
-
'</script>'));
|
|
158
|
-
return driver.manage().logs().get(logging.Type.DRIVER)
|
|
159
|
-
.then(entries => assert(entries.length).equalTo(0));
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
function dataUrl(var_args) {
|
|
164
|
-
return 'data:text/html,'
|
|
165
|
-
+ Array.prototype.slice.call(arguments, 0).join('');
|
|
166
|
-
}
|
|
167
|
-
});
|
package/test/net/index_test.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// Licensed to the Software Freedom Conservancy (SFC) under one
|
|
2
|
-
// or more contributor license agreements. See the NOTICE file
|
|
3
|
-
// distributed with this work for additional information
|
|
4
|
-
// regarding copyright ownership. The SFC licenses this file
|
|
5
|
-
// to you under the Apache License, Version 2.0 (the
|
|
6
|
-
// "License"); you may not use this file except in compliance
|
|
7
|
-
// with the License. You may obtain a copy of the License at
|
|
8
|
-
//
|
|
9
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
//
|
|
11
|
-
// Unless required by applicable law or agreed to in writing,
|
|
12
|
-
// software distributed under the License is distributed on an
|
|
13
|
-
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
// KIND, either express or implied. See the License for the
|
|
15
|
-
// specific language governing permissions and limitations
|
|
16
|
-
// under the License.
|
|
17
|
-
|
|
18
|
-
'use strict';
|
|
19
|
-
|
|
20
|
-
var assert = require('assert');
|
|
21
|
-
|
|
22
|
-
var net = require('../../net');
|
|
23
|
-
|
|
24
|
-
describe('net.splitHostAndPort', function() {
|
|
25
|
-
it('hostname with no port', function() {
|
|
26
|
-
assert.deepEqual(
|
|
27
|
-
net.splitHostAndPort('www.example.com'),
|
|
28
|
-
{host: 'www.example.com', port: null});
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it('hostname with port', function() {
|
|
32
|
-
assert.deepEqual(
|
|
33
|
-
net.splitHostAndPort('www.example.com:80'),
|
|
34
|
-
{host: 'www.example.com', port: 80});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('IPv4 with no port', function() {
|
|
38
|
-
assert.deepEqual(
|
|
39
|
-
net.splitHostAndPort('127.0.0.1'),
|
|
40
|
-
{host: '127.0.0.1', port: null});
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('IPv4 with port', function() {
|
|
44
|
-
assert.deepEqual(
|
|
45
|
-
net.splitHostAndPort('127.0.0.1:1234'),
|
|
46
|
-
{host: '127.0.0.1', port: 1234});
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it('IPv6 with no port', function() {
|
|
50
|
-
assert.deepEqual(
|
|
51
|
-
net.splitHostAndPort('1234:0:1000:5768:1234:5678:90'),
|
|
52
|
-
{host: '1234:0:1000:5768:1234:5678:90', port: null});
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it('IPv6 with port', function() {
|
|
56
|
-
assert.deepEqual(
|
|
57
|
-
net.splitHostAndPort('[1234:0:1000:5768:1234:5678:90]:1234'),
|
|
58
|
-
{host: '1234:0:1000:5768:1234:5678:90', port: 1234});
|
|
59
|
-
});
|
|
60
|
-
});
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
// Licensed to the Software Freedom Conservancy (SFC) under one
|
|
2
|
-
// or more contributor license agreements. See the NOTICE file
|
|
3
|
-
// distributed with this work for additional information
|
|
4
|
-
// regarding copyright ownership. The SFC licenses this file
|
|
5
|
-
// to you under the Apache License, Version 2.0 (the
|
|
6
|
-
// "License"); you may not use this file except in compliance
|
|
7
|
-
// with the License. You may obtain a copy of the License at
|
|
8
|
-
//
|
|
9
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
//
|
|
11
|
-
// Unless required by applicable law or agreed to in writing,
|
|
12
|
-
// software distributed under the License is distributed on an
|
|
13
|
-
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
// KIND, either express or implied. See the License for the
|
|
15
|
-
// specific language governing permissions and limitations
|
|
16
|
-
// under the License.
|
|
17
|
-
|
|
18
|
-
'use strict';
|
|
19
|
-
|
|
20
|
-
const assert = require('assert');
|
|
21
|
-
const net = require('net');
|
|
22
|
-
|
|
23
|
-
const portprober = require('../../net/portprober');
|
|
24
|
-
|
|
25
|
-
describe('isFree', function() {
|
|
26
|
-
|
|
27
|
-
var server;
|
|
28
|
-
|
|
29
|
-
beforeEach(function() {
|
|
30
|
-
server = net.createServer(function(){});
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
afterEach(function(done) {
|
|
34
|
-
if (!server) return done();
|
|
35
|
-
server.close(function() {
|
|
36
|
-
done();
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('should work for INADDR_ANY', function(done) {
|
|
41
|
-
server.listen(0, function() {
|
|
42
|
-
var port = server.address().port;
|
|
43
|
-
assertPortNotfree(port).then(function() {
|
|
44
|
-
return new Promise(resolve => {
|
|
45
|
-
server.close(function() {
|
|
46
|
-
server = null;
|
|
47
|
-
resolve(assertPortIsFree(port));
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
}).then(function() { done(); }, done);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it('should work for a specific host', function(done) {
|
|
55
|
-
var host = '127.0.0.1';
|
|
56
|
-
server.listen(0, host, function() {
|
|
57
|
-
var port = server.address().port;
|
|
58
|
-
assertPortNotfree(port, host).then(function() {
|
|
59
|
-
return new Promise(resolve => {
|
|
60
|
-
server.close(function() {
|
|
61
|
-
server = null;
|
|
62
|
-
resolve(assertPortIsFree(port, host));
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
}).then(function() { done(); }, done);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
describe('findFreePort', function() {
|
|
71
|
-
var server;
|
|
72
|
-
|
|
73
|
-
beforeEach(function() {
|
|
74
|
-
server = net.createServer(function(){});
|
|
75
|
-
})
|
|
76
|
-
|
|
77
|
-
afterEach(function(done) {
|
|
78
|
-
if (!server) return done();
|
|
79
|
-
server.close(function() {
|
|
80
|
-
done();
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
it('should work for INADDR_ANY', function(done) {
|
|
85
|
-
portprober.findFreePort().then(function(port) {
|
|
86
|
-
server.listen(port, function() {
|
|
87
|
-
assertPortNotfree(port).then(function() {
|
|
88
|
-
return new Promise(resolve => {
|
|
89
|
-
server.close(function() {
|
|
90
|
-
server = null;
|
|
91
|
-
resolve(assertPortIsFree(port));
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
}).then(function() { done(); }, done);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
it('should work for a specific host', function(done) {
|
|
100
|
-
var host = '127.0.0.1';
|
|
101
|
-
portprober.findFreePort(host).then(function(port) {
|
|
102
|
-
server.listen(port, host, function() {
|
|
103
|
-
assertPortNotfree(port, host).then(function() {
|
|
104
|
-
return new Promise(resolve => {
|
|
105
|
-
server.close(function() {
|
|
106
|
-
server = null;
|
|
107
|
-
resolve(assertPortIsFree(port, host));
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
}).then(function() { done(); }, done);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
function assertPortIsFree(port, opt_host) {
|
|
118
|
-
return portprober.isFree(port, opt_host).then(function(free) {
|
|
119
|
-
assert.ok(free, 'port should be free');
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
function assertPortNotfree(port, opt_host) {
|
|
125
|
-
return portprober.isFree(port, opt_host).then(function(free) {
|
|
126
|
-
assert.ok(!free, 'port should is not free');
|
|
127
|
-
});
|
|
128
|
-
}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
// Licensed to the Software Freedom Conservancy (SFC) under one
|
|
2
|
-
// or more contributor license agreements. See the NOTICE file
|
|
3
|
-
// distributed with this work for additional information
|
|
4
|
-
// regarding copyright ownership. The SFC licenses this file
|
|
5
|
-
// to you under the Apache License, Version 2.0 (the
|
|
6
|
-
// "License"); you may not use this file except in compliance
|
|
7
|
-
// with the License. You may obtain a copy of the License at
|
|
8
|
-
//
|
|
9
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
//
|
|
11
|
-
// Unless required by applicable law or agreed to in writing,
|
|
12
|
-
// software distributed under the License is distributed on an
|
|
13
|
-
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
// KIND, either express or implied. See the License for the
|
|
15
|
-
// specific language governing permissions and limitations
|
|
16
|
-
// under the License.
|
|
17
|
-
|
|
18
|
-
'use strict';
|
|
19
|
-
|
|
20
|
-
var Browser = require('..').Browser,
|
|
21
|
-
By = require('..').By,
|
|
22
|
-
until = require('..').until,
|
|
23
|
-
assert = require('../testing/assert'),
|
|
24
|
-
error = require('../lib/error'),
|
|
25
|
-
test = require('../lib/test'),
|
|
26
|
-
Pages = test.Pages;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
test.suite(function(env) {
|
|
30
|
-
var browsers = env.browsers;
|
|
31
|
-
|
|
32
|
-
var driver;
|
|
33
|
-
test.before(function*() {
|
|
34
|
-
driver = yield env.builder().build();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
test.beforeEach(function*() {
|
|
38
|
-
if (!driver) {
|
|
39
|
-
driver = yield env.builder().build();
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test.after(function() {
|
|
44
|
-
if (driver) {
|
|
45
|
-
return driver.quit();
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
test.it('should wait for document to be loaded', function*() {
|
|
50
|
-
yield driver.get(Pages.simpleTestPage);
|
|
51
|
-
return assert(driver.getTitle()).equalTo('Hello WebDriver');
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
test.it('should follow redirects sent in the http response headers',
|
|
55
|
-
function*() {
|
|
56
|
-
yield driver.get(Pages.redirectPage);
|
|
57
|
-
return assert(driver.getTitle()).equalTo('We Arrive Here');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
// Skip Firefox; see https://bugzilla.mozilla.org/show_bug.cgi?id=1280300
|
|
61
|
-
test.ignore(browsers(Browser.FIREFOX)).
|
|
62
|
-
it('should be able to get a fragment on the current page', function*() {
|
|
63
|
-
yield driver.get(Pages.xhtmlTestPage);
|
|
64
|
-
yield driver.get(Pages.xhtmlTestPage + '#text');
|
|
65
|
-
yield driver.findElement(By.id('id1'));
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
test.ignore(browsers(Browser.IPAD, Browser.IPHONE)).
|
|
69
|
-
it('should wait for all frames to load in a frameset', function*() {
|
|
70
|
-
yield driver.get(Pages.framesetPage);
|
|
71
|
-
yield driver.switchTo().frame(0);
|
|
72
|
-
|
|
73
|
-
let txt = yield driver.findElement(By.css('span#pageNumber')).getText();
|
|
74
|
-
assert(txt.trim()).equalTo('1');
|
|
75
|
-
|
|
76
|
-
yield driver.switchTo().defaultContent();
|
|
77
|
-
yield driver.switchTo().frame(1);
|
|
78
|
-
txt = yield driver.findElement(By.css('span#pageNumber')).getText();
|
|
79
|
-
|
|
80
|
-
assert(txt.trim()).equalTo('2');
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
test.ignore(browsers(Browser.SAFARI)).
|
|
84
|
-
it('should be able to navigate back in browser history', function*() {
|
|
85
|
-
yield driver.get(Pages.formPage);
|
|
86
|
-
|
|
87
|
-
yield driver.findElement(By.id('imageButton')).click();
|
|
88
|
-
yield driver.wait(until.titleIs('We Arrive Here'), 2500);
|
|
89
|
-
|
|
90
|
-
yield driver.navigate().back();
|
|
91
|
-
yield driver.wait(until.titleIs('We Leave From Here'), 2500);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
test.ignore(browsers(Browser.SAFARI)).
|
|
95
|
-
it('should be able to navigate back in presence of iframes', function*() {
|
|
96
|
-
yield driver.get(Pages.xhtmlTestPage);
|
|
97
|
-
|
|
98
|
-
yield driver.findElement(By.name('sameWindow')).click();
|
|
99
|
-
yield driver.wait(until.titleIs('This page has iframes'), 2500);
|
|
100
|
-
|
|
101
|
-
yield driver.navigate().back();
|
|
102
|
-
yield driver.wait(until.titleIs('XHTML Test Page'), 2500);
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
test.ignore(browsers(Browser.SAFARI)).
|
|
106
|
-
it('should be able to navigate forwards in browser history', function*() {
|
|
107
|
-
yield driver.get(Pages.formPage);
|
|
108
|
-
|
|
109
|
-
yield driver.findElement(By.id('imageButton')).click();
|
|
110
|
-
yield driver.wait(until.titleIs('We Arrive Here'), 5000);
|
|
111
|
-
|
|
112
|
-
yield driver.navigate().back();
|
|
113
|
-
yield driver.wait(until.titleIs('We Leave From Here'), 5000);
|
|
114
|
-
|
|
115
|
-
yield driver.navigate().forward();
|
|
116
|
-
yield driver.wait(until.titleIs('We Arrive Here'), 5000);
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
// PhantomJS 2.0 does not properly reload pages on refresh.
|
|
120
|
-
test.ignore(browsers(Browser.PHANTOM_JS)).
|
|
121
|
-
it('should be able to refresh a page', function*() {
|
|
122
|
-
yield driver.get(Pages.xhtmlTestPage);
|
|
123
|
-
|
|
124
|
-
yield driver.navigate().refresh();
|
|
125
|
-
|
|
126
|
-
yield assert(driver.getTitle()).equalTo('XHTML Test Page');
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
test.it('should return title of page if set', function*() {
|
|
130
|
-
yield driver.get(Pages.xhtmlTestPage);
|
|
131
|
-
yield assert(driver.getTitle()).equalTo('XHTML Test Page');
|
|
132
|
-
|
|
133
|
-
yield driver.get(Pages.simpleTestPage);
|
|
134
|
-
yield assert(driver.getTitle()).equalTo('Hello WebDriver');
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
describe('timeouts', function() {
|
|
138
|
-
test.afterEach(function() {
|
|
139
|
-
let nullDriver = () => driver = null;
|
|
140
|
-
if (driver) {
|
|
141
|
-
return driver.quit().then(nullDriver, nullDriver);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
// Only implemented in Firefox.
|
|
146
|
-
test.ignore(browsers(
|
|
147
|
-
Browser.CHROME,
|
|
148
|
-
Browser.IE,
|
|
149
|
-
Browser.IPAD,
|
|
150
|
-
Browser.IPHONE,
|
|
151
|
-
Browser.OPERA,
|
|
152
|
-
Browser.PHANTOM_JS)).
|
|
153
|
-
it('should timeout if page load timeout is set', function*() {
|
|
154
|
-
yield driver.manage().timeouts().pageLoadTimeout(1);
|
|
155
|
-
return driver.get(Pages.sleepingPage + '?time=3')
|
|
156
|
-
.then(function() {
|
|
157
|
-
throw Error('Should have timed out on page load');
|
|
158
|
-
}, function(e) {
|
|
159
|
-
if (!(e instanceof error.ScriptTimeoutError)
|
|
160
|
-
&& !(e instanceof error.TimeoutError)) {
|
|
161
|
-
throw Error('Unexpected error response: ' + e);
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
});
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// Licensed to the Software Freedom Conservancy (SFC) under one
|
|
2
|
-
// or more contributor license agreements. See the NOTICE file
|
|
3
|
-
// distributed with this work for additional information
|
|
4
|
-
// regarding copyright ownership. The SFC licenses this file
|
|
5
|
-
// to you under the Apache License, Version 2.0 (the
|
|
6
|
-
// "License"); you may not use this file except in compliance
|
|
7
|
-
// with the License. You may obtain a copy of the License at
|
|
8
|
-
//
|
|
9
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
//
|
|
11
|
-
// Unless required by applicable law or agreed to in writing,
|
|
12
|
-
// software distributed under the License is distributed on an
|
|
13
|
-
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
// KIND, either express or implied. See the License for the
|
|
15
|
-
// specific language governing permissions and limitations
|
|
16
|
-
// under the License.
|
|
17
|
-
|
|
18
|
-
'use strict';
|
|
19
|
-
|
|
20
|
-
var assert = require('assert');
|
|
21
|
-
var path = require('path');
|
|
22
|
-
var test = require('../../lib/test');
|
|
23
|
-
|
|
24
|
-
test.suite(function(env) {
|
|
25
|
-
var driver;
|
|
26
|
-
|
|
27
|
-
test.before(function*() {
|
|
28
|
-
driver = yield env.builder().build();
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
test.after(function() {
|
|
32
|
-
return driver.quit();
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
var testPageUrl =
|
|
36
|
-
'data:text/html,<html><h1>' + path.basename(__filename) + '</h1></html>';
|
|
37
|
-
|
|
38
|
-
test.beforeEach(function() {
|
|
39
|
-
return driver.get(testPageUrl);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
describe('phantomjs.Driver', function() {
|
|
43
|
-
describe('#executePhantomJS()', function() {
|
|
44
|
-
|
|
45
|
-
test.it('can execute scripts using PhantomJS API', function*() {
|
|
46
|
-
let url = yield driver.executePhantomJS('return this.url;');
|
|
47
|
-
assert.equal(testPageUrl, decodeURIComponent(url));
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
test.it('can execute scripts as functions', function*() {
|
|
51
|
-
let result = yield driver.executePhantomJS(function(a, b) {
|
|
52
|
-
return a + b;
|
|
53
|
-
}, 1, 2);
|
|
54
|
-
|
|
55
|
-
assert.equal(3, result);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}, {browsers: ['phantomjs']});
|