Created
June 2, 2020 05:06
-
-
Save Meir017/2a3a191683f0d3fe84aace9b486b3a94 to your computer and use it in GitHub Desktop.
playwright firefox tests
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"name": "Browser", | |
"it": [] | |
}, | |
{ | |
"name": "Page", | |
"it": [] | |
}, | |
{ | |
"name": "Accessibility", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with regular text", | |
"skip": true | |
}, | |
{ | |
"name": "roledescription" | |
}, | |
{ | |
"name": "orientation" | |
}, | |
{ | |
"name": "autocomplete" | |
}, | |
{ | |
"name": "multiselectable" | |
}, | |
{ | |
"name": "keyshortcuts" | |
} | |
] | |
}, | |
{ | |
"name": "filtering children of leaf nodes", | |
"it": [ | |
{ | |
"name": "should not report text nodes inside controls" | |
}, | |
{ | |
"name": "rich text editable fields should have children" | |
}, | |
{ | |
"name": "rich text editable fields with role should have children" | |
} | |
] | |
}, | |
{ | |
"name": "plaintext contenteditable", | |
"it": [ | |
{ | |
"name": "plain text field with role should not have children" | |
}, | |
{ | |
"name": "plain text field without role should not have content" | |
}, | |
{ | |
"name": "plain text field with tabindex and without role should not have content" | |
}, | |
{ | |
"name": "non editable textbox with role and tabIndex and label should not have children" | |
}, | |
{ | |
"name": "checkbox with and tabIndex and label should not have children" | |
}, | |
{ | |
"name": "checkbox without label should not have children" | |
} | |
] | |
}, | |
{ | |
"name": "root option", | |
"it": [ | |
{ | |
"name": "should work a button" | |
}, | |
{ | |
"name": "should work an input" | |
}, | |
{ | |
"name": "should work on a menu" | |
}, | |
{ | |
"name": "should return null when the element is no longer in DOM" | |
}, | |
{ | |
"name": "should show uninteresting nodes" | |
} | |
] | |
}, | |
{ | |
"name": "Page.click", | |
"it": [ | |
{ | |
"name": "should click the button" | |
}, | |
{ | |
"name": "should click svg" | |
}, | |
{ | |
"name": "should click the button if window.Node is removed" | |
}, | |
{ | |
"name": "should click on a span with an inline element inside" | |
}, | |
{ | |
"name": "should not throw UnhandledPromiseRejection when page closes" | |
}, | |
{ | |
"name": "should click the button after navigation " | |
}, | |
{ | |
"name": "should click the button after a cross origin navigation " | |
}, | |
{ | |
"name": "should click with disabled javascript" | |
}, | |
{ | |
"name": "should click when one of inline box children is outside of viewport" | |
}, | |
{ | |
"name": "should select the text by triple clicking" | |
}, | |
{ | |
"name": "should click offscreen buttons" | |
}, | |
{ | |
"name": "should waitFor visible when already visible" | |
}, | |
{ | |
"name": "should waitFor hidden when already hidden" | |
}, | |
{ | |
"name": "should waitFor hidden" | |
}, | |
{ | |
"name": "should waitFor visible" | |
}, | |
{ | |
"name": "should click wrapped links" | |
}, | |
{ | |
"name": "should click on checkbox input and toggle" | |
}, | |
{ | |
"name": "should click on checkbox label and toggle" | |
}, | |
{ | |
"name": "should fail to click a missing button" | |
}, | |
{ | |
"name": "should not hang with touch-enabled viewports" | |
}, | |
{ | |
"name": "should scroll and click the button" | |
}, | |
{ | |
"name": "should double click the button" | |
}, | |
{ | |
"name": "should click a partially obscured button" | |
}, | |
{ | |
"name": "should click a rotated button" | |
}, | |
{ | |
"name": "should fire contextmenu event on right click" | |
}, | |
{ | |
"name": "should click links which cause navigation" | |
}, | |
{ | |
"name": "should click the button inside an iframe" | |
}, | |
{ | |
"name": "should click the button with fixed position inside an iframe", | |
"skip": true | |
}, | |
{ | |
"name": "should click the button with deviceScaleFactor set" | |
}, | |
{ | |
"name": "should click the button with px border with relative point" | |
}, | |
{ | |
"name": "should click the button with em border with relative point" | |
}, | |
{ | |
"name": "should click a very large button with relative point" | |
}, | |
{ | |
"name": "should click a button in scrolling container with relative point", | |
"skip": true | |
}, | |
{ | |
"name": "should update modifiers correctly" | |
}, | |
{ | |
"name": "should click an offscreen element when scroll-behavior is smooth", | |
"skip": true | |
}, | |
{ | |
"name": "should click on an animated button", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext.cookies", | |
"it": [ | |
{ | |
"name": "should return no cookies in pristine browser context" | |
}, | |
{ | |
"name": "should get a cookie" | |
}, | |
{ | |
"name": "should properly report httpOnly cookie" | |
}, | |
{ | |
"name": "should properly report \"Strict\" sameSite cookie", | |
"skip": true | |
}, | |
{ | |
"name": "should properly report \"Lax\" sameSite cookie", | |
"skip": true | |
}, | |
{ | |
"name": "should get multiple cookies" | |
}, | |
{ | |
"name": "should get cookies from multiple urls" | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext.setCookies", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should isolate cookies in browser contexts" | |
}, | |
{ | |
"name": "should set multiple cookies" | |
}, | |
{ | |
"name": "should have |expires| set to |-1| for session cookies" | |
}, | |
{ | |
"name": "should set cookie with reasonable defaults" | |
}, | |
{ | |
"name": "should set a cookie with a path" | |
}, | |
{ | |
"name": "should not set a cookie with blank page URL" | |
}, | |
{ | |
"name": "should not set a cookie on a data URL page" | |
}, | |
{ | |
"name": "should default to setting secure cookie for HTTPS websites" | |
}, | |
{ | |
"name": "should be able to set unsecure cookie for HTTP website" | |
}, | |
{ | |
"name": "should set a cookie on a different domain" | |
}, | |
{ | |
"name": "should set cookies from a frame" | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext.clearCookies", | |
"it": [ | |
{ | |
"name": "should clear cookies" | |
}, | |
{ | |
"name": "should isolate cookies when clearing" | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.Dialog", | |
"it": [ | |
{ | |
"name": "should fire" | |
}, | |
{ | |
"name": "should allow accepting prompts" | |
}, | |
{ | |
"name": "should dismiss the prompt" | |
}, | |
{ | |
"name": "should accept the confirm prompt" | |
}, | |
{ | |
"name": "should dismiss the confirm prompt" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.boundingBox", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should handle nested frames" | |
}, | |
{ | |
"name": "should return null for invisible elements" | |
}, | |
{ | |
"name": "should force a layout" | |
}, | |
{ | |
"name": "should work with SVG nodes" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.contentFrame", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work for cross-process iframes" | |
}, | |
{ | |
"name": "should work for cross-frame evaluations" | |
}, | |
{ | |
"name": "should return null for non-iframes" | |
}, | |
{ | |
"name": "should return null for document.documentElement" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.ownerFrame", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work for cross-process iframes" | |
}, | |
{ | |
"name": "should work for document" | |
}, | |
{ | |
"name": "should work for iframe elements" | |
}, | |
{ | |
"name": "should work for cross-frame evaluations" | |
}, | |
{ | |
"name": "should work for detached elements" | |
}, | |
{ | |
"name": "should work for adopted elements", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.click", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with Node removed" | |
}, | |
{ | |
"name": "should work for Shadow DOM v1" | |
}, | |
{ | |
"name": "should work for TextNodes" | |
}, | |
{ | |
"name": "should throw for detached nodes" | |
}, | |
{ | |
"name": "should throw for hidden nodes" | |
}, | |
{ | |
"name": "should throw for recursively hidden nodes" | |
}, | |
{ | |
"name": "should throw for <br> elements" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.hover", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work when Node is removed" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.visibleRatio", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work when Node is removed" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.scrollIntoViewIfNeeded", | |
"it": [ | |
{ | |
"name": "should work", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.fill", | |
"it": [ | |
{ | |
"name": "should fill input" | |
}, | |
{ | |
"name": "should fill input when Node is removed" | |
} | |
] | |
}, | |
{ | |
"name": "Page.viewport", | |
"it": [ | |
{ | |
"name": "should get the proper viewport size" | |
}, | |
{ | |
"name": "should support mobile emulation" | |
}, | |
{ | |
"name": "should support touch emulation" | |
}, | |
{ | |
"name": "should be detectable by Modernizr" | |
}, | |
{ | |
"name": "should detect touch when applying viewport with touches" | |
}, | |
{ | |
"name": "should support landscape emulation", | |
"skip": true | |
}, | |
{ | |
"name": "should fire orientationchange event", | |
"skip": true | |
}, | |
{ | |
"name": "default mobile viewports to 980 width", | |
"skip": true | |
}, | |
{ | |
"name": "respect meta viewport tag", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Page.emulate", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should support clicking" | |
} | |
] | |
}, | |
{ | |
"name": "Page.emulateMedia type", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should throw in case of bad type argument" | |
} | |
] | |
}, | |
{ | |
"name": "Page.emulateMedia colorScheme", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should throw in case of bad argument" | |
}, | |
{ | |
"name": "should work during navigation", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext({timezoneId})", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should throw for invalid timezone IDs" | |
} | |
] | |
}, | |
{ | |
"name": "Page.evaluate", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should transfer NaN" | |
}, | |
{ | |
"name": "should transfer -0" | |
}, | |
{ | |
"name": "should transfer Infinity" | |
}, | |
{ | |
"name": "should transfer -Infinity" | |
}, | |
{ | |
"name": "should transfer arrays" | |
}, | |
{ | |
"name": "should transfer arrays as arrays, not objects" | |
}, | |
{ | |
"name": "should modify global environment" | |
}, | |
{ | |
"name": "should evaluate in the page context" | |
}, | |
{ | |
"name": "should return undefined for objects with symbols" | |
}, | |
{ | |
"name": "should work with function shorthands" | |
}, | |
{ | |
"name": "should work with unicode chars" | |
}, | |
{ | |
"name": "should throw when evaluation triggers reload" | |
}, | |
{ | |
"name": "should await promise" | |
}, | |
{ | |
"name": "should work right after framenavigated" | |
}, | |
{ | |
"name": "should work right after a cross-origin navigation" | |
}, | |
{ | |
"name": "should work from-inside an exposed function" | |
}, | |
{ | |
"name": "should reject promise with exception" | |
}, | |
{ | |
"name": "should support thrown strings as error messages" | |
}, | |
{ | |
"name": "should support thrown numbers as error messages" | |
}, | |
{ | |
"name": "should return complex objects" | |
}, | |
{ | |
"name": "should return NaN" | |
}, | |
{ | |
"name": "should return -0" | |
}, | |
{ | |
"name": "should return Infinity" | |
}, | |
{ | |
"name": "should return -Infinity" | |
}, | |
{ | |
"name": "should accept \"undefined\" as one of multiple parameters" | |
}, | |
{ | |
"name": "should properly serialize undefined arguments" | |
}, | |
{ | |
"name": "should properly serialize undefined fields" | |
}, | |
{ | |
"name": "should properly serialize null arguments" | |
}, | |
{ | |
"name": "should properly serialize null fields" | |
}, | |
{ | |
"name": "should return undefined for non-serializable objects" | |
}, | |
{ | |
"name": "should fail for circular object" | |
}, | |
{ | |
"name": "should be able to throw a tricky error" | |
}, | |
{ | |
"name": "should accept a string" | |
}, | |
{ | |
"name": "should accept a string with semi colons" | |
}, | |
{ | |
"name": "should accept a string with comments" | |
}, | |
{ | |
"name": "should accept element handle as an argument" | |
}, | |
{ | |
"name": "should throw if underlying element was disposed" | |
}, | |
{ | |
"name": "should simulate a user gesture" | |
}, | |
{ | |
"name": "should throw a nice error after a navigation" | |
}, | |
{ | |
"name": "should not throw an error when evaluation does a navigation" | |
}, | |
{ | |
"name": "should transfer 100Mb of data from page to node.js", | |
"skip": true | |
}, | |
{ | |
"name": "should throw error with detailed information on exception inside promise " | |
}, | |
{ | |
"name": "should work even when JSON is set to null" | |
} | |
] | |
}, | |
{ | |
"name": "Page.evaluateOnNewDocument", | |
"it": [ | |
{ | |
"name": "should evaluate before anything else on the page" | |
}, | |
{ | |
"name": "should support multiple scripts" | |
}, | |
{ | |
"name": "should work with CSP" | |
}, | |
{ | |
"name": "should work after a cross origin navigation" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.evaluate", | |
"it": [ | |
{ | |
"name": "should have different execution contexts" | |
}, | |
{ | |
"name": "should have correct execution contexts" | |
}, | |
{ | |
"name": "should dispose context on navigation" | |
}, | |
{ | |
"name": "should dispose context on cross-origin navigation" | |
}, | |
{ | |
"name": "should execute after cross-site navigation" | |
}, | |
{ | |
"name": "should allow cross-frame js handles", | |
"skip": true | |
}, | |
{ | |
"name": "should allow cross-frame element handles" | |
}, | |
{ | |
"name": "should not allow cross-frame element handles when frames do not script each other", | |
"skip": true | |
}, | |
{ | |
"name": "should return non-empty Node.constructor.name in utility context", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Frame.evaluateHandle", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.evaluate", | |
"it": [ | |
{ | |
"name": "should throw for detached frames" | |
}, | |
{ | |
"name": "should be isolated between frames" | |
} | |
] | |
}, | |
{ | |
"name": "Frame Management", | |
"it": [ | |
{ | |
"name": "should handle nested frames" | |
}, | |
{ | |
"name": "should send events when frames are manipulated dynamically" | |
}, | |
{ | |
"name": "should send \"framenavigated\" when navigating on anchor URLs" | |
}, | |
{ | |
"name": "should persist mainFrame on cross-process navigation" | |
}, | |
{ | |
"name": "should not send attach/detach events for main frame" | |
}, | |
{ | |
"name": "should detach child frames on navigation" | |
}, | |
{ | |
"name": "should support framesets" | |
}, | |
{ | |
"name": "should report frame from-inside shadow DOM" | |
}, | |
{ | |
"name": "should report frame.name()" | |
}, | |
{ | |
"name": "should report frame.parent()" | |
}, | |
{ | |
"name": "should report different frame instance when frame re-attaches" | |
} | |
] | |
}, | |
{ | |
"name": "input", | |
"it": [ | |
{ | |
"name": "should upload the file" | |
} | |
] | |
}, | |
{ | |
"name": "Page.waitForFileChooser", | |
"it": [ | |
{ | |
"name": "should emit event" | |
}, | |
{ | |
"name": "should work when file input is attached to DOM" | |
}, | |
{ | |
"name": "should work when file input is not attached to DOM" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should respect default timeout when there is no custom timeout" | |
}, | |
{ | |
"name": "should prioritize exact timeout over default timeout" | |
}, | |
{ | |
"name": "should work with no timeout" | |
}, | |
{ | |
"name": "should return the same file chooser when there are many watchdogs simultaneously" | |
}, | |
{ | |
"name": "should accept single file" | |
}, | |
{ | |
"name": "should be able to read selected file" | |
}, | |
{ | |
"name": "should be able to reset selected files with empty file list" | |
}, | |
{ | |
"name": "should not accept multiple files for single-file input" | |
} | |
] | |
}, | |
{ | |
"name": "Page.waitForFileChooser isMultiple", | |
"it": [ | |
{ | |
"name": "should work for single file pick" | |
}, | |
{ | |
"name": "should work for \"multiple\"" | |
}, | |
{ | |
"name": "should work for \"webkitdirectory\"" | |
} | |
] | |
}, | |
{ | |
"name": "Page.evaluateHandle", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should accept object handle as an argument" | |
}, | |
{ | |
"name": "should accept object handle to primitive types" | |
}, | |
{ | |
"name": "should warn on nested object handles" | |
}, | |
{ | |
"name": "should accept object handle to unserializable value" | |
}, | |
{ | |
"name": "should use the same JS wrappers" | |
}, | |
{ | |
"name": "should work with primitives" | |
} | |
] | |
}, | |
{ | |
"name": "JSHandle.getProperty", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "JSHandle.jsonValue", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should not work with dates" | |
}, | |
{ | |
"name": "should throw for circular objects" | |
}, | |
{ | |
"name": "should work with tricky values" | |
} | |
] | |
}, | |
{ | |
"name": "JSHandle.getProperties", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should return empty map for non-objects" | |
}, | |
{ | |
"name": "should return even non-own properties" | |
} | |
] | |
}, | |
{ | |
"name": "JSHandle.asElement", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should return null for non-elements" | |
}, | |
{ | |
"name": "should return ElementHandle for TextNodes" | |
}, | |
{ | |
"name": "should work with nullified Node" | |
} | |
] | |
}, | |
{ | |
"name": "JSHandle.toString", | |
"it": [ | |
{ | |
"name": "should work for primitives" | |
}, | |
{ | |
"name": "should work for complicated objects" | |
}, | |
{ | |
"name": "should work for promises" | |
}, | |
{ | |
"name": "should work with different subtypes" | |
} | |
] | |
}, | |
{ | |
"name": "Keyboard", | |
"it": [ | |
{ | |
"name": "should type into a textarea" | |
}, | |
{ | |
"name": "should press the metaKey" | |
}, | |
{ | |
"name": "should move with the arrow keys" | |
}, | |
{ | |
"name": "should send a character with ElementHandle.press" | |
}, | |
{ | |
"name": "ElementHandle.press should support |text| option", | |
"skip": true | |
}, | |
{ | |
"name": "should send a character with sendCharacter" | |
}, | |
{ | |
"name": "should report shiftKey", | |
"skip": true | |
}, | |
{ | |
"name": "should report multiple modifiers" | |
}, | |
{ | |
"name": "should send proper codes while typing" | |
}, | |
{ | |
"name": "should send proper codes while typing with shift" | |
}, | |
{ | |
"name": "should not type canceled events" | |
}, | |
{ | |
"name": "should specify repeat property" | |
}, | |
{ | |
"name": "should type all kinds of characters" | |
}, | |
{ | |
"name": "should specify location" | |
}, | |
{ | |
"name": "should throw on unknown keys" | |
}, | |
{ | |
"name": "should type emoji" | |
}, | |
{ | |
"name": "should type emoji into an iframe" | |
}, | |
{ | |
"name": "should handle selectAll", | |
"skip": true | |
}, | |
{ | |
"name": "should be able to prevent selectAll", | |
"skip": true | |
}, | |
{ | |
"name": "should press the meta key" | |
}, | |
{ | |
"name": "should work after a cross origin navigation" | |
} | |
] | |
}, | |
{ | |
"name": "Mouse", | |
"it": [ | |
{ | |
"name": "should click the document" | |
}, | |
{ | |
"name": "should select the text with mouse" | |
}, | |
{ | |
"name": "should trigger hover state" | |
}, | |
{ | |
"name": "should trigger hover state with removed window.Node" | |
}, | |
{ | |
"name": "should set modifier keys on click" | |
}, | |
{ | |
"name": "should tween mouse movement" | |
}, | |
{ | |
"name": "should work with mobile viewports and cross process navigations" | |
} | |
] | |
}, | |
{ | |
"name": "Page.goto", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work cross-process" | |
}, | |
{ | |
"name": "should capture iframe navigation request" | |
}, | |
{ | |
"name": "should capture cross-process iframe navigation request" | |
}, | |
{ | |
"name": "should work with anchor navigation" | |
}, | |
{ | |
"name": "should work with redirects" | |
}, | |
{ | |
"name": "should navigate to about:blank" | |
}, | |
{ | |
"name": "should return response when page changes its URL after load" | |
}, | |
{ | |
"name": "should work with subframes return 204" | |
}, | |
{ | |
"name": "should fail when server returns 204" | |
}, | |
{ | |
"name": "should navigate to empty page with domcontentloaded" | |
}, | |
{ | |
"name": "should work when page calls history API in beforeunload" | |
}, | |
{ | |
"name": "should fail when navigating to bad url" | |
}, | |
{ | |
"name": "should fail when navigating to bad SSL" | |
}, | |
{ | |
"name": "should fail when navigating to bad SSL after redirects" | |
}, | |
{ | |
"name": "should not crash when navigating to bad SSL after a cross origin navigation" | |
}, | |
{ | |
"name": "should throw if networkidle is passed as an option" | |
}, | |
{ | |
"name": "should fail when main resources failed to load" | |
}, | |
{ | |
"name": "should fail when exceeding maximum navigation timeout" | |
}, | |
{ | |
"name": "should fail when exceeding default maximum navigation timeout" | |
}, | |
{ | |
"name": "should fail when exceeding default maximum timeout" | |
}, | |
{ | |
"name": "should prioritize default navigation timeout over default timeout" | |
}, | |
{ | |
"name": "should disable timeout when its set to 0" | |
}, | |
{ | |
"name": "should work when navigating to valid url" | |
}, | |
{ | |
"name": "should work when navigating to data url" | |
}, | |
{ | |
"name": "should work when navigating to 404" | |
}, | |
{ | |
"name": "should return last response in redirect chain" | |
}, | |
{ | |
"name": "should not leak listeners during navigation" | |
}, | |
{ | |
"name": "should not leak listeners during bad navigation" | |
}, | |
{ | |
"name": "should not leak listeners during navigation of 11 pages" | |
}, | |
{ | |
"name": "should navigate to dataURL and not fire dataURL requests" | |
}, | |
{ | |
"name": "should navigate to URL with hash and fire requests without hash" | |
}, | |
{ | |
"name": "should work with self requesting page" | |
}, | |
{ | |
"name": "should fail when navigating and show the url at the error message" | |
}, | |
{ | |
"name": "should send referer" | |
}, | |
{ | |
"name": "should reject referer option when setExtraHTTPHeaders provides referer" | |
}, | |
{ | |
"name": "should override referrer-policy" | |
}, | |
{ | |
"name": "should fail when canceled by another navigation", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "network idle", | |
"it": [ | |
{ | |
"name": "should navigate to empty page with networkidle0" | |
}, | |
{ | |
"name": "should navigate to empty page with networkidle2" | |
}, | |
{ | |
"name": "should wait for networkidle0 to succeed navigation" | |
}, | |
{ | |
"name": "should wait for networkidle2 to succeed navigation" | |
}, | |
{ | |
"name": "should wait for networkidle0 to succeed navigation with request from previous navigation" | |
}, | |
{ | |
"name": "should wait for networkidle2 to succeed navigation with request from previous navigation" | |
}, | |
{ | |
"name": "should wait for networkidle0 in waitForNavigation" | |
}, | |
{ | |
"name": "should wait for networkidle2 in waitForNavigation" | |
}, | |
{ | |
"name": "should wait for networkidle0 in setContent" | |
}, | |
{ | |
"name": "should wait for networkidle2 in setContent" | |
}, | |
{ | |
"name": "should wait for networkidle0 in setContent with request from previous navigation", | |
"skip": true | |
}, | |
{ | |
"name": "should wait for networkidle2 in setContent with request from previous navigation", | |
"skip": true | |
}, | |
{ | |
"name": "should wait for networkidle0 when navigating iframe" | |
}, | |
{ | |
"name": "should wait for networkidle2 when navigating iframe" | |
}, | |
{ | |
"name": "should wait for networkidle0 in setContent from the child frame" | |
}, | |
{ | |
"name": "should wait for networkidle2 in setContent from the child frame" | |
}, | |
{ | |
"name": "should wait for networkidle0 from the child frame" | |
}, | |
{ | |
"name": "should wait for networkidle2 from the child frame" | |
} | |
] | |
}, | |
{ | |
"name": "Page.waitForNavigation", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with both domcontentloaded and load" | |
}, | |
{ | |
"name": "should work with clicking on anchor links" | |
}, | |
{ | |
"name": "should work with clicking on links which do not commit navigation" | |
}, | |
{ | |
"name": "should work with history.pushState()" | |
}, | |
{ | |
"name": "should work with history.replaceState()" | |
}, | |
{ | |
"name": "should work with DOM history.back()/history.forward()" | |
}, | |
{ | |
"name": "should work when subframe issues window.stop()", | |
"skip": true | |
}, | |
{ | |
"name": "should work with url match" | |
}, | |
{ | |
"name": "should work with url match for same document navigations" | |
} | |
] | |
}, | |
{ | |
"name": "Page.waitForLoadState", | |
"it": [ | |
{ | |
"name": "should pick up ongoing navigation" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should resolve immediately if loaded" | |
}, | |
{ | |
"name": "should resolve immediately if load state matches" | |
}, | |
{ | |
"name": "should work with pages that have loaded before being connected to", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Page.goBack", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with HistoryAPI" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.goto", | |
"it": [ | |
{ | |
"name": "should navigate subframes" | |
}, | |
{ | |
"name": "should reject when frame detaches" | |
}, | |
{ | |
"name": "should return matching responses" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.waitForNavigation", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should fail when frame detaches" | |
} | |
] | |
}, | |
{ | |
"name": "Page.reload", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.Request", | |
"it": [ | |
{ | |
"name": "should fire for navigation requests" | |
}, | |
{ | |
"name": "should fire for iframes" | |
}, | |
{ | |
"name": "should fire for fetches" | |
} | |
] | |
}, | |
{ | |
"name": "Request.frame", | |
"it": [ | |
{ | |
"name": "should work for main frame navigation request" | |
}, | |
{ | |
"name": "should work for subframe navigation request" | |
}, | |
{ | |
"name": "should work for fetch requests" | |
} | |
] | |
}, | |
{ | |
"name": "Request.headers", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Response.headers", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Request.postData", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should be |undefined| when there is no post data" | |
} | |
] | |
}, | |
{ | |
"name": "Response.text", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should return uncompressed text" | |
}, | |
{ | |
"name": "should throw when requesting body of redirected response" | |
}, | |
{ | |
"name": "should wait until response completes" | |
} | |
] | |
}, | |
{ | |
"name": "Response.json", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Response.buffer", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with compression" | |
} | |
] | |
}, | |
{ | |
"name": "Response.statusText", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Network Events", | |
"it": [ | |
{ | |
"name": "Page.Events.Request" | |
}, | |
{ | |
"name": "Page.Events.Response" | |
}, | |
{ | |
"name": "Page.Events.RequestFailed", | |
"skip": true | |
}, | |
{ | |
"name": "Page.Events.RequestFinished" | |
}, | |
{ | |
"name": "should fire events in proper order" | |
}, | |
{ | |
"name": "should support redirects" | |
} | |
] | |
}, | |
{ | |
"name": "Request.isNavigationRequest", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work when navigating to image" | |
} | |
] | |
}, | |
{ | |
"name": "Page.setExtraHTTPHeaders", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should throw for non-string header values" | |
} | |
] | |
}, | |
{ | |
"name": "Page.close", | |
"it": [ | |
{ | |
"name": "should reject all promises when page is closed" | |
}, | |
{ | |
"name": "should not be visible in context.pages" | |
}, | |
{ | |
"name": "should run beforeunload if asked for" | |
}, | |
{ | |
"name": "should *not* run beforeunload by default" | |
}, | |
{ | |
"name": "should set the page close state" | |
}, | |
{ | |
"name": "should terminate network waiters", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.Load", | |
"it": [ | |
{ | |
"name": "should fire when expected" | |
} | |
] | |
}, | |
{ | |
"name": "Async stacks", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.error", | |
"it": [ | |
{ | |
"name": "should throw when page crashes" | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.Popup", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with noopener" | |
}, | |
{ | |
"name": "should work with clicking target=_blank", | |
"skip": true | |
}, | |
{ | |
"name": "should work with fake-clicking target=_blank and rel=noopener", | |
"skip": true | |
}, | |
{ | |
"name": "should work with clicking target=_blank and rel=noopener", | |
"skip": true | |
}, | |
{ | |
"name": "should not treat navigations as new popups", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Page.opener", | |
"it": [ | |
{ | |
"name": "should provide access to the opener page" | |
}, | |
{ | |
"name": "should return null if parent page has been closed" | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.Console", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work for different console API calls" | |
}, | |
{ | |
"name": "should not fail for window object" | |
}, | |
{ | |
"name": "should trigger correct Log" | |
}, | |
{ | |
"name": "should have location for console API calls" | |
}, | |
{ | |
"name": "should not throw when there are console messages in detached iframes", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.DOMContentLoaded", | |
"it": [ | |
{ | |
"name": "should fire when expected" | |
} | |
] | |
}, | |
{ | |
"name": "Page.waitForRequest", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with predicate" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should respect default timeout" | |
}, | |
{ | |
"name": "should work with no timeout" | |
}, | |
{ | |
"name": "should work with url match" | |
} | |
] | |
}, | |
{ | |
"name": "Page.waitForResponse", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should respect default timeout" | |
}, | |
{ | |
"name": "should work with predicate" | |
}, | |
{ | |
"name": "should work with no timeout" | |
} | |
] | |
}, | |
{ | |
"name": "Page.exposeFunction", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should throw exception in page context" | |
}, | |
{ | |
"name": "should support throwing \"null\"" | |
}, | |
{ | |
"name": "should be callable from-inside evaluateOnNewDocument" | |
}, | |
{ | |
"name": "should survive navigation" | |
}, | |
{ | |
"name": "should await returned promise" | |
}, | |
{ | |
"name": "should work on frames" | |
}, | |
{ | |
"name": "should work on frames before navigation" | |
}, | |
{ | |
"name": "should work after cross origin navigation" | |
}, | |
{ | |
"name": "should work with complex objects" | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.PageError", | |
"it": [ | |
{ | |
"name": "should fire" | |
} | |
] | |
}, | |
{ | |
"name": "Page.setContent", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with domcontentloaded" | |
}, | |
{ | |
"name": "should not confuse with previous navigation" | |
}, | |
{ | |
"name": "should work with doctype" | |
}, | |
{ | |
"name": "should work with HTML 4 doctype" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should respect default navigation timeout" | |
}, | |
{ | |
"name": "should await resources to load" | |
}, | |
{ | |
"name": "should work fast enough" | |
}, | |
{ | |
"name": "should work with tricky content" | |
}, | |
{ | |
"name": "should work with accents" | |
}, | |
{ | |
"name": "should work with emojis" | |
}, | |
{ | |
"name": "should work with newline" | |
} | |
] | |
}, | |
{ | |
"name": "Page.addScriptTag", | |
"it": [ | |
{ | |
"name": "should throw an error if no options are provided" | |
}, | |
{ | |
"name": "should work with a url" | |
}, | |
{ | |
"name": "should work with a url and type=module" | |
}, | |
{ | |
"name": "should work with a path and type=module" | |
}, | |
{ | |
"name": "should work with a content and type=module" | |
}, | |
{ | |
"name": "should throw an error if loading from url fail" | |
}, | |
{ | |
"name": "should work with a path" | |
}, | |
{ | |
"name": "should work with content" | |
}, | |
{ | |
"name": "should throw when added with content to the CSP page", | |
"skip": true | |
}, | |
{ | |
"name": "should throw when added with URL to the CSP page" | |
} | |
] | |
}, | |
{ | |
"name": "Page.addStyleTag", | |
"it": [ | |
{ | |
"name": "should throw an error if no options are provided" | |
}, | |
{ | |
"name": "should work with a url" | |
}, | |
{ | |
"name": "should throw an error if loading from url fail" | |
}, | |
{ | |
"name": "should work with a path" | |
}, | |
{ | |
"name": "should include sourceURL when path is provided" | |
}, | |
{ | |
"name": "should work with content" | |
}, | |
{ | |
"name": "should throw when added with content to the CSP page" | |
}, | |
{ | |
"name": "should throw when added with URL to the CSP page" | |
} | |
] | |
}, | |
{ | |
"name": "Page.url", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Page.setCacheEnabled", | |
"it": [ | |
{ | |
"name": "should enable or disable the cache based on the state passed" | |
} | |
] | |
}, | |
{ | |
"name": "Page.title", | |
"it": [ | |
{ | |
"name": "should return the page title" | |
} | |
] | |
}, | |
{ | |
"name": "Page.select", | |
"it": [ | |
{ | |
"name": "should select single option" | |
}, | |
{ | |
"name": "should select single option by value" | |
}, | |
{ | |
"name": "should select single option by label" | |
}, | |
{ | |
"name": "should select single option by handle" | |
}, | |
{ | |
"name": "should select single option by index" | |
}, | |
{ | |
"name": "should select single option by multiple attributes" | |
}, | |
{ | |
"name": "should not select single option when some attributes do not match" | |
}, | |
{ | |
"name": "should select only first option" | |
}, | |
{ | |
"name": "should not throw when select causes navigation" | |
}, | |
{ | |
"name": "should select multiple options" | |
}, | |
{ | |
"name": "should select multiple options with attributes" | |
}, | |
{ | |
"name": "should respect event bubbling" | |
}, | |
{ | |
"name": "should throw when element is not a <select>" | |
}, | |
{ | |
"name": "should return [] on no matched values" | |
}, | |
{ | |
"name": "should return an array of matched values" | |
}, | |
{ | |
"name": "should return an array of one element when multiple is not set" | |
}, | |
{ | |
"name": "should return [] on no values" | |
}, | |
{ | |
"name": "should deselect all options when passed no values for a multiple select" | |
}, | |
{ | |
"name": "should deselect all options when passed no values for a select without multiple" | |
}, | |
{ | |
"name": "should throw if passed wrong types" | |
}, | |
{ | |
"name": "should work when re-defining top-level Event class" | |
} | |
] | |
}, | |
{ | |
"name": "Page.fill", | |
"it": [ | |
{ | |
"name": "should fill textarea" | |
}, | |
{ | |
"name": "should fill input" | |
}, | |
{ | |
"name": "should throw on non-text inputs" | |
}, | |
{ | |
"name": "should fill different input types" | |
}, | |
{ | |
"name": "should fill contenteditable" | |
}, | |
{ | |
"name": "should fill elements with existing value and selection" | |
}, | |
{ | |
"name": "should throw when element is not an <input>, <textarea> or [contenteditable]" | |
}, | |
{ | |
"name": "should throw if passed a non-string value" | |
}, | |
{ | |
"name": "should wait for visible visibilty" | |
}, | |
{ | |
"name": "should throw on disabled and readonly elements" | |
}, | |
{ | |
"name": "should throw on hidden and invisible elements" | |
}, | |
{ | |
"name": "should be able to fill the body" | |
}, | |
{ | |
"name": "should be able to fill when focus is in the wrong frame" | |
} | |
] | |
}, | |
{ | |
"name": "Page.Events.Close", | |
"it": [ | |
{ | |
"name": "should work with window.close" | |
}, | |
{ | |
"name": "should work with page.close" | |
} | |
] | |
}, | |
{ | |
"name": "Page.browserContext", | |
"it": [ | |
{ | |
"name": "should return the correct browser instance" | |
} | |
] | |
}, | |
{ | |
"name": "Page.$eval", | |
"it": [ | |
{ | |
"name": "should work with css selector" | |
}, | |
{ | |
"name": "should work with id selector" | |
}, | |
{ | |
"name": "should work with data-test selector" | |
}, | |
{ | |
"name": "should work with data-testid selector" | |
}, | |
{ | |
"name": "should work with data-test-id selector" | |
}, | |
{ | |
"name": "should work with zs selector" | |
}, | |
{ | |
"name": "should work with xpath selector" | |
}, | |
{ | |
"name": "should work with text selector" | |
}, | |
{ | |
"name": "should auto-detect css selector" | |
}, | |
{ | |
"name": "should auto-detect css selector with attributes" | |
}, | |
{ | |
"name": "should accept arguments" | |
}, | |
{ | |
"name": "should accept ElementHandles as arguments" | |
}, | |
{ | |
"name": "should throw error if no element is found" | |
}, | |
{ | |
"name": "should support >> syntax" | |
}, | |
{ | |
"name": "should support >> syntax with different engines" | |
}, | |
{ | |
"name": "should support spaces with >> syntax" | |
}, | |
{ | |
"name": "should enter shadow roots with >> syntax" | |
} | |
] | |
}, | |
{ | |
"name": "Page.$$eval", | |
"it": [ | |
{ | |
"name": "should work with css selector" | |
}, | |
{ | |
"name": "should work with zs selector" | |
}, | |
{ | |
"name": "should work with xpath selector" | |
}, | |
{ | |
"name": "should auto-detect css selector" | |
}, | |
{ | |
"name": "should support >> syntax" | |
}, | |
{ | |
"name": "should enter shadow roots with >> syntax" | |
} | |
] | |
}, | |
{ | |
"name": "Page.$", | |
"it": [ | |
{ | |
"name": "should query existing element with css selector" | |
}, | |
{ | |
"name": "should query existing element with zs selector" | |
}, | |
{ | |
"name": "should query existing element with xpath selector" | |
}, | |
{ | |
"name": "should return null for non-existing element" | |
}, | |
{ | |
"name": "should auto-detect xpath selector" | |
}, | |
{ | |
"name": "should auto-detect text selector" | |
}, | |
{ | |
"name": "should auto-detect css selector" | |
}, | |
{ | |
"name": "should support >> syntax" | |
}, | |
{ | |
"name": "should respect waitFor visibility" | |
} | |
] | |
}, | |
{ | |
"name": "Page.$$", | |
"it": [ | |
{ | |
"name": "should query existing elements" | |
}, | |
{ | |
"name": "should return empty array if nothing is found" | |
} | |
] | |
}, | |
{ | |
"name": "Page.$$ xpath", | |
"it": [ | |
{ | |
"name": "should query existing element" | |
}, | |
{ | |
"name": "should return empty array for non-existing element" | |
}, | |
{ | |
"name": "should return multiple elements" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.$", | |
"it": [ | |
{ | |
"name": "should query existing element" | |
}, | |
{ | |
"name": "should query existing element with zs selector" | |
}, | |
{ | |
"name": "should return null for non-existing element" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.$eval", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should retrieve content from subtree" | |
}, | |
{ | |
"name": "should throw in case of missing selector" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.$$eval", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should retrieve content from subtree" | |
}, | |
{ | |
"name": "should not throw in case of missing selector" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.$$", | |
"it": [ | |
{ | |
"name": "should query existing elements" | |
}, | |
{ | |
"name": "should return empty array for non-existing elements" | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.$$ xpath", | |
"it": [ | |
{ | |
"name": "should query existing element" | |
}, | |
{ | |
"name": "should return null for non-existing element" | |
} | |
] | |
}, | |
{ | |
"name": "zselector", | |
"it": [ | |
{ | |
"name": "query" | |
}, | |
{ | |
"name": "create" | |
}, | |
{ | |
"name": "children of various display parents" | |
}, | |
{ | |
"name": "boundary" | |
} | |
] | |
}, | |
{ | |
"name": "text selector", | |
"it": [ | |
{ | |
"name": "query" | |
}, | |
{ | |
"name": "create" | |
} | |
] | |
}, | |
{ | |
"name": "selectors.register", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should update" | |
} | |
] | |
}, | |
{ | |
"name": "Page.screenshot", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should clip rect" | |
}, | |
{ | |
"name": "should clip elements to the viewport" | |
}, | |
{ | |
"name": "should throw on clip outside the viewport" | |
}, | |
{ | |
"name": "should run in parallel" | |
}, | |
{ | |
"name": "should take fullPage screenshots" | |
}, | |
{ | |
"name": "should restore viewport after fullPage screenshot" | |
}, | |
{ | |
"name": "should run in parallel in multiple pages" | |
}, | |
{ | |
"name": "should allow transparency", | |
"skip": true | |
}, | |
{ | |
"name": "should render white background on jpeg file" | |
}, | |
{ | |
"name": "should work with odd clip size on Retina displays" | |
}, | |
{ | |
"name": "should return base64" | |
}, | |
{ | |
"name": "should work with a mobile viewport", | |
"skip": true | |
}, | |
{ | |
"name": "should work for canvas" | |
}, | |
{ | |
"name": "should work for translateZ" | |
}, | |
{ | |
"name": "should work for webgl", | |
"skip": true | |
}, | |
{ | |
"name": "should work while navigating", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "ElementHandle.screenshot", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should take into account padding and border" | |
}, | |
{ | |
"name": "should capture full element when larger than viewport in parallel" | |
}, | |
{ | |
"name": "should capture full element when larger than viewport" | |
}, | |
{ | |
"name": "should scroll element into view" | |
}, | |
{ | |
"name": "should work with a rotated element" | |
}, | |
{ | |
"name": "should fail to screenshot a detached element" | |
}, | |
{ | |
"name": "should not hang with zero width/height element" | |
}, | |
{ | |
"name": "should work for an element with fractional dimensions" | |
}, | |
{ | |
"name": "should work for an element with an offset" | |
} | |
] | |
}, | |
{ | |
"name": "Page.waitFor", | |
"it": [ | |
{ | |
"name": "should wait for selector" | |
}, | |
{ | |
"name": "should wait for an xpath" | |
}, | |
{ | |
"name": "should not allow you to select an element with single slash xpath" | |
}, | |
{ | |
"name": "should timeout" | |
}, | |
{ | |
"name": "should work with multiline body" | |
}, | |
{ | |
"name": "should wait for predicate" | |
}, | |
{ | |
"name": "should throw when unknown type" | |
}, | |
{ | |
"name": "should wait for predicate with arguments" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.waitForFunction", | |
"it": [ | |
{ | |
"name": "should accept a string" | |
}, | |
{ | |
"name": "should work when resolved right before execution context disposal" | |
}, | |
{ | |
"name": "should poll on interval" | |
}, | |
{ | |
"name": "should poll on mutation" | |
}, | |
{ | |
"name": "should poll on raf" | |
}, | |
{ | |
"name": "should work with strict CSP policy", | |
"skip": true | |
}, | |
{ | |
"name": "should throw on bad polling value" | |
}, | |
{ | |
"name": "should throw negative polling interval" | |
}, | |
{ | |
"name": "should return the success value as a JSHandle" | |
}, | |
{ | |
"name": "should return the window as a success value" | |
}, | |
{ | |
"name": "should accept ElementHandle arguments" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should respect default timeout" | |
}, | |
{ | |
"name": "should disable timeout when its set to 0" | |
}, | |
{ | |
"name": "should survive cross-process navigation" | |
}, | |
{ | |
"name": "should survive navigations" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.$wait", | |
"it": [ | |
{ | |
"name": "should accept arguments" | |
}, | |
{ | |
"name": "should query selector constantly" | |
}, | |
{ | |
"name": "should be able to wait for removal" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.waitForSelector", | |
"it": [ | |
{ | |
"name": "should immediately resolve promise if node exists" | |
}, | |
{ | |
"name": "should work with removed MutationObserver" | |
}, | |
{ | |
"name": "should resolve promise when node is added" | |
}, | |
{ | |
"name": "should work when node is added through innerHTML" | |
}, | |
{ | |
"name": "Page.$ waitFor is shortcut for main frame" | |
}, | |
{ | |
"name": "should run in specified frame" | |
}, | |
{ | |
"name": "should throw when frame is detached" | |
}, | |
{ | |
"name": "should survive cross-process navigation" | |
}, | |
{ | |
"name": "should wait for visible" | |
}, | |
{ | |
"name": "should wait for visible recursively" | |
}, | |
{ | |
"name": "hidden should wait for visibility: hidden" | |
}, | |
{ | |
"name": "hidden should wait for display: none" | |
}, | |
{ | |
"name": "hidden should wait for removal" | |
}, | |
{ | |
"name": "should return null if waiting to hide non-existing element" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should have an error message specifically for awaiting an element to be hidden" | |
}, | |
{ | |
"name": "should respond to node attribute mutation" | |
}, | |
{ | |
"name": "should return the element handle" | |
}, | |
{ | |
"name": "should have correct stack trace for timeout" | |
}, | |
{ | |
"name": "should throw for unknown waitFor option" | |
}, | |
{ | |
"name": "should throw for numeric waitFor option" | |
}, | |
{ | |
"name": "should throw for true waitFor option" | |
}, | |
{ | |
"name": "should throw for false waitFor option" | |
}, | |
{ | |
"name": "should support >> selector syntax" | |
} | |
] | |
}, | |
{ | |
"name": "Frame.waitForSelector xpath", | |
"it": [ | |
{ | |
"name": "should support some fancy xpath" | |
}, | |
{ | |
"name": "should respect timeout" | |
}, | |
{ | |
"name": "should run in specified frame" | |
}, | |
{ | |
"name": "should throw when frame is detached" | |
}, | |
{ | |
"name": "should return the element handle" | |
}, | |
{ | |
"name": "should allow you to select an element with single slash" | |
} | |
] | |
}, | |
{ | |
"name": "Page.setRequestInterception", | |
"it": [ | |
{ | |
"name": "should intercept" | |
}, | |
{ | |
"name": "should work when POST is redirected with 302" | |
}, | |
{ | |
"name": "should work when header manipulation headers with redirect" | |
}, | |
{ | |
"name": "should be able to remove headers" | |
}, | |
{ | |
"name": "should contain referer header" | |
}, | |
{ | |
"name": "should properly return navigation response when URL has cookies" | |
}, | |
{ | |
"name": "should stop intercepting" | |
}, | |
{ | |
"name": "should show custom HTTP headers" | |
}, | |
{ | |
"name": "should work with redirect inside sync XHR" | |
}, | |
{ | |
"name": "should work with custom referer headers" | |
}, | |
{ | |
"name": "should be abortable" | |
}, | |
{ | |
"name": "should be abortable with custom error codes" | |
}, | |
{ | |
"name": "should send referer" | |
}, | |
{ | |
"name": "should fail navigation when aborting main resource" | |
}, | |
{ | |
"name": "should work with redirects" | |
}, | |
{ | |
"name": "should work with redirects for subresources" | |
}, | |
{ | |
"name": "should work with equal requests" | |
}, | |
{ | |
"name": "should navigate to dataURL and not fire dataURL requests" | |
}, | |
{ | |
"name": "should be able to fetch dataURL and not fire dataURL requests" | |
}, | |
{ | |
"name": "should navigate to URL with hash and and fire requests without hash", | |
"skip": true | |
}, | |
{ | |
"name": "should work with encoded server" | |
}, | |
{ | |
"name": "should work with badly encoded server" | |
}, | |
{ | |
"name": "should work with encoded server - 2" | |
}, | |
{ | |
"name": "should not throw \"Invalid Interception Id\" if the request was cancelled" | |
}, | |
{ | |
"name": "should throw if interception is not enabled" | |
}, | |
{ | |
"name": "should intercept main resource during cross-process navigation" | |
}, | |
{ | |
"name": "should not throw when continued after navigation" | |
}, | |
{ | |
"name": "should not throw when continued after cross-process navigation" | |
} | |
] | |
}, | |
{ | |
"name": "Request.continue", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should amend HTTP headers" | |
}, | |
{ | |
"name": "should amend method" | |
}, | |
{ | |
"name": "should amend method on main request" | |
}, | |
{ | |
"name": "should amend post data" | |
} | |
] | |
}, | |
{ | |
"name": "Request.fulfill", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with status code 422" | |
}, | |
{ | |
"name": "should allow mocking binary responses" | |
}, | |
{ | |
"name": "should stringify intercepted request response headers" | |
} | |
] | |
}, | |
{ | |
"name": "Page.authenticate", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should fail if wrong credentials" | |
}, | |
{ | |
"name": "should allow disable authentication" | |
} | |
] | |
}, | |
{ | |
"name": "Interception.setOfflineMode", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should emulate navigator.onLine" | |
} | |
] | |
}, | |
{ | |
"name": "Interception vs isNavigationRequest", | |
"it": [ | |
{ | |
"name": "should work with request interception" | |
} | |
] | |
}, | |
{ | |
"name": "Page.setCacheEnabled", | |
"it": [ | |
{ | |
"name": "should stay disabled when toggling request interception on/off" | |
} | |
] | |
}, | |
{ | |
"name": "ignoreHTTPSErrors", | |
"it": [ | |
{ | |
"name": "should work with request interception" | |
} | |
] | |
}, | |
{ | |
"name": "Overrides.setGeolocation", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should throw when invalid longitude" | |
}, | |
{ | |
"name": "should throw with missing latitude" | |
}, | |
{ | |
"name": "should not modify passed default options object" | |
}, | |
{ | |
"name": "should throw with missing longitude in default options" | |
}, | |
{ | |
"name": "should use context options" | |
} | |
] | |
}, | |
{ | |
"name": "Workers", | |
"it": [ | |
{ | |
"name": "Page.workers" | |
}, | |
{ | |
"name": "should emit created and destroyed events" | |
}, | |
{ | |
"name": "should report console logs" | |
}, | |
{ | |
"name": "should have JSHandles for console logs" | |
}, | |
{ | |
"name": "should evaluate" | |
}, | |
{ | |
"name": "should report errors" | |
}, | |
{ | |
"name": "should clear upon navigation" | |
}, | |
{ | |
"name": "should clear upon cross-process navigation" | |
}, | |
{ | |
"name": "should report network activity" | |
}, | |
{ | |
"name": "should report network activity on worker creation", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Capabilities", | |
"it": [ | |
{ | |
"name": "Web Assembly should work" | |
} | |
] | |
}, | |
{ | |
"name": "Permissions", | |
"it": [ | |
{ | |
"name": "should be prompt by default", | |
"skip": true | |
}, | |
{ | |
"name": "should deny permission when not listed", | |
"skip": true | |
}, | |
{ | |
"name": "should fail when bad permission is given", | |
"skip": true | |
}, | |
{ | |
"name": "should grant permission when listed", | |
"skip": true | |
}, | |
{ | |
"name": "should reset permissions", | |
"skip": true | |
}, | |
{ | |
"name": "should trigger permission onchange", | |
"skip": true | |
}, | |
{ | |
"name": "should isolate permissions between browser contexs", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext", | |
"it": [ | |
{ | |
"name": "should have default context" | |
}, | |
{ | |
"name": "should create new incognito context" | |
}, | |
{ | |
"name": "window.open should use parent tab context" | |
}, | |
{ | |
"name": "should isolate localStorage and cookies" | |
}, | |
{ | |
"name": "should propagate default viewport to the page" | |
}, | |
{ | |
"name": "should take fullPage screenshots when default viewport is null" | |
}, | |
{ | |
"name": "should restore default viewport after fullPage screenshot" | |
}, | |
{ | |
"name": "should make a copy of default viewport" | |
}, | |
{ | |
"name": "should take element screenshot when default viewport is null and restore back" | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext({setUserAgent})", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work for subframes" | |
}, | |
{ | |
"name": "should emulate device user-agent" | |
}, | |
{ | |
"name": "should make a copy of default options" | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext({bypassCSP})", | |
"it": [ | |
{ | |
"name": "should bypass CSP meta tag" | |
}, | |
{ | |
"name": "should bypass CSP header" | |
}, | |
{ | |
"name": "should bypass after cross-process navigation" | |
}, | |
{ | |
"name": "should bypass CSP in iframes as well" | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext({javaScriptEnabled})", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should be able to navigate after disabling javascript" | |
} | |
] | |
}, | |
{ | |
"name": "ignoreHTTPSErrors", | |
"it": [ | |
{ | |
"name": "should work" | |
}, | |
{ | |
"name": "should work with mixed content" | |
} | |
] | |
}, | |
{ | |
"name": "defaultContext()", | |
"it": [ | |
{ | |
"name": "context.cookies() should work" | |
}, | |
{ | |
"name": "context.setCookies() should work" | |
}, | |
{ | |
"name": "context.clearCookies() should work" | |
} | |
] | |
}, | |
{ | |
"name": "Fixtures", | |
"it": [ | |
{ | |
"name": "dumpio option should work with webSocket option" | |
}, | |
{ | |
"name": "should dump browser process stderr" | |
}, | |
{ | |
"name": "should close the browser when the node process closes" | |
}, | |
{ | |
"name": "should report browser close signal" | |
}, | |
{ | |
"name": "should report browser close signal 2" | |
}, | |
{ | |
"name": "should close the browser on SIGINT" | |
}, | |
{ | |
"name": "should close the browser on SIGTERM" | |
}, | |
{ | |
"name": "should close the browser on SIGHUP" | |
}, | |
{ | |
"name": "should kill the browser on double SIGINT" | |
}, | |
{ | |
"name": "should kill the browser on SIGINT + SIGTERM" | |
}, | |
{ | |
"name": "should kill the browser on SIGTERM + SIGINT" | |
} | |
] | |
}, | |
{ | |
"name": "Playwright", | |
"it": [] | |
}, | |
{ | |
"name": "Playwright.launch", | |
"it": [ | |
{ | |
"name": "should reject all promises when browser is closed" | |
}, | |
{ | |
"name": "should reject if executable path is invalid" | |
}, | |
{ | |
"name": "should have default URL when launching browser" | |
}, | |
{ | |
"name": "should have custom URL when launching browser" | |
}, | |
{ | |
"name": "should return child_process instance" | |
} | |
] | |
}, | |
{ | |
"name": "Playwright.executablePath", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Playwright.name", | |
"it": [ | |
{ | |
"name": "should work" | |
} | |
] | |
}, | |
{ | |
"name": "Playwright.defaultArguments", | |
"it": [ | |
{ | |
"name": "should return the default arguments" | |
}, | |
{ | |
"name": "should filter out ignored default arguments" | |
} | |
] | |
}, | |
{ | |
"name": "Top-level requires", | |
"it": [ | |
{ | |
"name": "should require top-level Errors" | |
}, | |
{ | |
"name": "should require top-level DeviceDescriptors" | |
} | |
] | |
}, | |
{ | |
"name": "Browser.isConnected", | |
"it": [ | |
{ | |
"name": "should set the browser connected state" | |
}, | |
{ | |
"name": "should throw when used after isConnected returns false" | |
} | |
] | |
}, | |
{ | |
"name": "Browser.disconnect", | |
"it": [ | |
{ | |
"name": "should reject navigation when browser closes" | |
}, | |
{ | |
"name": "should reject waitForSelector when browser closes" | |
}, | |
{ | |
"name": "should throw if used after disconnect" | |
} | |
] | |
}, | |
{ | |
"name": "Browser.close", | |
"it": [ | |
{ | |
"name": "should terminate network waiters" | |
}, | |
{ | |
"name": "should be able to close remote browser" | |
} | |
] | |
}, | |
{ | |
"name": "Playwright.launch |webSocket| option", | |
"it": [ | |
{ | |
"name": "should not have websocket by default" | |
}, | |
{ | |
"name": "should support the webSocket option" | |
}, | |
{ | |
"name": "should fire \"disconnected\" when closing without webSocket" | |
}, | |
{ | |
"name": "should fire \"disconnected\" when closing with webSocket" | |
} | |
] | |
}, | |
{ | |
"name": "Playwright.connect", | |
"it": [ | |
{ | |
"name": "should be able to reconnect to a browser", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Playwright.launch({userDataDir})", | |
"it": [ | |
{ | |
"name": "userDataDir option" | |
}, | |
{ | |
"name": "userDataDir argument" | |
}, | |
{ | |
"name": "userDataDir option should restore state", | |
"skip": true | |
}, | |
{ | |
"name": "userDataDir option should restore cookies", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "Headful", | |
"it": [ | |
{ | |
"name": "should have default url when launching browser" | |
}, | |
{ | |
"name": "headless should be able to read cookies written by headful", | |
"skip": true | |
}, | |
{ | |
"name": "should close browser with beforeunload page", | |
"skip": true | |
} | |
] | |
}, | |
{ | |
"name": "BrowserContext", | |
"it": [ | |
{ | |
"name": "should work across sessions" | |
} | |
] | |
}, | |
{ | |
"name": "Browser.Events.disconnected", | |
"it": [ | |
{ | |
"name": "should be emitted when: browser gets closed, disconnected or underlying websocket gets closed" | |
} | |
] | |
}, | |
{ | |
"name": "Playwright.connect", | |
"it": [ | |
{ | |
"name": "should be able to connect multiple times to the same browser" | |
}, | |
{ | |
"name": "should not be able to connect multiple times without websocket" | |
}, | |
{ | |
"name": "should be able to close remote browser" | |
}, | |
{ | |
"name": "should be able to connect to the same page simultaneously" | |
} | |
] | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment