summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/test
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/test')
-rw-r--r--remote/test/puppeteer/test/.eslintrc.js5
-rw-r--r--remote/test/puppeteer/test/TestExpectations.json3146
-rw-r--r--remote/test/puppeteer/test/TestSuites.json10
-rw-r--r--remote/test/puppeteer/test/assets/abort-request.html1
-rw-r--r--remote/test/puppeteer/test/assets/beforeunload.html1
-rw-r--r--remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe-container.html1
-rw-r--r--remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe.html1
-rw-r--r--remote/test/puppeteer/test/assets/cached/one-style-font.html1
-rw-r--r--remote/test/puppeteer/test/assets/cached/one-style.html1
-rw-r--r--remote/test/puppeteer/test/assets/csp.html1
-rw-r--r--remote/test/puppeteer/test/assets/csscoverage/empty.html1
-rw-r--r--remote/test/puppeteer/test/assets/csscoverage/involved.html1
-rw-r--r--remote/test/puppeteer/test/assets/csscoverage/media.html1
-rw-r--r--remote/test/puppeteer/test/assets/csscoverage/multiple.html1
-rw-r--r--remote/test/puppeteer/test/assets/csscoverage/simple.html1
-rw-r--r--remote/test/puppeteer/test/assets/csscoverage/sourceurl.html1
-rw-r--r--remote/test/puppeteer/test/assets/csscoverage/unused.html1
-rw-r--r--remote/test/puppeteer/test/assets/dynamic-oopif.html1
-rw-r--r--remote/test/puppeteer/test/assets/empty.html1
-rw-r--r--remote/test/puppeteer/test/assets/error.html1
-rw-r--r--remote/test/puppeteer/test/assets/frames/frame.html3
-rw-r--r--remote/test/puppeteer/test/assets/frames/frameset.html1
-rw-r--r--remote/test/puppeteer/test/assets/frames/lazy-frame.html1
-rw-r--r--remote/test/puppeteer/test/assets/frames/nested-frames.html1
-rw-r--r--remote/test/puppeteer/test/assets/frames/one-frame-url-fragment.html1
-rw-r--r--remote/test/puppeteer/test/assets/frames/one-frame.html1
-rw-r--r--remote/test/puppeteer/test/assets/frames/two-frames.html1
-rw-r--r--remote/test/puppeteer/test/assets/global-var.html1
-rw-r--r--remote/test/puppeteer/test/assets/grid.html1
-rw-r--r--remote/test/puppeteer/test/assets/historyapi.html1
-rw-r--r--remote/test/puppeteer/test/assets/initiator.html1
-rw-r--r--remote/test/puppeteer/test/assets/inner-frame1.html1
-rw-r--r--remote/test/puppeteer/test/assets/inner-frame2.html1
-rw-r--r--remote/test/puppeteer/test/assets/input/touchscreen.html148
-rw-r--r--remote/test/puppeteer/test/assets/jscoverage/eval.html1
-rw-r--r--remote/test/puppeteer/test/assets/jscoverage/involved.html1
-rw-r--r--remote/test/puppeteer/test/assets/jscoverage/multiple.html1
-rw-r--r--remote/test/puppeteer/test/assets/jscoverage/ranges.html1
-rw-r--r--remote/test/puppeteer/test/assets/jscoverage/simple.html1
-rw-r--r--remote/test/puppeteer/test/assets/jscoverage/sourceurl.html1
-rw-r--r--remote/test/puppeteer/test/assets/jscoverage/unused.html1
-rw-r--r--remote/test/puppeteer/test/assets/lazy-oopif-frame.html1
-rw-r--r--remote/test/puppeteer/test/assets/main-frame.html1
-rw-r--r--remote/test/puppeteer/test/assets/mobile.html1
-rw-r--r--remote/test/puppeteer/test/assets/networkidle.html1
-rw-r--r--remote/test/puppeteer/test/assets/one-style.html1
-rw-r--r--remote/test/puppeteer/test/assets/oopif.html1
-rw-r--r--remote/test/puppeteer/test/assets/p-selectors.html1
-rw-r--r--remote/test/puppeteer/test/assets/pdf.html8
-rw-r--r--remote/test/puppeteer/test/assets/resetcss.html1
-rw-r--r--remote/test/puppeteer/test/assets/self-request.html1
-rw-r--r--remote/test/puppeteer/test/assets/serviceworkers/empty/sw.html1
-rw-r--r--remote/test/puppeteer/test/assets/serviceworkers/fetch/sw.html1
-rw-r--r--remote/test/puppeteer/test/assets/shadow.html1
-rw-r--r--remote/test/puppeteer/test/assets/tamperable.html1
-rw-r--r--remote/test/puppeteer/test/assets/title.html1
-rw-r--r--remote/test/puppeteer/test/assets/wrappedlink.html1
-rw-r--r--remote/test/puppeteer/test/fixtures/closeme.js5
-rw-r--r--remote/test/puppeteer/test/fixtures/dumpio.js5
-rw-r--r--remote/test/puppeteer/test/installation/assets/puppeteer/tsconfig.json4
-rw-r--r--remote/test/puppeteer/test/installation/package.json4
-rw-r--r--remote/test/puppeteer/test/installation/src/puppeteer.spec.ts25
-rw-r--r--remote/test/puppeteer/test/installation/tsconfig.json4
-rw-r--r--remote/test/puppeteer/test/package.json4
-rw-r--r--remote/test/puppeteer/test/src/ariaqueryhandler.spec.ts7
-rw-r--r--remote/test/puppeteer/test/src/browser.spec.ts8
-rw-r--r--remote/test/puppeteer/test/src/browsercontext.spec.ts58
-rw-r--r--remote/test/puppeteer/test/src/cdp/CDPSession.spec.ts8
-rw-r--r--remote/test/puppeteer/test/src/cdp/devtools.spec.ts4
-rw-r--r--remote/test/puppeteer/test/src/cdp/pdf.spec.ts55
-rw-r--r--remote/test/puppeteer/test/src/cdp/screencast.spec.ts (renamed from remote/test/puppeteer/test/src/screencast.spec.ts)4
-rw-r--r--remote/test/puppeteer/test/src/cookies.spec.ts220
-rw-r--r--remote/test/puppeteer/test/src/coverage.spec.ts11
-rw-r--r--remote/test/puppeteer/test/src/debugInfo.spec.ts12
-rw-r--r--remote/test/puppeteer/test/src/defaultbrowsercontext.spec.ts2
-rw-r--r--remote/test/puppeteer/test/src/device-request-prompt.spec.ts2
-rw-r--r--remote/test/puppeteer/test/src/elementhandle.spec.ts32
-rw-r--r--remote/test/puppeteer/test/src/evaluation.spec.ts7
-rw-r--r--remote/test/puppeteer/test/src/fixtures.spec.ts11
-rw-r--r--remote/test/puppeteer/test/src/frame.spec.ts12
-rw-r--r--remote/test/puppeteer/test/src/headful.spec.ts45
-rw-r--r--remote/test/puppeteer/test/src/ignorehttpserrors.spec.ts2
-rw-r--r--remote/test/puppeteer/test/src/input.spec.ts58
-rw-r--r--remote/test/puppeteer/test/src/launcher.spec.ts62
-rw-r--r--remote/test/puppeteer/test/src/mocha-utils.ts48
-rw-r--r--remote/test/puppeteer/test/src/navigation.spec.ts31
-rw-r--r--remote/test/puppeteer/test/src/oopif.spec.ts36
-rw-r--r--remote/test/puppeteer/test/src/page.spec.ts83
-rw-r--r--remote/test/puppeteer/test/src/proxy.spec.ts8
-rw-r--r--remote/test/puppeteer/test/src/queryselector.spec.ts93
-rw-r--r--remote/test/puppeteer/test/src/requestinterception.spec.ts2
-rw-r--r--remote/test/puppeteer/test/src/screenshot.spec.ts30
-rw-r--r--remote/test/puppeteer/test/src/target.spec.ts52
-rw-r--r--remote/test/puppeteer/test/src/touchscreen.spec.ts252
-rw-r--r--remote/test/puppeteer/test/src/tracing.spec.ts32
-rw-r--r--remote/test/puppeteer/test/src/waittask.spec.ts291
-rw-r--r--remote/test/puppeteer/test/src/worker.spec.ts23
-rw-r--r--remote/test/puppeteer/test/tsconfig.json4
98 files changed, 2862 insertions, 2165 deletions
diff --git a/remote/test/puppeteer/test/.eslintrc.js b/remote/test/puppeteer/test/.eslintrc.js
index 489868b6ed..5f7746a76b 100644
--- a/remote/test/puppeteer/test/.eslintrc.js
+++ b/remote/test/puppeteer/test/.eslintrc.js
@@ -1,3 +1,8 @@
+/**
+ * @license
+ * Copyright 2024 Google Inc.
+ * SPDX-License-Identifier: Apache-2.0
+ */
module.exports = {
rules: {
'no-restricted-imports': [
diff --git a/remote/test/puppeteer/test/TestExpectations.json b/remote/test/puppeteer/test/TestExpectations.json
index f19c2f72e0..e55f223441 100644
--- a/remote/test/puppeteer/test/TestExpectations.json
+++ b/remote/test/puppeteer/test/TestExpectations.json
@@ -1,357 +1,255 @@
[
{
- "testIdPattern": "*",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["SKIP", "TIMEOUT"]
- },
- {
- "testIdPattern": "[autofill.spec] *",
+ "testIdPattern": "[ariaqueryhandler.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome"],
- "expectations": ["PASS"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[autofill.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[bfcache.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[chromiumonly.spec] Chromium-Specific Launcher tests *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[click.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[debugInfo.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[debugInfo.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[device-request-prompt.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[dialog.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[drag-and-drop.spec] *",
+ "testIdPattern": "[devtools.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[drag-and-drop.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[drag-and-drop.spec] Legacy Drag n' Drop *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[elementhandle.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[evaluation.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[fixtures.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[frame.spec] Frame specs *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[injected.spec] *",
+ "testIdPattern": "[extensions.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[jshandle.spec] *",
+ "testIdPattern": "[headful.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["headless", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "Cannot be run in headless mode"
},
{
- "testIdPattern": "[keyboard.spec] Keyboard *",
+ "testIdPattern": "[idle_override.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch *",
- "platforms": ["darwin", "linux"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch *",
"platforms": ["win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[locator.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[mouse.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[navigation.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Page.goBack *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[network.spec] network *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.authenticate *",
"platforms": ["darwin", "linux"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.authenticate *",
"platforms": ["win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.setBypassServiceWorker *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.setBypassServiceWorker *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.setExtraHTTPHeaders *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.isNavigationRequest *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.buffer *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.json *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.text *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
- },
- {
- "testIdPattern": "[page.spec] Page *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Popup *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[prerender.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[queryhandler.spec] *",
+ "testIdPattern": "[page.spec] Page Page.metrics *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[queryselector.spec] querySelector *",
+ "testIdPattern": "[pdf.spec] Page.pdf *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[screencast.spec] *",
+ "testIdPattern": "[proxy.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "Chrome-specific test"
},
{
- "testIdPattern": "[screenshot.spec] *",
+ "testIdPattern": "[requestinterception-experimental.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[screenshot.spec] Screenshots Cdp *",
+ "testIdPattern": "[requestinterception.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[stacktrace.spec] Stack trace *",
+ "testIdPattern": "[screencast.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] *",
+ "testIdPattern": "[screenshot.spec] Screenshots Cdp *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[accessibility.spec] *",
+ "testIdPattern": "[worker.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP", "TIMEOUT"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[accessibility.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[ariaqueryhandler.spec] *",
- "platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP", "TIMEOUT"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryOne (Chromium web test) *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler waitForSelector (aria) should have an error message specifically for awaiting an element to be hidden",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler waitForSelector (aria) should have correct stack trace for timeout",
+ "testIdPattern": "[accessibility.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler waitForSelector (aria) should respect timeout",
+ "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryOne (Chromium web test) should find by role \"button\"",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler waitForSelector (aria) should throw when frame is detached",
+ "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryOne (Chromium web test) should find by role \"heading\"",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[autofill.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "headless"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[browser.spec] Browser specs Browser.process should return child_process instance",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "chrome-headless-shell"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.target should return browser target",
+ "testIdPattern": "[browsercontext.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should be prompt by default",
@@ -399,7 +297,8 @@
"testIdPattern": "[CDPSession.spec] Target.createCDPSession *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[CDPSession.spec] Target.createCDPSession should not report created targets for custom CDP sessions",
@@ -411,343 +310,281 @@
"testIdPattern": "[chromiumonly.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[chromiumonly.spec] Chromium-Specific Launcher tests Puppeteer.launch |pipe| option *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[click.spec] Page.click should click the button with fixed position inside an iframe",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[Connection.spec] WebDriver BiDi Connection should work",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.deleteCookie should delete cookie for specified URL regardless of the current page",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "The test relies on the default page partition key do not contain the source origin. This is not the case for Firefox."
},
{
"testIdPattern": "[coverage.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[coverage.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[coverage.spec] Coverage specs JSCoverage should ignore pptr internal scripts if reportAnonymousScripts is true",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools should expose DevTools as a page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools should open devtools when \"devtools: true\" option is given",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools target.page() should return a DevTools page if asPage is used",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools target.page() should return a DevTools page if custom isPageTarget is provided",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[drag-and-drop.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.boundingBox should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["FAIL", "PASS"]
- },
- {
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.click should return Point data",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.clickablePoint should not work if the click box is not visible due to the iframe",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[emulation.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[emulation.spec] Emulation Page.viewport should get the proper viewport size",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[emulation.spec] Emulation Page.viewport should support mobile emulation",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should replace symbols with undefined",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should return properly serialize objects with unknown type fields",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should work for circular object",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluateOnNewDocument *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[evaluation.spec] Evaluation specs Page.removeScriptToEvaluateOnNewDocument *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[evaluation.spec] Evaluation specs Page.removeScriptToEvaluateOnNewDocument *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[fixtures.spec] Fixtures dumpio option should work with pipe option",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[frame.spec] Frame specs Frame Management should handle nested frames",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[frame.spec] Frame specs Frame Management should report frame.name()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[frame.spec] Frame specs Frame Management should support lazy frames",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome"],
- "expectations": ["FAIL", "PASS"]
- },
- {
- "testIdPattern": "[headful.spec] *",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[idle_override.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[input.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[jshandle.spec] JSHandle JSHandle.jsonValue should not throw for circular objects",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[jshandle.spec] JSHandle JSHandle.jsonValue should work with dates",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[jshandle.spec] JSHandle Page.evaluateHandle should return the RemoteObject",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[jshandle.spec] JSHandle Page.evaluateHandle should use the same JS wrappers",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should send a character with sendCharacter in iframe",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.disconnect *",
"platforms": ["win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.disconnect should reject navigation when browser closes",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.disconnect should reject waitForSelector when browser closes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.executablePath returns executablePath for channel",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.executablePath should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.executablePath when executable path is configured its value is used",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch can launch and close the browser",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should be able to launch Chrome",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should be able to launch Firefox",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should have custom URL when launching browser",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should launch Chrome properly with --no-startup-window and waitForInitialPage=false",
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should work with no default arguments",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should work with no default arguments",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should work with no default arguments",
- "platforms": ["linux"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should work with no default arguments",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch tmp profile should be cleaned up",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch userDataDir argument with non-existent dir",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[mouse.spec] Mouse should not throw if buttons are pressed twice",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[mouse.spec] Mouse should reset properly",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Frame.goto should return matching responses",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Page.goto should fail when navigating to bad SSL",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should send referer",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.RequestFinished",
@@ -765,19 +602,15 @@
"testIdPattern": "[network.spec] network Page.setBypassServiceWorker *",
"platforms": ["win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[network.spec] network raw network headers Cross-origin set-cookie",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.initiator should return the initiator",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.isNavigationRequest should work",
@@ -792,10 +625,18 @@
"expectations": ["PASS"]
},
{
+ "testIdPattern": "[network.spec] network Request.postData should be |undefined| when there is no post data",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "Unsupported"
+ },
+ {
"testIdPattern": "[network.spec] network Request.postData should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.postData should work with blobs",
@@ -808,127 +649,99 @@
"testIdPattern": "[network.spec] network Response.fromServiceWorker Response.fromServiceWorker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.timing returns timing information",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[oopif.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF clickablePoint, boundingBox, boxModel should work for elements inside OOPIFs",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF should provide access to elements",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF should support evaluating in oop iframes",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF should support frames within OOP frames",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF should support frames within OOP iframes",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF should track navigations within OOP iframes",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF should treat OOP iframes and normal iframes the same",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[oopif.spec] OOPIF waitForFrame should resolve immediately if the frame already exists",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.addScriptTag should throw when added with content to the CSP page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.addStyleTag should throw when added with content to the CSP page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.bringToFront should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.close should *not* run beforeunload by default",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.close should *not* run beforeunload by default",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should have location when fetch fails",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.Events.Console should trigger correct Log",
+ "testIdPattern": "[page.spec] Page Page.Events.Console should return remote objects",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.Events.Console should work for different console API calls with logging functions",
+ "testIdPattern": "[page.spec] Page Page.Events.Console should return remote objects",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[page.spec] Page Page.Events.Console should trigger correct Log",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.error should throw when page crashes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.exposeFunction *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.exposeFunction should work with loading frames",
@@ -938,1762 +751,2086 @@
"comment": "Missing request interception"
},
{
- "testIdPattern": "[page.spec] Page Page.metrics metrics event fired on console.timeStamp",
+ "testIdPattern": "[page.spec] Page Page.pdf should respect timeout",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.metrics should get metrics from a page",
+ "testIdPattern": "[page.spec] Page Page.setBypassCSP *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.pdf can print to PDF with accessible",
+ "testIdPattern": "[page.spec] Page Page.setCacheEnabled should stay disabled when toggling request interception on/off",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.pdf should respect timeout",
+ "testIdPattern": "[page.spec] Page Page.setOfflineMode should emulate navigator.onLine",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.removeExposedFunction should work",
+ "testIdPattern": "[page.spec] Page Page.setOfflineMode should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.setBypassCSP *",
+ "testIdPattern": "[page.spec] Page Page.setUserAgent *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.setCacheEnabled should stay disabled when toggling request interception on/off",
+ "testIdPattern": "[pdf.spec] Page.pdf *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.setGeolocation should work",
+ "testIdPattern": "[prerender.spec] Prerender can screencast",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.setOfflineMode should emulate navigator.onLine",
+ "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.setOfflineMode should work",
+ "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors with name and role",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.setUserAgent *",
+ "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors with role",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.waitForNetworkIdle should work with aborted requests",
+ "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work for ARIA selectors in multiple isolated worlds",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[prerender.spec] Prerender can screencast",
+ "testIdPattern": "[queryObjects.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[prerender.spec] Prerender can screencast",
+ "testIdPattern": "[requestinterception-experimental.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["new-headless"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL", "SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[proxy.spec] *",
+ "testIdPattern": "[requestinterception.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL", "SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[proxy.spec] request proxy in incognito browser context should respect proxy bypass list when configured at browser level",
+ "testIdPattern": "[screencast.spec] Screencasts Page.screencast should validate options",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
+ "parameters": ["firefox"],
"expectations": ["PASS"]
},
{
- "testIdPattern": "[proxy.spec] request proxy in incognito browser context should respect proxy bypass list when configured at context level",
+ "testIdPattern": "[screenshot.spec] Screenshots Cdp should work in \"fromSurface: false\" mode",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[proxy.spec] request proxy should respect proxy bypass list",
+ "testIdPattern": "[screenshot.spec] Screenshots Cdp should work in \"fromSurface: false\" mode",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["headless"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors",
+ "testIdPattern": "[screenshot.spec] Screenshots Page.screenshot should get screenshot bigger than the viewport",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors with name and role",
+ "testIdPattern": "[stacktrace.spec] Stack trace *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors with role",
+ "testIdPattern": "[target.spec] Target Browser.waitForTarget should wait for a target",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
+ "parameters": ["webDriverBiDi", "firefox"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1882401"
},
{
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work for ARIA selectors in multiple isolated worlds",
+ "testIdPattern": "[target.spec] Target should close a service worker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "not supported"
},
{
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work with :hover",
+ "testIdPattern": "[target.spec] Target should close a shared worker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "not supported"
},
{
- "testIdPattern": "[queryhandler.spec] Query handler tests Text selectors in Page should clear caches",
+ "testIdPattern": "[TargetManager.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[queryObjects.spec] *",
+ "testIdPattern": "[TargetManager.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL", "SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[requestinterception-experimental.spec] *",
+ "testIdPattern": "[touchscreen.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[requestinterception.spec] *",
+ "testIdPattern": "[tracing.spec] *",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[screencast.spec] *",
+ "testIdPattern": "[tracing.spec] *",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[screencast.spec] Screencasts Page.screencast should validate options",
+ "testIdPattern": "[accessibility.spec] Accessibility get snapshots while the tree is re-calculated",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[screenshot.spec] Screenshots Page.screenshot should get screenshot bigger than the viewport",
+ "testIdPattern": "[bfcache.spec] BFCache can navigate to a BFCached page containing an OOPIF and a worker",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[stacktrace.spec] Stack trace *",
+ "testIdPattern": "[browser.spec] Browser specs Browser.isConnected should set the browser connected state",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target Browser.pages should return all of the pages",
+ "testIdPattern": "[browser.spec] Browser specs Browser.process should not return child_process for remote browser",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target Browser.targets should return all of the targets",
+ "testIdPattern": "[browser.spec] Browser specs Browser.userAgent should include Browser engine",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target Browser.waitForTarget should timeout waiting for a non-existent target",
+ "testIdPattern": "[browser.spec] Browser specs Browser.userAgent should include Browser engine",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should be able to use async waitForTarget",
+ "testIdPattern": "[browser.spec] Browser specs Browser.version should return version",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should be able to use the default page in the browser",
+ "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should deny permission when not listed",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should contain browser target",
+ "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should fail when bad permission is given",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
+ "parameters": ["firefox", "webDriverBiDi"],
"expectations": ["PASS"]
},
{
- "testIdPattern": "[target.spec] Target should not crash while redirecting if original request was missed",
+ "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should grant permission when listed",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should report when a new page is created and closed",
+ "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should grant persistent-storage",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should report when a target url changes",
+ "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should isolate permissions between browser contexts",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[TargetManager.spec] *",
+ "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should reset permissions",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[touchscreen.spec] *",
+ "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should trigger permission onchange",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[tracing.spec] *",
+ "testIdPattern": "[browsercontext.spec] BrowserContext should create new incognito context",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
+ "parameters": ["firefox", "webDriverBiDi"],
"expectations": ["PASS"]
},
{
- "testIdPattern": "[tracing.spec] *",
+ "testIdPattern": "[browsercontext.spec] BrowserContext should fire target events",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "In BiDi currently more events than needed are fired (because target is updated more often). We probably need to adjust the test as the behavior is not broken per se"
},
{
- "testIdPattern": "[worker.spec] *",
+ "testIdPattern": "[browsercontext.spec] BrowserContext should fire target events",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[accessibility.spec] Accessibility filtering children of leaf nodes rich text editable fields should have children",
+ "testIdPattern": "[browsercontext.spec] BrowserContext should have default context",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
+ "parameters": ["firefox", "webDriverBiDi"],
"expectations": ["PASS"]
},
{
- "testIdPattern": "[accessibility.spec] Accessibility get snapshots while the tree is re-calculated",
+ "testIdPattern": "[browsercontext.spec] BrowserContext should wait for a target",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler parseAriaSelector should find button",
+ "testIdPattern": "[browsercontext.spec] BrowserContext should work across sessions",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryAll should find menu by name",
+ "testIdPattern": "[CDPSession.spec] Target.createCDPSession should be able to detach session",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryAllArray $$eval should handle many elements",
+ "testIdPattern": "[CDPSession.spec] Target.createCDPSession should enable and disable domains independently",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryOne should find button by name and role",
+ "testIdPattern": "[CDPSession.spec] Target.createCDPSession should expose the underlying connection",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryOne should find button by role",
+ "testIdPattern": "[CDPSession.spec] Target.createCDPSession should respect custom timeout",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryOne should find by name",
+ "testIdPattern": "[CDPSession.spec] Target.createCDPSession should respect custom timeout",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ariaqueryhandler.spec] AriaQueryHandler queryOne should find first matching element",
+ "testIdPattern": "[CDPSession.spec] Target.createCDPSession should send events",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[bfcache.spec] BFCache can navigate to a BFCached page containing an OOPIF and a worker",
+ "testIdPattern": "[chromiumonly.spec] Chromium-Specific Launcher tests Puppeteer.launch |browserURL| option should be able to connect using browserUrl, with and without trailing slash",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.isConnected should set the browser connected state",
+ "testIdPattern": "[chromiumonly.spec] Chromium-Specific Page Tests Page.setRequestInterception should work with intervention headers",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.isConnected should set the browser connected state",
+ "testIdPattern": "[chromiumonly.spec] Chromium-Specific Page Tests Page.setRequestInterception should work with intervention headers",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.isConnected should set the browser connected state",
+ "testIdPattern": "[click.spec] Page.click should click on checkbox label and toggle",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.process should not return child_process for remote browser",
+ "testIdPattern": "[click.spec] Page.click should click the button if window.Node is removed",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[click.spec] Page.click should click the button with deviceScaleFactor set",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.process should not return child_process for remote browser",
+ "testIdPattern": "[click.spec] Page.click should click the button with fixed position inside an iframe",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.target should return browser target",
+ "testIdPattern": "[click.spec] Page.click should click the button with fixed position inside an iframe",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browser.spec] Browser specs Browser.version should return version",
+ "testIdPattern": "[click.spec] Page.click should click the button with fixed position inside an iframe",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "chrome"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should deny permission when not listed",
+ "testIdPattern": "[click.spec] Page.click should click with disabled javascript",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should grant permission when listed",
+ "testIdPattern": "[click.spec] Page.click should click with disabled javascript",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should grant persistent-storage",
+ "testIdPattern": "[click.spec] Page.click should scroll and click with disabled javascript",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should isolate permissions between browser contexts",
+ "testIdPattern": "[click.spec] Page.click should scroll and click with disabled javascript",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[click.spec] Page.click should select the text by triple clicking",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should reset permissions",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.cookies should get cookies from nested path",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext BrowserContext.overridePermissions should trigger permission onchange",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.cookies should not get cookies from not nested path",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should close all belonging targets once closing context",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.cookies should not get cookies from subdomain",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should create new incognito context",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.deleteCookie should delete cookie",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should fire target events",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.deleteCookie should delete cookie",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "Not supported with cdp"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should provide a context id",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.deleteCookie should delete cookie for specified URL",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "Not supported with cdp"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should timeout waiting for a non-existent target",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.deleteCookie should not delete cookie for different domain",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should wait for a target",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.deleteCookie should not delete cookie for different domain",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "Not supported with cdp"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should wait for a target",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should default to setting secure cookie for HTTPS websites",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "Chromium-specific test. The test relies on the cookie in secure context to be secure. This is not the case for Firefox."
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext should work across sessions",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should isolate cookies in browser contexts",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[browsercontext.spec] BrowserContext window.open should use parent tab context",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set a cookie on a different domain",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should be able to detach session",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set a cookie with a path",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should be able to detach session",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set a cookie with a path",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should enable and disable domains independently",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set cookie with reasonable defaults",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should enable and disable domains independently",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set cookies from a frame",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should respect custom timeout",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set cookies from a frame",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should send events",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set multiple cookies",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should send events",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set multiple cookies",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should throw nice errors",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set secure same-site cookies from a frame",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "Chromium-specific test. The test relies on the cookie in secure context to be secure. This is not the case for Firefox."
},
{
- "testIdPattern": "[CDPSession.spec] Target.createCDPSession should work",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[chromiumonly.spec] Chromium-Specific Launcher tests Puppeteer.launch |browserURL| option should be able to connect using browserUrl, with and without trailing slash",
+ "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[click.spec] Page.click should click on checkbox input and toggle",
+ "testIdPattern": "[debugInfo.spec] DebugInfo Browser.debugInfo should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should click on checkbox label and toggle",
+ "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.cookies() should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "https://github.com/puppeteer/puppeteer/issues/12010"
},
{
- "testIdPattern": "[click.spec] Page.click should click the button if window.Node is removed",
+ "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.deleteCookie() should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should click the button inside an iframe",
+ "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.deleteCookie() should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[click.spec] Page.click should click the button with deviceScaleFactor set",
+ "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.setCookie() should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should click the button with fixed position inside an iframe",
+ "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.setCookie() should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=1884648"
},
{
- "testIdPattern": "[click.spec] Page.click should click the button with fixed position inside an iframe",
+ "testIdPattern": "[device-request-prompt.spec] device request prompt does not crash",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[dialog.spec] Page.Events.Dialog should allow accepting prompts",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should click the button with fixed position inside an iframe",
+ "testIdPattern": "[drag-and-drop.spec] Drag n' Drop should drag and drop",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should click with disabled javascript",
+ "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.click should return Point data",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should click with disabled javascript",
+ "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.isIntersectingViewport should work",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.isIntersectingViewport should work with svg elements",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[emulation.spec] Emulation Page.emulate should support clicking",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[emulation.spec] Emulation Page.emulate should support clicking",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should double click the button",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulate should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should scroll and click with disabled javascript",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateCPUThrottling should change the CPU throttling rate successfully",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should scroll and click with disabled javascript",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateCPUThrottling should change the CPU throttling rate successfully",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should select the text by triple clicking",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaFeatures should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[click.spec] Page.click should select the text by triple clicking",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaFeatures should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.cookies should get cookies from multiple urls",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaType should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.deleteCookie should work",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaType should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should default to setting secure cookie for HTTPS websites",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateNetworkConditions should change navigator.connection.effectiveType",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should isolate cookies in browser contexts",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateNetworkConditions should change navigator.connection.effectiveType",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set a cookie on a different domain",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateNetworkConditions should change navigator.connection.effectiveType",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set a cookie with a path",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateTimezone should throw for invalid timezone IDs",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set cookie with reasonable defaults",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateTimezone should throw for invalid timezone IDs",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set cookies from a frame",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateTimezone should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set multiple cookies",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateTimezone should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should set secure same-site cookies from a frame",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateVisionDeficiency should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[cookies.spec] Cookie specs Page.setCookie should work",
+ "testIdPattern": "[emulation.spec] Emulation Page.emulateVisionDeficiency should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[coverage.spec] Coverage specs CSSCoverage should work with complicated usecases",
+ "testIdPattern": "[emulation.spec] Emulation Page.viewport should be detectable by Modernizr",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[coverage.spec] Coverage specs JSCoverage should not ignore eval() scripts if reportAnonymousScripts is true",
+ "testIdPattern": "[emulation.spec] Emulation Page.viewport should detect touch when applying viewport with touches",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.cookies() should work",
+ "testIdPattern": "[emulation.spec] Emulation Page.viewport should load correct pictures when emulation dpr",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.deleteCookie() should work",
+ "testIdPattern": "[emulation.spec] Emulation Page.viewport should support landscape emulation",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[defaultbrowsercontext.spec] DefaultBrowserContext page.setCookie() should work",
+ "testIdPattern": "[emulation.spec] Emulation Page.viewport should support landscape emulation",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[dialog.spec] Page.Events.Dialog should allow accepting prompts",
+ "testIdPattern": "[emulation.spec] Emulation Page.viewport should support touch emulation",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[dialog.spec] Page.Events.Dialog should allow accepting prompts",
+ "testIdPattern": "[emulation.spec] Emulation Page.viewport should update media queries when resoltion changes",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[drag-and-drop.spec] Drag n' Drop should drag and drop",
+ "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should simulate a user gesture",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.boundingBox should handle nested frames",
+ "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should throw when evaluation triggers reload",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.boundingBox should handle nested frames",
+ "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should work from-inside an exposed function",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.boxModel should work",
+ "testIdPattern": "[extensions.spec] extensions background_page target type should be available",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.click should return Point data",
+ "testIdPattern": "[extensions.spec] extensions service_worker target type should be available",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.click should return Point data",
+ "testIdPattern": "[extensions.spec] extensions target.page() should return a background_page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.clickablePoint should work for iframes",
+ "testIdPattern": "[extensions.spec] extensions target.page() should return a background_page",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "chrome"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.clickablePoint should work for iframes",
+ "testIdPattern": "[fixtures.spec] Fixtures should close the browser when the node process closes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.contentFrame should work",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should click elements in a frameset",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "New test for framesets (does not seem to pass in Firefox CDP)."
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.isIntersectingViewport should work",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should report different frame instance when frame re-attaches",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[elementhandle.spec] ElementHandle specs ElementHandle.isIntersectingViewport should work with svg elements",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should report frame from-inside shadow DOM",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulate should support clicking",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should report frame.name()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateCPUThrottling should change the CPU throttling rate successfully",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should report frame.parent()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaFeatures should throw in case of bad argument",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should send events when frames are manipulated dynamically",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaFeatures should work",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should support lazy frames",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaType should throw in case of bad argument",
+ "testIdPattern": "[frame.spec] Frame specs Frame Management should support lazy frames",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateMediaType should work",
+ "testIdPattern": "[frame.spec] Frame specs Frame.evaluate should throw for detached frames",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateNetworkConditions should change navigator.connection.effectiveType",
+ "testIdPattern": "[frame.spec] Frame specs Frame.executionContext should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateNetworkConditions should change navigator.connection.effectiveType",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails Network redirects should report SecurityDetails",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateTimezone should throw for invalid timezone IDs",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails Network redirects should report SecurityDetails",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateTimezone should work",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails Network redirects should report SecurityDetails",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateVisionDeficiency should throw for invalid vision deficiencies",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails should be |null| for non-secure requests",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.emulateVisionDeficiency should work",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails should be |null| for non-secure requests",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.viewport should detect touch when applying viewport with touches",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.viewport should get the proper viewport size",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.viewport should support landscape emulation",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[emulation.spec] Emulation Page.viewport should support touch emulation",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work with request interception",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[evaluation.spec] Evaluation specs Frame.evaluate should have different execution contexts",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work with request interception",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should await promise",
+ "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work with request interception",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should simulate a user gesture",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should accept single file",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should throw if elementHandles are from other frames",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should accept single file",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should throw if elementHandles are from other frames",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should be able to read selected file",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should throw when evaluation triggers reload",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should be able to read selected file",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[evaluation.spec] Evaluation specs Page.evaluate should work from-inside an exposed function",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should be able to reset selected files with empty file list",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[extensions.spec] extensions background_page target type should be available",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should be able to reset selected files with empty file list",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[extensions.spec] extensions service_worker target type should be available",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should error on read of non-existent files",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[extensions.spec] extensions target.page() should return a background_page",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should error on read of non-existent files",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[extensions.spec] extensions target.page() should return a background_page",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should fail when accepting file chooser twice",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[fixtures.spec] Fixtures should close the browser when the node process closes",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should fail when accepting file chooser twice",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should detach child frames on navigation",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should not accept multiple files for single-file input",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should not accept multiple files for single-file input",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should report different frame instance when frame re-attaches",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should succeed even for non-existent files",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should report different frame instance when frame re-attaches",
+ "testIdPattern": "[input.spec] input tests FileChooser.accept should succeed even for non-existent files",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should report frame from-inside shadow DOM",
+ "testIdPattern": "[input.spec] input tests FileChooser.cancel should cancel dialog",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should report frame.name()",
+ "testIdPattern": "[input.spec] input tests FileChooser.cancel should cancel dialog",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should report frame.parent()",
+ "testIdPattern": "[input.spec] input tests FileChooser.cancel should fail when canceling file chooser twice",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should report frame.parent()",
+ "testIdPattern": "[input.spec] input tests FileChooser.cancel should fail when canceling file chooser twice",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should send events when frames are manipulated dynamically",
+ "testIdPattern": "[input.spec] input tests FileChooser.isMultiple should work for \"multiple\"",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should send events when frames are manipulated dynamically",
+ "testIdPattern": "[input.spec] input tests FileChooser.isMultiple should work for \"multiple\"",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[input.spec] input tests FileChooser.isMultiple should work for \"webkitdirectory\"",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should support framesets",
+ "testIdPattern": "[input.spec] input tests FileChooser.isMultiple should work for \"webkitdirectory\"",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should support lazy frames",
+ "testIdPattern": "[input.spec] input tests FileChooser.isMultiple should work for single file pick",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame Management should support lazy frames",
+ "testIdPattern": "[input.spec] input tests FileChooser.isMultiple should work for single file pick",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame.evaluate should throw for detached frames",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should prioritize exact timeout over default timeout",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame.evaluate should throw for detached frames",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should prioritize exact timeout over default timeout",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[frame.spec] Frame specs Frame.executionContext should work",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should respect default timeout when there is no custom timeout",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails Network redirects should report SecurityDetails",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should respect default timeout when there is no custom timeout",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors Response.securityDetails should work",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should respect timeout",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should respect timeout",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should return the same file chooser when there are many watchdogs simultaneously",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should return the same file chooser when there are many watchdogs simultaneously",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should work when file input is attached to DOM",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work with mixed content",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should work when file input is attached to DOM",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work with mixed content",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should work when file input is not attached to DOM",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should work when file input is not attached to DOM",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work with mixed content",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should work with no timeout",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[ignorehttpserrors.spec] ignoreHTTPSErrors should work with request interception",
+ "testIdPattern": "[input.spec] input tests Page.waitForFileChooser should work with no timeout",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard ElementHandle.press should not support |text| option",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should report shiftKey",
"platforms": ["darwin"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should send a character with sendCharacter",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should send a character with sendCharacter in iframe",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should specify location",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should specify repeat property",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should type all kinds of characters",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should type emoji",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[keyboard.spec] Keyboard should type emoji into an iframe",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[keyboard.spec] Keyboard should type emoji into an iframe",
+ "testIdPattern": "[launcher.spec] Launcher specs Browser target events should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Browser target events should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Browser target events should work",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Browser.Events.disconnected should be emitted when: browser gets closed, disconnected or underlying websocket gets closed",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Browser.Events.disconnected should be emitted when: browser gets closed, disconnected or underlying websocket gets closed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.close should terminate network waiters",
+ "testIdPattern": "[launcher.spec] Launcher specs Browser.Events.disconnected should be emitted when: browser gets closed, disconnected or underlying websocket gets closed",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.close should terminate network waiters",
"platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.disconnect should reject navigation when browser closes",
+ "platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "https://github.com/puppeteer/puppeteer/issues/11849"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.disconnect should reject navigation when browser closes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Browser.disconnect should reject navigation when browser closes",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to close remote browser",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to connect multiple times to the same browser",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to connect to a browser with no page targets",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "chrome"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to connect to a browser with no page targets",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to connect to the same page simultaneously",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to connect to the same page simultaneously",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to reconnect",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to reconnect to a disconnected browser",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to reconnect to a disconnected browser",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should be able to reconnect to a disconnected browser",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should support ignoreHTTPSErrors option",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should support ignoreHTTPSErrors option",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should support targetFilter option",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should support targetFilter option",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.executablePath returns executablePath for channel",
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should support targetFilter option",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.executablePath should work",
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should support targetFilter option in puppeteer.launch",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.connect should support targetFilter option in puppeteer.launch",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch can launch and close the browser",
"platforms": ["win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should be able to launch Chrome",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should be able to launch Firefox",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should be able to launch Firefox",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "headless"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should close browser with beforeunload page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should filter out ignored default argument in Firefox",
"platforms": ["linux"],
"parameters": ["firefox", "headful"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should filter out ignored default arguments in Chrome",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should have custom URL when launching browser",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch tmp profile should be cleaned up",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch should have custom URL when launching browser",
+ "platforms": ["darwin"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "For some reason it times out on MacOS. Perhaps it's a bug in chromium-bidi"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch tmp profile should be cleaned up",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch userDataDir option should restore cookies",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[locator.spec] Locator Locator.click should work with a OOPIF",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[locator.spec] Locator Locator.click should work with a OOPIF",
+ "testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch tmp profile should be cleaned up",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[locator.spec] Locator Locator.race races multiple locators",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[mouse.spec] Mouse should send mouse wheel events",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[mouse.spec] Mouse should trigger hover state with removed window.Node",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Frame.goto should navigate subframes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Frame.goto should navigate subframes",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Frame.goto should reject when frame detaches",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Frame.goto should return matching responses",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Frame.waitForNavigation should fail when frame detaches",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Frame.waitForNavigation should fail when frame detaches",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Frame.waitForNavigation should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Frame.waitForNavigation should work",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS", "TIMEOUT"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goBack should work with HistoryAPI",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[navigation.spec] navigation Page.goto should fail when main resources failed to load",
+ "testIdPattern": "[navigation.spec] navigation Page.goto should fail when navigating to bad SSL",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should fail when server returns 204",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should navigate to dataURL and fire dataURL requests",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should navigate to dataURL and fire dataURL requests",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Page.goto should navigate to dataURL and fire dataURL requests",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should navigate to empty page with networkidle0",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should navigate to empty page with networkidle2",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should navigate to page with iframe and networkidle0",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should navigate to URL with hash and fire requests without hash",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should navigate to URL with hash and fire requests without hash",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should not leak listeners during navigation",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS", "TIMEOUT"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Page.goto should not leak listeners during navigation of 11 pages",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Page.goto should return response when page changes its URL after load",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should send referer",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should wait for network idle to succeed navigation",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should work when navigating to data url",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should work when navigating to data url",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should work when page calls history API in beforeunload",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[navigation.spec] navigation Page.goto should work with anchor navigation",
- "platforms": ["linux"],
- "parameters": ["chrome", "headless"],
- "expectations": ["PASS", "TIMEOUT"]
+ "expectations": ["FAIL"],
+ "comment": "History navigation is breaking the Puppeteer expecation about navigation."
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should work with anchor navigation",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "headless"],
- "expectations": ["PASS", "TIMEOUT"]
+ "parameters": ["chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.goto should work with subframes return 204",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.waitForNavigation should work when subframe issues window.stop()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.waitForNavigation should work when subframe issues window.stop()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.waitForNavigation should work when subframe issues window.stop()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.waitForNavigation should work with DOM history.back()/history.forward()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[navigation.spec] navigation Page.waitForNavigation should work with history.pushState()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[navigation.spec] navigation Page.waitForNavigation should work with history.replaceState()",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "https://github.com/puppeteer/puppeteer/issues/11854"
},
{
"testIdPattern": "[navigation.spec] navigation Page.waitForNavigation should work with history.replaceState()",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.Request",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.Request",
"platforms": ["win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.RequestFailed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.RequestFinished",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.RequestServedFromCache",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.RequestServedFromCache",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.Response",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events should fire events in proper order",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events should fire events in proper order",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events should support redirects",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events should support redirects",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.authenticate should allow disable authentication",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.authenticate should fail if wrong credentials",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.authenticate should not disable caching",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.authenticate should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[network.spec] network Page.Events.Request should fire for iframes",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[network.spec] network Page.Events.Request should fire for iframes",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Page.setExtraHTTPHeaders should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[network.spec] network raw network headers Same-origin set-cookie navigation",
+ "testIdPattern": "[network.spec] network raw network headers Cross-origin set-cookie",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network raw network headers Same-origin set-cookie navigation",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[network.spec] network raw network headers Same-origin set-cookie subresource",
- "platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network raw network headers Same-origin set-cookie subresource",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network raw network headers Same-origin set-cookie subresource",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network raw network headers Same-origin set-cookie subresource",
"platforms": ["win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
- },
- {
- "testIdPattern": "[network.spec] network Request.frame should work for subframe navigation request",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[network.spec] network Request.frame should work for subframe navigation request",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.initiator should return the initiator",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.isNavigationRequest should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.isNavigationRequest should work with request interception",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.postData should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Request.postData should work with blobs",
@@ -2706,529 +2843,561 @@
"testIdPattern": "[network.spec] network Response.buffer should throw if the response does not have a body",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[network.spec] network Response.buffer should throw if the response does not have a body",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.buffer should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.buffer should work with compression",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.fromCache should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.fromCache should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "Needs investigation, it looks like a bug in Puppeteer"
},
{
"testIdPattern": "[network.spec] network Response.fromCache should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.fromServiceWorker Response.fromServiceWorker",
"platforms": ["win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.fromServiceWorker Response.fromServiceWorker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[network.spec] network Response.headers should work",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.json should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.text should return uncompressed text",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.text should throw when requesting body of redirected response",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.text should wait until response completes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.text should wait until response completes",
"platforms": ["win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.text should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Response.timing returns timing information",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[oopif.spec] OOPIF clickablePoint, boundingBox, boxModel should work for elements inside OOPIFs",
+ "testIdPattern": "[oopif.spec] OOPIF should detect existing OOPIFs when Puppeteer connects to an existing page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should expose events within OOPIFs",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should expose events within OOPIFs",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[oopif.spec] OOPIF should keep track of a frames OOP state",
"platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "Failed previously and currently times out"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should load oopif iframes with subresources and request interception",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should load oopif iframes with subresources and request interception",
+ "platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should report google.com frame",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[oopif.spec] OOPIF should provide access to elements",
+ "testIdPattern": "[oopif.spec] OOPIF should report google.com frame",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[oopif.spec] OOPIF should support lazy OOP frames",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL"],
+ "comment": "https://bugzilla.mozilla.org/show_bug.cgi?id=187816"
},
{
- "testIdPattern": "[oopif.spec] OOPIF should support lazy OOP frames",
+ "testIdPattern": "[oopif.spec] OOPIF should support OOP iframes becoming normal iframes again",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[oopif.spec] OOPIF should support lazy OOP frames",
+ "testIdPattern": "[oopif.spec] OOPIF should support OOP iframes becoming normal iframes again",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should support OOP iframes getting detached",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should support OOP iframes getting detached",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should support wait for navigation for transitions from local to OOPIF",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[oopif.spec] OOPIF should support wait for navigation for transitions from local to OOPIF",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["PASS", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should support wait for navigation for transitions from local to OOPIF",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should wait for inner OOPIFs",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[oopif.spec] OOPIF should wait for inner OOPIFs",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "Chrome-specific test (uses DNS mapping); does not work with Firefox."
},
{
"testIdPattern": "[page.spec] Page Page.addScriptTag should throw when added with content to the CSP page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.addScriptTag should throw when added with content to the CSP page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.bringToFront should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.client should return the client instance",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.close should reject all promises when page is closed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.close should run beforeunload if asked for",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.close should run beforeunload if asked for",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.close should run beforeunload if asked for",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.close should terminate network waiters",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.Events.Console should have location and stack trace for console API calls",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should have location and stack trace for console API calls",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should have location and stack trace for console API calls",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should have location when fetch fails",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should not fail for window object",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should trigger correct Log",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should work for different console API calls with logging functions",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Console should work for different console API calls with timing functions",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.error should throw when page crashes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Popup should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Popup should work with clicking target=_blank and rel=noopener",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Popup should work with clicking target=_blank and with rel=opener",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Popup should work with clicking target=_blank and without rel=opener",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Popup should work with fake-clicking target=_blank and rel=noopener",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.Events.Popup should work with noopener",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.exposeFunction should be callable from-inside evaluateOnNewDocument",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.metrics metrics event fired on console.timeStamp",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.metrics should get metrics from a page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.pdf can print to PDF with accessible",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.removeExposedFunction should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.select should work when re-defining top-level Event class",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass after cross-process navigation",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass after cross-process navigation",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass CSP header",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass CSP header",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass CSP in iframes as well",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass CSP in iframes as well",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass CSP meta tag",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[page.spec] Page Page.setBypassCSP should bypass CSP meta tag",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setCacheEnabled should enable or disable the cache based on the state passed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setCacheEnabled should enable or disable the cache based on the state passed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setCacheEnabled should stay disabled when toggling request interception on/off",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setGeolocation should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[page.spec] Page Page.setJavaScriptEnabled should work",
+ "testIdPattern": "[page.spec] Page Page.setGeolocation should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setJavaScriptEnabled should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setJavaScriptEnabled should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setOfflineMode should emulate navigator.onLine",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setOfflineMode should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.setUserAgent should work with additional userAgentMetdata",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[prerender.spec] Prerender can navigate to a prerendered page via Puppeteer",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[prerender.spec] Prerender can screencast",
+ "testIdPattern": "[pdf.spec] Page.pdf can print to PDF with outline",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "headful"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[prerender.spec] Prerender via frame can navigate to a prerendered page via Puppeteer",
+ "testIdPattern": "[pdf.spec] Page.pdf can print to PDF with outline",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "headless"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[proxy.spec] request proxy in incognito browser context should proxy requests when configured at browser level",
+ "testIdPattern": "[proxy.spec] request proxy in incognito browser context should proxy requests when configured at context level",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: investigate"
},
{
"testIdPattern": "[proxy.spec] request proxy in incognito browser context should proxy requests when configured at context level",
"platforms": ["win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "Windows version of Chrome has a long-standing bug"
},
{
"testIdPattern": "[proxy.spec] request proxy in incognito browser context should proxy requests when configured at context level",
"platforms": ["linux"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
- },
- {
- "testIdPattern": "[proxy.spec] request proxy in incognito browser context should respect proxy bypass list when configured at browser level",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[proxy.spec] request proxy in incognito browser context should respect proxy bypass list when configured at context level",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[proxy.spec] request proxy should proxy requests when configured",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[proxy.spec] request proxy should respect proxy bypass list",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
- },
- {
- "testIdPattern": "[proxy.spec] request proxy should respect proxy bypass list",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
- },
- {
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors with name and role",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work ARIA selectors with role",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[queryhandler.spec] Query handler tests P selectors should work for ARIA selectors in multiple isolated worlds",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "TIMEOUT"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[queryObjects.spec] page.queryObjects should fail for disposed handles",
@@ -3246,469 +3415,524 @@
"testIdPattern": "[queryObjects.spec] page.queryObjects should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[queryObjects.spec] page.queryObjects should work for non-trivial page",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception-experimental.spec] request interception \"after each\" hook in \"request interception\"",
"platforms": ["win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception-experimental.spec] request interception Page.setRequestInterception should load fonts if cache enabled",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["PASS", "TIMEOUT"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception-experimental.spec] request interception Page.setRequestInterception should navigate to URL with hash and fire requests without hash",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception-experimental.spec] request interception Page.setRequestInterception should work with redirects",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception.spec] request interception Page.setRequestInterception should navigate to URL with hash and fire requests without hash",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots Cdp should use scale for clip",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should capture full element when larger than viewport",
- "platforms": ["win32"],
+ "testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work for an element with an offset",
+ "platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work for an element with an offset",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
+ },
+ {
+ "testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work with a rotated element",
+ "platforms": ["darwin", "linux", "win32"],
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work with a rotated element",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots Page.screenshot should clip clip bigger than the viewport without \"captureBeyondViewport\"",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[stacktrace.spec] Stack trace should work for none error objects",
+ "testIdPattern": "[screenshot.spec] Screenshots Page.screenshot should take fullPage screenshots",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target Browser.targets should return all of the targets",
+ "testIdPattern": "[stacktrace.spec] Stack trace should work for none error objects",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
+ "parameters": ["cdp", "firefox"],
"expectations": ["PASS"]
},
{
"testIdPattern": "[target.spec] Target Browser.waitForTarget should wait for a target",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target Browser.waitForTarget should wait for a target",
+ "testIdPattern": "[target.spec] Target should close a service worker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "not supported"
},
{
- "testIdPattern": "[target.spec] Target should be able to use async waitForTarget",
+ "testIdPattern": "[target.spec] Target should close a shared worker",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "not supported"
},
{
- "testIdPattern": "[target.spec] Target should contain browser target",
+ "testIdPattern": "[target.spec] Target should create a worker from a service worker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[target.spec] Target should create a worker from a service worker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should create a worker from a shared worker",
+ "testIdPattern": "[target.spec] Target should create a worker from a service worker",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should have an opener",
+ "testIdPattern": "[target.spec] Target should create a worker from a shared worker",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should not crash while redirecting if original request was missed",
+ "testIdPattern": "[target.spec] Target should create a worker from a shared worker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
- },
- {
- "testIdPattern": "[target.spec] Target should not crash while redirecting if original request was missed",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should not report uninitialized pages",
+ "testIdPattern": "[target.spec] Target should create a worker from a shared worker",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should report when a new page is created and closed",
+ "testIdPattern": "[target.spec] Target should have an opener",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should report when a service worker is created and destroyed",
+ "testIdPattern": "[target.spec] Target should have an opener",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should report when a target url changes",
+ "testIdPattern": "[target.spec] Target should have an opener",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[target.spec] Target should report when a target url changes",
+ "testIdPattern": "[target.spec] Target should not crash while redirecting if original request was missed",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[touchscreen.spec] Touchscreen Touchscreen.prototype.touchMove should work",
+ "testIdPattern": "[target.spec] Target should not report uninitialized pages",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome"],
- "expectations": ["FAIL"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should survive cross-process navigation",
+ "testIdPattern": "[target.spec] Target should not report uninitialized pages",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should survive cross-process navigation",
+ "testIdPattern": "[target.spec] Target should report when a new page is created and closed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should survive navigations",
+ "testIdPattern": "[target.spec] Target should report when a service worker is created and destroyed",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should work when resolved right before execution context disposal",
+ "testIdPattern": "[target.spec] Target should report when a service worker is created and destroyed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should work with strict CSP policy",
+ "testIdPattern": "[target.spec] Target should report when a service worker is created and destroyed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should work with strict CSP policy",
+ "testIdPattern": "[target.spec] Target should report when a target url changes",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector Page.waitForSelector is shortcut for main frame",
+ "testIdPattern": "[TargetManager.spec] TargetManager should handle targets",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector Page.waitForSelector is shortcut for main frame",
+ "testIdPattern": "[touchscreen.spec] Touchscreen Touchscreen.prototype.tap should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should run in specified frame",
+ "testIdPattern": "[touchscreen.spec] Touchscreen Touchscreen.prototype.tap should work",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should run in specified frame",
+ "testIdPattern": "[touchscreen.spec] Touchscreen Touchscreen.prototype.touchMove should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should survive cross-process navigation",
+ "testIdPattern": "[touchscreen.spec] Touchscreen Touchscreen.prototype.touchMove should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["TIMEOUT"]
+ "parameters": ["firefox", "webDriverBiDi"],
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should survive cross-process navigation",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should survive cross-process navigation",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["FAIL", "PASS", "TIMEOUT"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should survive cross-process navigation",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should work when resolved right before execution context disposal",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should throw when frame is detached",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should work with strict CSP policy",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should throw when frame is detached",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForFunction should work with strict CSP policy",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should work with removed MutationObserver",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector Page.waitForSelector is shortcut for main frame",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForXPath should run in specified frame",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should run in specified frame",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForXPath should run in specified frame",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should survive cross-process navigation",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "parameters": ["chrome", "webDriverBiDi"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForXPath should throw when frame is detached",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should survive cross-process navigation",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[waittask.spec] waittask specs Frame.waitForXPath should throw when frame is detached",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should survive cross-process navigation",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[worker.spec] Workers should report console logs",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should throw when frame is detached",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[worker.spec] Workers should report console logs",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector should work with removed MutationObserver",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[worker.spec] Workers should report errors",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector xpath should run in specified frame",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["firefox", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[worker.spec] Workers should report errors",
+ "testIdPattern": "[waittask.spec] waittask specs Frame.waitForSelector xpath should throw when frame is detached",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "parameters": ["cdp", "firefox"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[worker.spec] Workers should report errors",
+ "testIdPattern": "[worker.spec] Workers can be closed",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["chrome", "webDriverBiDi"],
- "expectations": ["PASS"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[CDPSession.spec] Target.createCDPSession should send events",
"platforms": ["win32"],
- "parameters": ["cdp", "chrome", "new-headless"],
- "expectations": ["FAIL", "PASS"]
- },
- {
- "testIdPattern": "[chromiumonly.spec] Chromium-Specific Launcher tests Puppeteer.launch |pipe| option should fire \"disconnected\" when closing with pipe",
- "platforms": ["darwin"],
- "parameters": ["cdp", "chrome", "new-headless"],
- "expectations": ["FAIL"],
- "comment": "Remove with M121"
+ "parameters": ["cdp", "chrome", "headless"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools should expose DevTools as a page",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools should open devtools when \"devtools: true\" option is given",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools target.page() should return a DevTools page if asPage is used",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[devtools.spec] DevTools target.page() should return a DevTools page if custom isPageTarget is provided",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[extensions.spec] extensions background_page target type should be available",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[extensions.spec] extensions service_worker target type should be available",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[extensions.spec] extensions target.page() should return a background_page",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[launcher.spec] Launcher specs Puppeteer Puppeteer.launch userDataDir option restores preferences",
"platforms": ["win32"],
"parameters": ["firefox", "headless", "webDriverBiDi"],
- "expectations": ["SKIP"]
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network Network Events Page.Events.Request",
"platforms": ["linux"],
- "parameters": ["cdp", "chrome", "new-headless"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["cdp", "chrome", "headless"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[network.spec] network raw network headers Same-origin set-cookie subresource",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome", "headful"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[page.spec] Page Page.bringToFront should work",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["SKIP"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception.spec] request interception Page.setRequestInterception should be abortable",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "chrome", "headful"],
- "expectations": ["FAIL", "PASS"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception.spec] request interception Page.setRequestInterception should work with redirects",
"platforms": ["win32"],
- "parameters": ["cdp", "chrome", "new-headless"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["cdp", "chrome", "headless"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[requestinterception.spec] request interception Page.setRequestInterception should work with redirects",
"platforms": ["win32"],
"parameters": ["cdp", "chrome", "headful"],
- "expectations": ["FAIL", "PASS"]
- },
- {
- "testIdPattern": "[screenshot.spec] Screenshots Cdp should work in \"fromSurface: false\" mode",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "headless"],
- "expectations": ["SKIP"]
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work for an element with an offset",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox", "headful"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work for an element with an offset",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox", "headless"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work with a rotated element",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox", "headful"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
"testIdPattern": "[screenshot.spec] Screenshots ElementHandle.screenshot should work with a rotated element",
"platforms": ["darwin", "linux", "win32"],
"parameters": ["cdp", "firefox", "headless"],
- "expectations": ["FAIL"]
- },
- {
- "testIdPattern": "[screenshot.spec] Screenshots Page.screenshot should take fullPage screenshots",
- "platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox", "headful"],
- "expectations": ["FAIL"]
+ "expectations": ["FAIL"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
},
{
- "testIdPattern": "[screenshot.spec] Screenshots Page.screenshot should take fullPage screenshots",
+ "testIdPattern": "[target.spec] Target should close a service worker",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "firefox", "headless"],
- "expectations": ["FAIL"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["SKIP"],
+ "comment": "For some reason service_workers do not close in chrome-headless-shell"
},
{
"testIdPattern": "[worker.spec] Workers Page.workers",
"platforms": ["darwin", "linux", "win32"],
- "parameters": ["cdp", "chrome", "headless"],
- "expectations": ["FAIL", "PASS"]
+ "parameters": ["cdp", "chrome", "chrome-headless-shell"],
+ "expectations": ["FAIL", "PASS"],
+ "comment": "TODO: add a comment explaining why this expectation is required (include links to issues)"
}
]
diff --git a/remote/test/puppeteer/test/TestSuites.json b/remote/test/puppeteer/test/TestSuites.json
index 32adc45d3c..3c36f8d7a4 100644
--- a/remote/test/puppeteer/test/TestSuites.json
+++ b/remote/test/puppeteer/test/TestSuites.json
@@ -13,9 +13,9 @@
"expectedLineCoverage": 93
},
{
- "id": "chrome-new-headless",
+ "id": "chrome-headless-shell",
"platforms": ["linux"],
- "parameters": ["chrome", "new-headless", "cdp"],
+ "parameters": ["chrome", "chrome-headless-shell", "cdp"],
"expectedLineCoverage": 93
},
{
@@ -45,7 +45,7 @@
{
"id": "chrome-bidi",
"platforms": ["linux"],
- "parameters": ["chrome", "headless", "webDriverBiDi"],
+ "parameters": ["chrome", "chrome-headless-shell", "webDriverBiDi"],
"expectedLineCoverage": 56
}
],
@@ -63,8 +63,8 @@
"headful": {
"HEADLESS": "false"
},
- "new-headless": {
- "HEADLESS": "new"
+ "chrome-headless-shell": {
+ "HEADLESS": "shell"
},
"webDriverBiDi": {
"PUPPETEER_PROTOCOL": "webDriverBiDi"
diff --git a/remote/test/puppeteer/test/assets/abort-request.html b/remote/test/puppeteer/test/assets/abort-request.html
index 77c056a422..2977efa36f 100644
--- a/remote/test/puppeteer/test/assets/abort-request.html
+++ b/remote/test/puppeteer/test/assets/abort-request.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<button id="abort"></button>
<script>
diff --git a/remote/test/puppeteer/test/assets/beforeunload.html b/remote/test/puppeteer/test/assets/beforeunload.html
index 3cef6763f3..e6502a9ee1 100644
--- a/remote/test/puppeteer/test/assets/beforeunload.html
+++ b/remote/test/puppeteer/test/assets/beforeunload.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<div>beforeunload demo.</div>
<script>
window.addEventListener('beforeunload', event => {
diff --git a/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe-container.html b/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe-container.html
index 857914bb6d..ce1fd52cff 100644
--- a/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe-container.html
+++ b/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe-container.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<body>BFCached<a href="target.html">next</a></body>
<script>
window.addEventListener('DOMContentLoaded', () => {
diff --git a/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe.html b/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe.html
index 9233f557c5..b98b0a1ef8 100644
--- a/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe.html
+++ b/remote/test/puppeteer/test/assets/cached/bfcache/worker-iframe.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
const worker = new Worker('worker.mjs', {type: 'module'})
</script>
diff --git a/remote/test/puppeteer/test/assets/cached/one-style-font.html b/remote/test/puppeteer/test/assets/cached/one-style-font.html
index 8e7236dfb3..4afa507291 100644
--- a/remote/test/puppeteer/test/assets/cached/one-style-font.html
+++ b/remote/test/puppeteer/test/assets/cached/one-style-font.html
@@ -1,2 +1,3 @@
+<!DOCTYPE html>
<link rel='stylesheet' href='./one-style-font.css'>
<div>hello, world!</div>
diff --git a/remote/test/puppeteer/test/assets/cached/one-style.html b/remote/test/puppeteer/test/assets/cached/one-style.html
index 4760f2b9f7..b3a6eeeebe 100644
--- a/remote/test/puppeteer/test/assets/cached/one-style.html
+++ b/remote/test/puppeteer/test/assets/cached/one-style.html
@@ -1,2 +1,3 @@
+<!DOCTYPE html>
<link rel='stylesheet' href='./one-style.css'>
<div>hello, world!</div>
diff --git a/remote/test/puppeteer/test/assets/csp.html b/remote/test/puppeteer/test/assets/csp.html
index 34fc1fc1a5..4789cc21d3 100644
--- a/remote/test/puppeteer/test/assets/csp.html
+++ b/remote/test/puppeteer/test/assets/csp.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
diff --git a/remote/test/puppeteer/test/assets/csscoverage/empty.html b/remote/test/puppeteer/test/assets/csscoverage/empty.html
index b3845c366d..eef2af1807 100644
--- a/remote/test/puppeteer/test/assets/csscoverage/empty.html
+++ b/remote/test/puppeteer/test/assets/csscoverage/empty.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style></style>
<div>empty style tag</div>
diff --git a/remote/test/puppeteer/test/assets/csscoverage/involved.html b/remote/test/puppeteer/test/assets/csscoverage/involved.html
index bcd9845b93..4b944ae7a8 100644
--- a/remote/test/puppeteer/test/assets/csscoverage/involved.html
+++ b/remote/test/puppeteer/test/assets/csscoverage/involved.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
@charset "utf-8";
@namespace svg url(http://www.w3.org/2000/svg);
diff --git a/remote/test/puppeteer/test/assets/csscoverage/media.html b/remote/test/puppeteer/test/assets/csscoverage/media.html
index bfb89f8f75..57af00e2f6 100644
--- a/remote/test/puppeteer/test/assets/csscoverage/media.html
+++ b/remote/test/puppeteer/test/assets/csscoverage/media.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
@media screen { div { color: green; } } </style>
<div>hello, world</div>
diff --git a/remote/test/puppeteer/test/assets/csscoverage/multiple.html b/remote/test/puppeteer/test/assets/csscoverage/multiple.html
index 0fd97e962a..a1d57415f9 100644
--- a/remote/test/puppeteer/test/assets/csscoverage/multiple.html
+++ b/remote/test/puppeteer/test/assets/csscoverage/multiple.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<link rel="stylesheet" href="stylesheet1.css">
<link rel="stylesheet" href="stylesheet2.css">
<script>
diff --git a/remote/test/puppeteer/test/assets/csscoverage/simple.html b/remote/test/puppeteer/test/assets/csscoverage/simple.html
index 3beae21829..f51dd11ac9 100644
--- a/remote/test/puppeteer/test/assets/csscoverage/simple.html
+++ b/remote/test/puppeteer/test/assets/csscoverage/simple.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
div { color: green; }
a { color: blue; }
diff --git a/remote/test/puppeteer/test/assets/csscoverage/sourceurl.html b/remote/test/puppeteer/test/assets/csscoverage/sourceurl.html
index df4e9c276c..592019fe1a 100644
--- a/remote/test/puppeteer/test/assets/csscoverage/sourceurl.html
+++ b/remote/test/puppeteer/test/assets/csscoverage/sourceurl.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
body {
padding: 10px;
diff --git a/remote/test/puppeteer/test/assets/csscoverage/unused.html b/remote/test/puppeteer/test/assets/csscoverage/unused.html
index 5b8186a3bf..2e8706cc31 100644
--- a/remote/test/puppeteer/test/assets/csscoverage/unused.html
+++ b/remote/test/puppeteer/test/assets/csscoverage/unused.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
@media screen {
a { color: green; }
diff --git a/remote/test/puppeteer/test/assets/dynamic-oopif.html b/remote/test/puppeteer/test/assets/dynamic-oopif.html
index 38614d0289..dbe93a9923 100644
--- a/remote/test/puppeteer/test/assets/dynamic-oopif.html
+++ b/remote/test/puppeteer/test/assets/dynamic-oopif.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
window.addEventListener('DOMContentLoaded', () => {
const iframe = document.createElement('iframe');
diff --git a/remote/test/puppeteer/test/assets/empty.html b/remote/test/puppeteer/test/assets/empty.html
index e69de29bb2..763b0739be 100644
--- a/remote/test/puppeteer/test/assets/empty.html
+++ b/remote/test/puppeteer/test/assets/empty.html
@@ -0,0 +1 @@
+<!DOCTYPE html> \ No newline at end of file
diff --git a/remote/test/puppeteer/test/assets/error.html b/remote/test/puppeteer/test/assets/error.html
index 130400c006..6929791e11 100644
--- a/remote/test/puppeteer/test/assets/error.html
+++ b/remote/test/puppeteer/test/assets/error.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
a();
diff --git a/remote/test/puppeteer/test/assets/frames/frame.html b/remote/test/puppeteer/test/assets/frames/frame.html
index 8f20d2da9f..29e7426dbc 100644
--- a/remote/test/puppeteer/test/assets/frames/frame.html
+++ b/remote/test/puppeteer/test/assets/frames/frame.html
@@ -1,8 +1,11 @@
+<!DOCTYPE html>
<link rel='stylesheet' href='./style.css'>
<script src='./script.js' type='text/javascript'></script>
<style>
div {
line-height: 18px;
+ width: 300px;
+ box-sizing: border-box;
}
</style>
<div>Hi, I'm frame</div>
diff --git a/remote/test/puppeteer/test/assets/frames/frameset.html b/remote/test/puppeteer/test/assets/frames/frameset.html
index 4d56f88839..7ef2faaa8d 100644
--- a/remote/test/puppeteer/test/assets/frames/frameset.html
+++ b/remote/test/puppeteer/test/assets/frames/frameset.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<frameset>
<frameset>
<frame src='./frame.html'></frame>
diff --git a/remote/test/puppeteer/test/assets/frames/lazy-frame.html b/remote/test/puppeteer/test/assets/frames/lazy-frame.html
index 4821cd76cd..45f9be020b 100644
--- a/remote/test/puppeteer/test/assets/frames/lazy-frame.html
+++ b/remote/test/puppeteer/test/assets/frames/lazy-frame.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<iframe width="100%" height="300" src="about:blank"></iframe>
<div style="height: 800vh"></div>
<iframe width="100%" height="300" src='./frame.html' loading="lazy"></iframe> \ No newline at end of file
diff --git a/remote/test/puppeteer/test/assets/frames/nested-frames.html b/remote/test/puppeteer/test/assets/frames/nested-frames.html
index e9c5d83c03..331462afe8 100644
--- a/remote/test/puppeteer/test/assets/frames/nested-frames.html
+++ b/remote/test/puppeteer/test/assets/frames/nested-frames.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
:root {
scrollbar-width: none;
diff --git a/remote/test/puppeteer/test/assets/frames/one-frame-url-fragment.html b/remote/test/puppeteer/test/assets/frames/one-frame-url-fragment.html
index d1462641ff..bc2266ad78 100644
--- a/remote/test/puppeteer/test/assets/frames/one-frame-url-fragment.html
+++ b/remote/test/puppeteer/test/assets/frames/one-frame-url-fragment.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<iframe src='./frame.html?param=value#fragment'></iframe>
diff --git a/remote/test/puppeteer/test/assets/frames/one-frame.html b/remote/test/puppeteer/test/assets/frames/one-frame.html
index e941d795a2..d520733f5c 100644
--- a/remote/test/puppeteer/test/assets/frames/one-frame.html
+++ b/remote/test/puppeteer/test/assets/frames/one-frame.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<iframe src='./frame.html'></iframe>
diff --git a/remote/test/puppeteer/test/assets/frames/two-frames.html b/remote/test/puppeteer/test/assets/frames/two-frames.html
index b2ee853eda..9c7a6cbca1 100644
--- a/remote/test/puppeteer/test/assets/frames/two-frames.html
+++ b/remote/test/puppeteer/test/assets/frames/two-frames.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
body {
display: flex;
diff --git a/remote/test/puppeteer/test/assets/global-var.html b/remote/test/puppeteer/test/assets/global-var.html
index b6be975038..37ab45f9c3 100644
--- a/remote/test/puppeteer/test/assets/global-var.html
+++ b/remote/test/puppeteer/test/assets/global-var.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
var globalVar = 123;
</script> \ No newline at end of file
diff --git a/remote/test/puppeteer/test/assets/grid.html b/remote/test/puppeteer/test/assets/grid.html
index 437193573d..f5d4ea6d60 100644
--- a/remote/test/puppeteer/test/assets/grid.html
+++ b/remote/test/puppeteer/test/assets/grid.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
document.addEventListener('DOMContentLoaded', function() {
function generatePalette(amount) {
diff --git a/remote/test/puppeteer/test/assets/historyapi.html b/remote/test/puppeteer/test/assets/historyapi.html
index bacaf9e9a0..cea5cbdab1 100644
--- a/remote/test/puppeteer/test/assets/historyapi.html
+++ b/remote/test/puppeteer/test/assets/historyapi.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
window.addEventListener('DOMContentLoaded', () => {
history.pushState({}, '', '#1');
diff --git a/remote/test/puppeteer/test/assets/initiator.html b/remote/test/puppeteer/test/assets/initiator.html
index 12889d3242..df88f5e954 100644
--- a/remote/test/puppeteer/test/assets/initiator.html
+++ b/remote/test/puppeteer/test/assets/initiator.html
@@ -1,2 +1,3 @@
+<!DOCTYPE html>
<iframe src="./frames/frame.html"></iframe>
<script src="./initiator.js"></script>
diff --git a/remote/test/puppeteer/test/assets/inner-frame1.html b/remote/test/puppeteer/test/assets/inner-frame1.html
index 00f19ec166..becdb4a466 100644
--- a/remote/test/puppeteer/test/assets/inner-frame1.html
+++ b/remote/test/puppeteer/test/assets/inner-frame1.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
window.addEventListener('DOMContentLoaded', () => {
const iframe = document.createElement('iframe');
diff --git a/remote/test/puppeteer/test/assets/inner-frame2.html b/remote/test/puppeteer/test/assets/inner-frame2.html
index 9a236cc48f..39dcf4c25c 100644
--- a/remote/test/puppeteer/test/assets/inner-frame2.html
+++ b/remote/test/puppeteer/test/assets/inner-frame2.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<button>click</button>
diff --git a/remote/test/puppeteer/test/assets/input/touchscreen.html b/remote/test/puppeteer/test/assets/input/touchscreen.html
index 76e31c97f9..b3a51e7f91 100644
--- a/remote/test/puppeteer/test/assets/input/touchscreen.html
+++ b/remote/test/puppeteer/test/assets/input/touchscreen.html
@@ -1,10 +1,10 @@
-<!doctype html>
+<!DOCTYPE html>
<html>
<head>
<title>Touch test</title>
</head>
- <body>
+ <body style="touch-action: none">
<style>
button {
box-sizing: border-box;
@@ -20,103 +20,53 @@
<button>Click target</button>
<script>
var allEvents = [];
- globalThis.addEventListener(
- "touchstart",
- (event) => {
- allEvents.push({
- type: "touchstart",
- touches: [...event.changedTouches].map((touch) => [
- touch.clientX,
- touch.clientY,
- touch.radiusX,
- touch.radiusY,
- ]),
- });
- },
- true,
- );
- globalThis.addEventListener(
- "touchmove",
- (event) => {
- allEvents.push({
- type: "touchmove",
- touches: [...event.changedTouches].map((touch) => [
- touch.clientX,
- touch.clientY,
- touch.radiusX,
- touch.radiusY,
- ]),
- });
- },
- true,
- );
- globalThis.addEventListener(
- "touchend",
- (event) => {
- allEvents.push({
- type: "touchend",
- touches: [...event.changedTouches].map((touch) => [
- touch.clientX,
- touch.clientY,
- touch.radiusX,
- touch.radiusY,
- ])
- });
- },
- true,
- );
- globalThis.addEventListener(
- "pointerdown",
- (event) => {
- allEvents.push({
- type: "pointerdown",
- x: event.x,
- y: event.y,
- width: event.width,
- height: event.height,
- });
- },
- true,
- );
- globalThis.addEventListener(
- "pointermove",
- (event) => {
- allEvents.push({
- type: "pointermove",
- x: event.x,
- y: event.y,
- width: event.width,
- height: event.height,
- });
- },
- true,
- );
- globalThis.addEventListener(
- "pointerup",
- (event) => {
- allEvents.push({
- type: "pointerup",
- x: event.x,
- y: event.y,
- width: event.width,
- height: event.height,
- });
- },
- true,
- );
- globalThis.addEventListener(
- "click",
- (event) => {
- allEvents.push({
- type: "click",
- x: event.x,
- y: event.y,
- width: event.width,
- height: event.height,
- });
- },
- true,
- );
+ for (const name of ["touchstart", "touchmove", "touchend"]) {
+ globalThis.addEventListener(
+ name,
+ (event) => {
+ allEvents.push({
+ type: name,
+ changedTouches: [...event.changedTouches].map((touch) => ({
+ clientX: touch.clientX,
+ clientY: touch.clientY,
+ radiusX: touch.radiusX,
+ radiusY: touch.radiusY,
+ force: touch.force,
+ })),
+ activeTouches: [...event.touches].map((touch) => ({
+ clientX: touch.clientX,
+ clientY: touch.clientY,
+ radiusX: touch.radiusX,
+ radiusY: touch.radiusY,
+ force: touch.force,
+ })),
+ });
+ },
+ true,
+ );
+ }
+ for (const name of ['pointerdown', 'pointermove', 'pointerup', 'click']) {
+ globalThis.addEventListener(
+ name,
+ (event) => {
+ allEvents.push({
+ type: name,
+ x: event.x,
+ y: event.y,
+ width: event.width,
+ height: event.height,
+ altitudeAngle: event.altitudeAngle,
+ azimuthAngle: event.azimuthAngle,
+ pressure: event.pressure,
+ pointerType: event.pointerType,
+ twist: event.twist,
+ tiltX: event.tiltX,
+ tiltY: event.tiltY,
+ });
+ },
+ true,
+ );
+ }
</script>
</body>
</html>
diff --git a/remote/test/puppeteer/test/assets/jscoverage/eval.html b/remote/test/puppeteer/test/assets/jscoverage/eval.html
index 838ae28763..dadc7d7b02 100644
--- a/remote/test/puppeteer/test/assets/jscoverage/eval.html
+++ b/remote/test/puppeteer/test/assets/jscoverage/eval.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<script>eval('console.log("foo")')</script>
diff --git a/remote/test/puppeteer/test/assets/jscoverage/involved.html b/remote/test/puppeteer/test/assets/jscoverage/involved.html
index fcc32ba2ca..c900801860 100644
--- a/remote/test/puppeteer/test/assets/jscoverage/involved.html
+++ b/remote/test/puppeteer/test/assets/jscoverage/involved.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
function foo() {
if (1 > 2)
diff --git a/remote/test/puppeteer/test/assets/jscoverage/multiple.html b/remote/test/puppeteer/test/assets/jscoverage/multiple.html
index bdef59885b..683e10b99d 100644
--- a/remote/test/puppeteer/test/assets/jscoverage/multiple.html
+++ b/remote/test/puppeteer/test/assets/jscoverage/multiple.html
@@ -1,2 +1,3 @@
+<!DOCTYPE html>
<script src='script1.js'></script>
<script src='script2.js'></script>
diff --git a/remote/test/puppeteer/test/assets/jscoverage/ranges.html b/remote/test/puppeteer/test/assets/jscoverage/ranges.html
index 3d02670aea..2535e740d7 100644
--- a/remote/test/puppeteer/test/assets/jscoverage/ranges.html
+++ b/remote/test/puppeteer/test/assets/jscoverage/ranges.html
@@ -1,2 +1,3 @@
+<!DOCTYPE html>
<script>
function unused(){}console.log('used!');if(true===false)console.log('unused!');</script>
diff --git a/remote/test/puppeteer/test/assets/jscoverage/simple.html b/remote/test/puppeteer/test/assets/jscoverage/simple.html
index 49eeeea6ae..9694f57d3e 100644
--- a/remote/test/puppeteer/test/assets/jscoverage/simple.html
+++ b/remote/test/puppeteer/test/assets/jscoverage/simple.html
@@ -1,2 +1,3 @@
+<!DOCTYPE html>
<script>
function foo() {function bar() { } console.log(1); } foo(); </script>
diff --git a/remote/test/puppeteer/test/assets/jscoverage/sourceurl.html b/remote/test/puppeteer/test/assets/jscoverage/sourceurl.html
index e477750320..c3c5251ad3 100644
--- a/remote/test/puppeteer/test/assets/jscoverage/sourceurl.html
+++ b/remote/test/puppeteer/test/assets/jscoverage/sourceurl.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
console.log(1);
//# sourceURL=nicename.js
diff --git a/remote/test/puppeteer/test/assets/jscoverage/unused.html b/remote/test/puppeteer/test/assets/jscoverage/unused.html
index 59c4a5a70b..80db364242 100644
--- a/remote/test/puppeteer/test/assets/jscoverage/unused.html
+++ b/remote/test/puppeteer/test/assets/jscoverage/unused.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<script>function foo() { }</script>
diff --git a/remote/test/puppeteer/test/assets/lazy-oopif-frame.html b/remote/test/puppeteer/test/assets/lazy-oopif-frame.html
index 83a420d029..71d00a3f72 100644
--- a/remote/test/puppeteer/test/assets/lazy-oopif-frame.html
+++ b/remote/test/puppeteer/test/assets/lazy-oopif-frame.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<iframe width="100%" height="300" src="about:blank"></iframe>
<div style="height: 800vh"></div>
<iframe width="100%" height="300" src="https://www.example.com" loading="lazy"></iframe>
diff --git a/remote/test/puppeteer/test/assets/main-frame.html b/remote/test/puppeteer/test/assets/main-frame.html
index 0c50feff85..ce223b5c2a 100644
--- a/remote/test/puppeteer/test/assets/main-frame.html
+++ b/remote/test/puppeteer/test/assets/main-frame.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
window.addEventListener('DOMContentLoaded', () => {
const iframe = document.createElement('iframe');
diff --git a/remote/test/puppeteer/test/assets/mobile.html b/remote/test/puppeteer/test/assets/mobile.html
index 8e94b2fe29..427cf74aa5 100644
--- a/remote/test/puppeteer/test/assets/mobile.html
+++ b/remote/test/puppeteer/test/assets/mobile.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<meta name = "viewport" content = "initial-scale = 1, user-scalable = no">
diff --git a/remote/test/puppeteer/test/assets/networkidle.html b/remote/test/puppeteer/test/assets/networkidle.html
index 910ae1736d..cbe0e153d0 100644
--- a/remote/test/puppeteer/test/assets/networkidle.html
+++ b/remote/test/puppeteer/test/assets/networkidle.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
async function sleep(delay) {
return new Promise(resolve => setTimeout(resolve, delay));
diff --git a/remote/test/puppeteer/test/assets/one-style.html b/remote/test/puppeteer/test/assets/one-style.html
index 4760f2b9f7..b3a6eeeebe 100644
--- a/remote/test/puppeteer/test/assets/one-style.html
+++ b/remote/test/puppeteer/test/assets/one-style.html
@@ -1,2 +1,3 @@
+<!DOCTYPE html>
<link rel='stylesheet' href='./one-style.css'>
<div>hello, world!</div>
diff --git a/remote/test/puppeteer/test/assets/oopif.html b/remote/test/puppeteer/test/assets/oopif.html
index f04b9127af..39e35eea96 100644
--- a/remote/test/puppeteer/test/assets/oopif.html
+++ b/remote/test/puppeteer/test/assets/oopif.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<a id="navigate-within-document" href="#nav">Navigate within document</a>
<a name="nav"></a>
<script>
diff --git a/remote/test/puppeteer/test/assets/p-selectors.html b/remote/test/puppeteer/test/assets/p-selectors.html
index 24900623d8..e442a53d88 100644
--- a/remote/test/puppeteer/test/assets/p-selectors.html
+++ b/remote/test/puppeteer/test/assets/p-selectors.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<div id="a">hello <button id="b">world</button>
<span id="f"></span>
<div id="c"></div>
diff --git a/remote/test/puppeteer/test/assets/pdf.html b/remote/test/puppeteer/test/assets/pdf.html
index 987df27ebe..ef046e3d36 100644
--- a/remote/test/puppeteer/test/assets/pdf.html
+++ b/remote/test/puppeteer/test/assets/pdf.html
@@ -6,6 +6,12 @@
<title>PDF</title>
</head>
<body>
- <div>PDF Content</div>
+ <h1>PDF Content</h1>
+ <section>
+ <h1>PDF Subcontent 1</h1>
+ </section>
+ <section>
+ <h1>PDF Subcontent 2</h1>
+ </section>
</body>
</html>
diff --git a/remote/test/puppeteer/test/assets/resetcss.html b/remote/test/puppeteer/test/assets/resetcss.html
index e4e04b1f8a..7e020d6ed2 100644
--- a/remote/test/puppeteer/test/assets/resetcss.html
+++ b/remote/test/puppeteer/test/assets/resetcss.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
diff --git a/remote/test/puppeteer/test/assets/self-request.html b/remote/test/puppeteer/test/assets/self-request.html
index 88aff620ff..682c326412 100644
--- a/remote/test/puppeteer/test/assets/self-request.html
+++ b/remote/test/puppeteer/test/assets/self-request.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
var req = new XMLHttpRequest();
req.open('GET', '/self-request.html');
diff --git a/remote/test/puppeteer/test/assets/serviceworkers/empty/sw.html b/remote/test/puppeteer/test/assets/serviceworkers/empty/sw.html
index bef85d985b..21e9d5dbd4 100644
--- a/remote/test/puppeteer/test/assets/serviceworkers/empty/sw.html
+++ b/remote/test/puppeteer/test/assets/serviceworkers/empty/sw.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
window.registrationPromise = navigator.serviceWorker.register('sw.js');
</script>
diff --git a/remote/test/puppeteer/test/assets/serviceworkers/fetch/sw.html b/remote/test/puppeteer/test/assets/serviceworkers/fetch/sw.html
index a9d28acb09..c9a918c2d9 100644
--- a/remote/test/puppeteer/test/assets/serviceworkers/fetch/sw.html
+++ b/remote/test/puppeteer/test/assets/serviceworkers/fetch/sw.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<link rel="stylesheet" href="./style.css">
<script>
window.registrationPromise = navigator.serviceWorker.register('sw.js');
diff --git a/remote/test/puppeteer/test/assets/shadow.html b/remote/test/puppeteer/test/assets/shadow.html
index 3796ca768c..cd64eb0faf 100644
--- a/remote/test/puppeteer/test/assets/shadow.html
+++ b/remote/test/puppeteer/test/assets/shadow.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
let h1 = null;
diff --git a/remote/test/puppeteer/test/assets/tamperable.html b/remote/test/puppeteer/test/assets/tamperable.html
index d027e97038..501d92c3ac 100644
--- a/remote/test/puppeteer/test/assets/tamperable.html
+++ b/remote/test/puppeteer/test/assets/tamperable.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<script>
window.result = window.injected;
</script> \ No newline at end of file
diff --git a/remote/test/puppeteer/test/assets/title.html b/remote/test/puppeteer/test/assets/title.html
index 88a86ce412..6e81f4091a 100644
--- a/remote/test/puppeteer/test/assets/title.html
+++ b/remote/test/puppeteer/test/assets/title.html
@@ -1 +1,2 @@
+<!DOCTYPE html>
<title>Woof-Woof</title>
diff --git a/remote/test/puppeteer/test/assets/wrappedlink.html b/remote/test/puppeteer/test/assets/wrappedlink.html
index 429b6e9156..da2cd0da3d 100644
--- a/remote/test/puppeteer/test/assets/wrappedlink.html
+++ b/remote/test/puppeteer/test/assets/wrappedlink.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<style>
:root {
font-family: monospace;
diff --git a/remote/test/puppeteer/test/fixtures/closeme.js b/remote/test/puppeteer/test/fixtures/closeme.js
index dbe798f70d..a534f9acde 100644
--- a/remote/test/puppeteer/test/fixtures/closeme.js
+++ b/remote/test/puppeteer/test/fixtures/closeme.js
@@ -1,3 +1,8 @@
+/**
+ * @license
+ * Copyright 2024 Google Inc.
+ * SPDX-License-Identifier: Apache-2.0
+ */
(async () => {
const [, , puppeteerRoot, options] = process.argv;
const browser = await require(puppeteerRoot).launch(JSON.parse(options));
diff --git a/remote/test/puppeteer/test/fixtures/dumpio.js b/remote/test/puppeteer/test/fixtures/dumpio.js
index a16cf4d633..3df71b43b5 100644
--- a/remote/test/puppeteer/test/fixtures/dumpio.js
+++ b/remote/test/puppeteer/test/fixtures/dumpio.js
@@ -1,3 +1,8 @@
+/**
+ * @license
+ * Copyright 2024 Google Inc.
+ * SPDX-License-Identifier: Apache-2.0
+ */
(async () => {
const [, , puppeteerRoot, options] = process.argv;
const browser = await require(puppeteerRoot).launch(JSON.parse(options));
diff --git a/remote/test/puppeteer/test/installation/assets/puppeteer/tsconfig.json b/remote/test/puppeteer/test/installation/assets/puppeteer/tsconfig.json
index ce77dbf8d9..fa9c8a13fd 100644
--- a/remote/test/puppeteer/test/installation/assets/puppeteer/tsconfig.json
+++ b/remote/test/puppeteer/test/installation/assets/puppeteer/tsconfig.json
@@ -2,6 +2,6 @@
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
- "moduleResolution": "NodeNext",
- },
+ "moduleResolution": "NodeNext"
+ }
}
diff --git a/remote/test/puppeteer/test/installation/package.json b/remote/test/puppeteer/test/installation/package.json
index f5e804d99c..bd21ac4b0a 100644
--- a/remote/test/puppeteer/test/installation/package.json
+++ b/remote/test/puppeteer/test/installation/package.json
@@ -5,7 +5,7 @@
"private": true,
"scripts": {
"build": "wireit",
- "clean": "../../tools/clean.js",
+ "clean": "../../tools/clean.mjs",
"test": "mocha"
},
"wireit": {
@@ -45,6 +45,6 @@
],
"dependencies": {
"glob": "10.3.10",
- "mocha": "10.2.0"
+ "mocha": "10.3.0"
}
}
diff --git a/remote/test/puppeteer/test/installation/src/puppeteer.spec.ts b/remote/test/puppeteer/test/installation/src/puppeteer.spec.ts
index d7b8757284..ac0a96f1d1 100644
--- a/remote/test/puppeteer/test/installation/src/puppeteer.spec.ts
+++ b/remote/test/puppeteer/test/installation/src/puppeteer.spec.ts
@@ -41,31 +41,6 @@ describe('`puppeteer`', () => {
// Skipping this test on Windows as windows runners are much slower.
(platform() === 'win32' ? describe.skip : describe)(
- '`puppeteer` with PUPPETEER_DOWNLOAD_PATH',
- () => {
- configureSandbox({
- dependencies: ['@puppeteer/browsers', 'puppeteer-core', 'puppeteer'],
- env: cwd => {
- return {
- PUPPETEER_DOWNLOAD_PATH: join(cwd, '.cache', 'puppeteer'),
- };
- },
- });
-
- it('evaluates', async function () {
- const files = await readdir(join(this.sandbox, '.cache', 'puppeteer'));
- assert.equal(files.length, 2);
- assert(files.includes('chrome'));
- assert(files.includes('chrome-headless-shell'));
-
- const script = await readAsset('puppeteer', 'basic.js');
- await this.runScript(script, 'mjs');
- });
- }
-);
-
-// Skipping this test on Windows as windows runners are much slower.
-(platform() === 'win32' ? describe.skip : describe)(
'`puppeteer` clears cache',
() => {
configureSandbox({
diff --git a/remote/test/puppeteer/test/installation/tsconfig.json b/remote/test/puppeteer/test/installation/tsconfig.json
index 146127b470..f749dd8a07 100644
--- a/remote/test/puppeteer/test/installation/tsconfig.json
+++ b/remote/test/puppeteer/test/installation/tsconfig.json
@@ -4,7 +4,7 @@
"module": "NodeNext",
"moduleResolution": "NodeNext",
"outDir": "build",
- "rootDir": "src",
+ "rootDir": "src"
},
- "include": ["src"],
+ "include": ["src"]
}
diff --git a/remote/test/puppeteer/test/package.json b/remote/test/puppeteer/test/package.json
index 6470297572..df6cc63731 100644
--- a/remote/test/puppeteer/test/package.json
+++ b/remote/test/puppeteer/test/package.json
@@ -4,7 +4,7 @@
"private": true,
"scripts": {
"build": "wireit",
- "clean": "../tools/clean.js"
+ "clean": "../tools/clean.mjs"
},
"wireit": {
"build": {
@@ -24,7 +24,7 @@
}
},
"dependencies": {
- "diff": "5.1.0",
+ "diff": "5.2.0",
"jpeg-js": "0.4.4",
"pixelmatch": "5.3.0",
"pngjs": "7.0.0"
diff --git a/remote/test/puppeteer/test/src/ariaqueryhandler.spec.ts b/remote/test/puppeteer/test/src/ariaqueryhandler.spec.ts
index 434d01426a..0ffb8ae6a5 100644
--- a/remote/test/puppeteer/test/src/ariaqueryhandler.spec.ts
+++ b/remote/test/puppeteer/test/src/ariaqueryhandler.spec.ts
@@ -370,9 +370,10 @@ describe('AriaQueryHandler', () => {
await detachFrame(page, 'frame1');
await waitPromise;
expect(waitError).toBeTruthy();
- expect(waitError.message).toContain(
- 'waitForFunction failed: frame got detached.'
- );
+ expect(waitError.message).atLeastOneToContain([
+ 'waitForFunction failed: frame got detached.',
+ 'Browsing context already closed.',
+ ]);
});
it('should survive cross-process navigation', async () => {
diff --git a/remote/test/puppeteer/test/src/browser.spec.ts b/remote/test/puppeteer/test/src/browser.spec.ts
index 6f21af5d9a..b8e0c8bb07 100644
--- a/remote/test/puppeteer/test/src/browser.spec.ts
+++ b/remote/test/puppeteer/test/src/browser.spec.ts
@@ -52,7 +52,9 @@ describe('Browser specs', function () {
expect(process!.pid).toBeGreaterThan(0);
});
it('should not return child_process for remote browser', async () => {
- const {browser, puppeteer} = await getTestState();
+ const {browser, puppeteer} = await getTestState({
+ skipContextCreation: true,
+ });
const browserWSEndpoint = browser.wsEndpoint();
const remoteBrowser = await puppeteer.connect({
@@ -66,7 +68,9 @@ describe('Browser specs', function () {
describe('Browser.isConnected', () => {
it('should set the browser connected state', async () => {
- const {browser, puppeteer} = await getTestState();
+ const {browser, puppeteer} = await getTestState({
+ skipContextCreation: true,
+ });
const browserWSEndpoint = browser.wsEndpoint();
const newBrowser = await puppeteer.connect({
diff --git a/remote/test/puppeteer/test/src/browsercontext.spec.ts b/remote/test/puppeteer/test/src/browsercontext.spec.ts
index 9cbbda60a4..27709e90bf 100644
--- a/remote/test/puppeteer/test/src/browsercontext.spec.ts
+++ b/remote/test/puppeteer/test/src/browsercontext.spec.ts
@@ -18,9 +18,13 @@ describe('BrowserContext', function () {
const {browser} = await getTestState({
skipContextCreation: true,
});
- expect(browser.browserContexts()).toHaveLength(1);
- const defaultContext = browser.browserContexts()[0]!;
- expect(defaultContext!.isIncognito()).toBe(false);
+
+ expect(browser.browserContexts().length).toBeGreaterThanOrEqual(1);
+ const defaultContext = browser.browserContexts().find(context => {
+ return !context.isIncognito();
+ });
+ expect(defaultContext).toBeDefined();
+
let error!: Error;
await defaultContext!.close().catch(error_ => {
return (error = error_);
@@ -33,13 +37,14 @@ describe('BrowserContext', function () {
skipContextCreation: true,
});
- expect(browser.browserContexts()).toHaveLength(1);
- const context = await browser.createIncognitoBrowserContext();
+ const contextCount = browser.browserContexts().length;
+ expect(contextCount).toBeGreaterThanOrEqual(1);
+ const context = await browser.createBrowserContext();
expect(context.isIncognito()).toBe(true);
- expect(browser.browserContexts()).toHaveLength(2);
+ expect(browser.browserContexts()).toHaveLength(contextCount + 1);
expect(browser.browserContexts().indexOf(context) !== -1).toBe(true);
await context.close();
- expect(browser.browserContexts()).toHaveLength(1);
+ expect(browser.browserContexts()).toHaveLength(contextCount);
});
it('should close all belonging targets once closing context', async () => {
const {browser} = await getTestState({
@@ -48,7 +53,7 @@ describe('BrowserContext', function () {
expect(await browser.pages()).toHaveLength(1);
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
await context.newPage();
expect(await browser.pages()).toHaveLength(2);
expect(await context.pages()).toHaveLength(1);
@@ -128,7 +133,7 @@ describe('BrowserContext', function () {
it('should timeout waiting for a non-existent target', async () => {
const {browser, server} = await getTestState();
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
const error = await context
.waitForTarget(
target => {
@@ -151,8 +156,8 @@ describe('BrowserContext', function () {
});
// Create two incognito contexts.
- const context1 = await browser.createIncognitoBrowserContext();
- const context2 = await browser.createIncognitoBrowserContext();
+ const context1 = await browser.createBrowserContext();
+ const context2 = await browser.createBrowserContext();
expect(context1.targets()).toHaveLength(0);
expect(context2.targets()).toHaveLength(0);
@@ -176,9 +181,9 @@ describe('BrowserContext', function () {
});
expect(context1.targets()).toHaveLength(1);
- expect(context1.targets()[0]).toBe(page1.target());
+ expect(await context1.targets()[0]?.page()).toBe(page1);
expect(context2.targets()).toHaveLength(1);
- expect(context2.targets()[0]).toBe(page2.target());
+ expect(await context2.targets()[0]?.page()).toBe(page2);
// Make sure pages don't share localstorage or cookies.
expect(
@@ -213,16 +218,19 @@ describe('BrowserContext', function () {
});
expect(browser.browserContexts()).toHaveLength(1);
- const context = await browser.createIncognitoBrowserContext();
- expect(browser.browserContexts()).toHaveLength(2);
- const remoteBrowser = await puppeteer.connect({
- browserWSEndpoint: browser.wsEndpoint(),
- protocol: browser.protocol,
- });
- const contexts = remoteBrowser.browserContexts();
- expect(contexts).toHaveLength(2);
- await remoteBrowser.disconnect();
- await context.close();
+ const context = await browser.createBrowserContext();
+ try {
+ expect(browser.browserContexts()).toHaveLength(2);
+ const remoteBrowser = await puppeteer.connect({
+ browserWSEndpoint: browser.wsEndpoint(),
+ protocol: browser.protocol,
+ });
+ const contexts = remoteBrowser.browserContexts();
+ expect(contexts).toHaveLength(2);
+ await remoteBrowser.disconnect();
+ } finally {
+ await context.close();
+ }
});
it('should provide a context id', async () => {
@@ -233,7 +241,7 @@ describe('BrowserContext', function () {
expect(browser.browserContexts()).toHaveLength(1);
expect(browser.browserContexts()[0]!.id).toBeUndefined();
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
expect(browser.browserContexts()).toHaveLength(2);
expect(browser.browserContexts()[1]!.id).toBeDefined();
await context.close();
@@ -333,7 +341,7 @@ describe('BrowserContext', function () {
const {page, server, context, browser} = await getTestState();
await page.goto(server.EMPTY_PAGE);
- const otherContext = await browser.createIncognitoBrowserContext();
+ const otherContext = await browser.createBrowserContext();
const otherPage = await otherContext.newPage();
await otherPage.goto(server.EMPTY_PAGE);
expect(await getPermission(page, 'geolocation')).toBe('prompt');
diff --git a/remote/test/puppeteer/test/src/cdp/CDPSession.spec.ts b/remote/test/puppeteer/test/src/cdp/CDPSession.spec.ts
index 2000c0e435..887152f097 100644
--- a/remote/test/puppeteer/test/src/cdp/CDPSession.spec.ts
+++ b/remote/test/puppeteer/test/src/cdp/CDPSession.spec.ts
@@ -30,7 +30,7 @@ describe('Target.createCDPSession', function () {
});
it('should not report created targets for custom CDP sessions', async () => {
- const {browser} = await getTestState();
+ const {context} = await getTestState();
let called = 0;
const handler = async (target: Target) => {
called++;
@@ -39,9 +39,9 @@ describe('Target.createCDPSession', function () {
}
await target.createCDPSession();
};
- browser.browserContexts()[0]!.on('targetcreated', handler);
- await browser.newPage();
- browser.browserContexts()[0]!.off('targetcreated', handler);
+ context.on('targetcreated', handler);
+ await context.newPage();
+ context.off('targetcreated', handler);
});
it('should send events', async () => {
diff --git a/remote/test/puppeteer/test/src/cdp/devtools.spec.ts b/remote/test/puppeteer/test/src/cdp/devtools.spec.ts
index c158481af2..c48b4c353b 100644
--- a/remote/test/puppeteer/test/src/cdp/devtools.spec.ts
+++ b/remote/test/puppeteer/test/src/cdp/devtools.spec.ts
@@ -93,7 +93,7 @@ describe('DevTools', function () {
const browser = await launchBrowser(
Object.assign({devtools: true}, launchOptions)
);
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
await Promise.all([
context.newPage(),
browser.waitForTarget((target: {url: () => string | string[]}) => {
@@ -106,7 +106,7 @@ describe('DevTools', function () {
const browser = await launchBrowser(
Object.assign({devtools: true}, launchOptions)
);
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
const [target] = await Promise.all([
browser.waitForTarget((target: {url: () => string | string[]}) => {
return target.url().includes('devtools://');
diff --git a/remote/test/puppeteer/test/src/cdp/pdf.spec.ts b/remote/test/puppeteer/test/src/cdp/pdf.spec.ts
new file mode 100644
index 0000000000..06a41de36f
--- /dev/null
+++ b/remote/test/puppeteer/test/src/cdp/pdf.spec.ts
@@ -0,0 +1,55 @@
+/**
+ * @license
+ * Copyright 2017 Google Inc.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import {readFile, unlink} from 'fs/promises';
+
+import expect from 'expect';
+
+import {getTestState, setupTestBrowserHooks} from '../mocha-utils.js';
+
+describe('Page.pdf', () => {
+ setupTestBrowserHooks();
+
+ it('can print to PDF with accessible', async () => {
+ const {page, server} = await getTestState();
+
+ const outputFile = __dirname + '/../../assets/output.pdf';
+ const outputFileAccessible =
+ __dirname + '/../../assets/output-accessible.pdf';
+ await page.goto(server.PREFIX + '/pdf.html');
+ await page.pdf({path: outputFile, tagged: false});
+ await page.pdf({path: outputFileAccessible, tagged: true});
+ try {
+ const [base, tagged] = await Promise.all([
+ readFile(outputFile),
+ readFile(outputFileAccessible),
+ ]);
+ expect(tagged.byteLength).toBeGreaterThan(base.byteLength);
+ } finally {
+ await Promise.all([unlink(outputFile), unlink(outputFileAccessible)]);
+ }
+ });
+
+ it('can print to PDF with outline', async () => {
+ const {page, server} = await getTestState();
+
+ const outputFile = __dirname + '/../../assets/output.pdf';
+ const outputFileOutlined = __dirname + '/../../assets/output-outlined.pdf';
+ await page.goto(server.PREFIX + '/pdf.html');
+ await page.pdf({path: outputFile, tagged: true});
+ await page.pdf({path: outputFileOutlined, tagged: true, outline: true});
+ try {
+ const [base, outlined] = await Promise.all([
+ readFile(outputFile),
+ readFile(outputFileOutlined),
+ ]);
+
+ expect(outlined.byteLength).toBeGreaterThan(base.byteLength);
+ } finally {
+ await Promise.all([unlink(outputFile), unlink(outputFileOutlined)]);
+ }
+ });
+});
diff --git a/remote/test/puppeteer/test/src/screencast.spec.ts b/remote/test/puppeteer/test/src/cdp/screencast.spec.ts
index b645f55da7..2833ff4d67 100644
--- a/remote/test/puppeteer/test/src/screencast.spec.ts
+++ b/remote/test/puppeteer/test/src/cdp/screencast.spec.ts
@@ -8,8 +8,8 @@ import {statSync} from 'fs';
import expect from 'expect';
-import {getTestState, setupTestBrowserHooks} from './mocha-utils.js';
-import {getUniqueVideoFilePlaceholder} from './utils.js';
+import {getTestState, setupTestBrowserHooks} from '../mocha-utils.js';
+import {getUniqueVideoFilePlaceholder} from '../utils.js';
describe('Screencasts', function () {
setupTestBrowserHooks();
diff --git a/remote/test/puppeteer/test/src/cookies.spec.ts b/remote/test/puppeteer/test/src/cookies.spec.ts
index f232831b72..1fa4a9407c 100644
--- a/remote/test/puppeteer/test/src/cookies.spec.ts
+++ b/remote/test/puppeteer/test/src/cookies.spec.ts
@@ -150,9 +150,7 @@ describe('Cookie specs', () => {
expires: -1,
size: 11,
httpOnly: false,
- secure: true,
session: true,
- sourcePort: 443,
sourceScheme: 'Secure',
},
{
@@ -164,13 +162,47 @@ describe('Cookie specs', () => {
expires: -1,
size: 10,
httpOnly: false,
- secure: true,
session: true,
- sourcePort: 443,
sourceScheme: 'Secure',
},
]);
});
+ it('should not get cookies from subdomain', async () => {
+ const {page} = await getTestState();
+ await page.setCookie({
+ url: 'https://base_domain.com',
+ name: 'doggo',
+ value: 'woofs',
+ });
+ const cookies = await page.cookies('https://sub_domain.base_domain.com');
+ expect(cookies).toHaveLength(0);
+ });
+ it('should get cookies from nested path', async () => {
+ const {page} = await getTestState();
+ await page.setCookie({
+ url: 'https://foo.com',
+ path: '/some_path',
+ name: 'doggo',
+ value: 'woofs',
+ });
+ const cookies = await page.cookies(
+ 'https://foo.com/some_path/nested_path'
+ );
+ expect(cookies).toHaveLength(1);
+ });
+ it('should not get cookies from not nested path', async () => {
+ const {page} = await getTestState();
+ await page.setCookie({
+ url: 'https://foo.com',
+ path: '/some_path',
+ name: 'doggo',
+ value: 'woofs',
+ });
+ const cookies = await page.cookies(
+ 'https://foo.com/some_path_looks_like_nested'
+ );
+ expect(cookies).toHaveLength(0);
+ });
});
describe('Page.setCookie', function () {
it('should work', async () => {
@@ -190,24 +222,27 @@ describe('Cookie specs', () => {
it('should isolate cookies in browser contexts', async () => {
const {page, server, browser} = await getTestState();
- const anotherContext = await browser.createIncognitoBrowserContext();
- const anotherPage = await anotherContext.newPage();
+ const anotherContext = await browser.createBrowserContext();
+ try {
+ const anotherPage = await anotherContext.newPage();
- await page.goto(server.EMPTY_PAGE);
- await anotherPage.goto(server.EMPTY_PAGE);
-
- await page.setCookie({name: 'page1cookie', value: 'page1value'});
- await anotherPage.setCookie({name: 'page2cookie', value: 'page2value'});
-
- const cookies1 = await page.cookies();
- const cookies2 = await anotherPage.cookies();
- expect(cookies1).toHaveLength(1);
- expect(cookies2).toHaveLength(1);
- expect(cookies1[0]!.name).toBe('page1cookie');
- expect(cookies1[0]!.value).toBe('page1value');
- expect(cookies2[0]!.name).toBe('page2cookie');
- expect(cookies2[0]!.value).toBe('page2value');
- await anotherContext.close();
+ await page.goto(server.EMPTY_PAGE);
+ await anotherPage.goto(server.EMPTY_PAGE);
+
+ await page.setCookie({name: 'page1cookie', value: 'page1value'});
+ await anotherPage.setCookie({name: 'page2cookie', value: 'page2value'});
+
+ const cookies1 = await page.cookies();
+ const cookies2 = await anotherPage.cookies();
+ expect(cookies1).toHaveLength(1);
+ expect(cookies2).toHaveLength(1);
+ expect(cookies1[0]!.name).toBe('page1cookie');
+ expect(cookies1[0]!.value).toBe('page1value');
+ expect(cookies2[0]!.name).toBe('page2cookie');
+ expect(cookies2[0]!.value).toBe('page2value');
+ } finally {
+ await anotherContext.close();
+ }
});
it('should set multiple cookies', async () => {
const {page, server} = await getTestState();
@@ -271,7 +306,6 @@ describe('Cookie specs', () => {
httpOnly: false,
secure: false,
session: true,
- sourcePort: 80,
sourceScheme: 'NonSecure',
},
]
@@ -298,7 +332,6 @@ describe('Cookie specs', () => {
httpOnly: false,
secure: false,
session: true,
- sourcePort: 80,
sourceScheme: 'NonSecure',
},
]);
@@ -401,9 +434,7 @@ describe('Cookie specs', () => {
expires: -1,
size: 18,
httpOnly: false,
- secure: true,
session: true,
- sourcePort: 443,
sourceScheme: 'Secure',
},
]);
@@ -446,7 +477,6 @@ describe('Cookie specs', () => {
httpOnly: false,
secure: false,
session: true,
- sourcePort: 80,
sourceScheme: 'NonSecure',
},
]);
@@ -465,7 +495,6 @@ describe('Cookie specs', () => {
httpOnly: false,
secure: false,
session: true,
- sourcePort: 80,
sourceScheme: 'NonSecure',
},
]
@@ -515,7 +544,6 @@ describe('Cookie specs', () => {
sameSite: 'None',
secure: true,
session: true,
- sourcePort: 443,
sourceScheme: 'Secure',
},
]
@@ -527,7 +555,7 @@ describe('Cookie specs', () => {
});
describe('Page.deleteCookie', function () {
- it('should work', async () => {
+ it('should delete cookie', async () => {
const {page, server} = await getTestState();
await page.goto(server.EMPTY_PAGE);
@@ -553,5 +581,139 @@ describe('Cookie specs', () => {
'cookie1=1; cookie3=3'
);
});
+ it('should not delete cookie for different domain', async () => {
+ const {page, server} = await getTestState();
+ const COOKIE_DESTINATION_URL = 'https://example.com';
+ const COOKIE_NAME = 'some_cookie_name';
+
+ await page.goto(server.EMPTY_PAGE);
+ // Set a cookie for the current page.
+ await page.setCookie({
+ name: COOKIE_NAME,
+ value: 'local page cookie value',
+ });
+ expect(await page.cookies()).toHaveLength(1);
+
+ // Set a cookie for different domain.
+ await page.setCookie({
+ url: COOKIE_DESTINATION_URL,
+ name: COOKIE_NAME,
+ value: 'COOKIE_DESTINATION_URL cookie value',
+ });
+ expect(await page.cookies(COOKIE_DESTINATION_URL)).toHaveLength(1);
+
+ await page.deleteCookie({name: COOKIE_NAME});
+
+ // Verify the cookie is deleted for the current page.
+ expect(await page.cookies()).toHaveLength(0);
+
+ // Verify the cookie is not deleted for different domain.
+ await expectCookieEquals(await page.cookies(COOKIE_DESTINATION_URL), [
+ {
+ name: COOKIE_NAME,
+ value: 'COOKIE_DESTINATION_URL cookie value',
+ domain: 'example.com',
+ path: '/',
+ sameParty: false,
+ expires: -1,
+ size: 51,
+ httpOnly: false,
+ secure: true,
+ session: true,
+ sourceScheme: 'Secure',
+ },
+ ]);
+ });
+ it('should delete cookie for specified URL', async () => {
+ const {page, server} = await getTestState();
+ const COOKIE_DESTINATION_URL = 'https://example.com';
+ const COOKIE_NAME = 'some_cookie_name';
+
+ await page.goto(server.EMPTY_PAGE);
+ // Set a cookie for the current page.
+ await page.setCookie({
+ name: COOKIE_NAME,
+ value: 'some_cookie_value',
+ });
+ expect(await page.cookies()).toHaveLength(1);
+
+ // Set a cookie for specified URL.
+ await page.setCookie({
+ url: COOKIE_DESTINATION_URL,
+ name: COOKIE_NAME,
+ value: 'another_cookie_value',
+ });
+ expect(await page.cookies(COOKIE_DESTINATION_URL)).toHaveLength(1);
+
+ // Delete the cookie for specified URL.
+ await page.deleteCookie({
+ url: COOKIE_DESTINATION_URL,
+ name: COOKIE_NAME,
+ });
+
+ // Verify the cookie is deleted for specified URL.
+ expect(await page.cookies(COOKIE_DESTINATION_URL)).toHaveLength(0);
+
+ // Verify the cookie is not deleted for the current page.
+ await expectCookieEquals(await page.cookies(), [
+ {
+ name: COOKIE_NAME,
+ value: 'some_cookie_value',
+ domain: 'localhost',
+ path: '/',
+ sameParty: false,
+ expires: -1,
+ size: 33,
+ httpOnly: false,
+ secure: false,
+ session: true,
+ sourceScheme: 'NonSecure',
+ },
+ ]);
+ });
+ it('should delete cookie for specified URL regardless of the current page', async () => {
+ // This test verifies the page.deleteCookie method deletes cookies for the custom
+ // destination URL, even if it was set from another page. Depending on the cookie
+ // partitioning implementation, this test case does not pass, if source origin is in
+ // the default cookie partition.
+
+ const {page, server} = await getTestState();
+ const COOKIE_DESTINATION_URL = 'https://example.com';
+ const COOKIE_NAME = 'some_cookie_name';
+ const URL_1 = server.EMPTY_PAGE;
+ const URL_2 = server.CROSS_PROCESS_PREFIX + '/empty.html';
+
+ await page.goto(URL_1);
+ // Set a cookie for the COOKIE_DESTINATION from URL_1.
+ await page.setCookie({
+ url: COOKIE_DESTINATION_URL,
+ name: COOKIE_NAME,
+ value: 'Cookie from URL_1',
+ });
+ expect(await page.cookies(COOKIE_DESTINATION_URL)).toHaveLength(1);
+
+ await page.goto(URL_2);
+ // Set a cookie for the COOKIE_DESTINATION from URL_2.
+ await page.setCookie({
+ url: COOKIE_DESTINATION_URL,
+ name: COOKIE_NAME,
+ value: 'Cookie from URL_2',
+ });
+ expect(await page.cookies(COOKIE_DESTINATION_URL)).toHaveLength(1);
+
+ // Delete the cookie for the COOKIE_DESTINATION from URL_2.
+ await page.deleteCookie({
+ name: COOKIE_NAME,
+ url: COOKIE_DESTINATION_URL,
+ });
+
+ // Expect the cookie for the COOKIE_DESTINATION from URL_2 is deleted.
+ expect(await page.cookies(COOKIE_DESTINATION_URL)).toHaveLength(0);
+
+ // Navigate back to the URL_1.
+ await page.goto(server.EMPTY_PAGE);
+ // Expect the cookie for the COOKIE_DESTINATION from URL_1 is deleted.
+ expect(await page.cookies(COOKIE_DESTINATION_URL)).toHaveLength(0);
+ });
});
});
diff --git a/remote/test/puppeteer/test/src/coverage.spec.ts b/remote/test/puppeteer/test/src/coverage.spec.ts
index 6a95db541c..612d634007 100644
--- a/remote/test/puppeteer/test/src/coverage.spec.ts
+++ b/remote/test/puppeteer/test/src/coverage.spec.ts
@@ -49,12 +49,11 @@ describe('Coverage specs', function () {
await page.coverage.startJSCoverage({reportAnonymousScripts: true});
await page.goto(server.PREFIX + '/jscoverage/eval.html');
const coverage = await page.coverage.stopJSCoverage();
- expect(
- coverage.find(entry => {
- return entry.url.startsWith('debugger://');
- })
- ).not.toBe(null);
- expect(coverage).toHaveLength(2);
+
+ const filtered = coverage.filter(entry => {
+ return !entry.url.startsWith('debugger://');
+ });
+ expect(filtered).toHaveLength(1);
});
it('should ignore pptr internal scripts if reportAnonymousScripts is true', async () => {
const {page, server} = await getTestState();
diff --git a/remote/test/puppeteer/test/src/debugInfo.spec.ts b/remote/test/puppeteer/test/src/debugInfo.spec.ts
index 079107cab7..4f79231667 100644
--- a/remote/test/puppeteer/test/src/debugInfo.spec.ts
+++ b/remote/test/puppeteer/test/src/debugInfo.spec.ts
@@ -15,6 +15,18 @@ describe('DebugInfo', function () {
it('should work', async () => {
const {page, browser} = await getTestState();
+ for (let i = 0; i < 5; i++) {
+ if (!browser.debugInfo.pendingProtocolErrors.length) {
+ break;
+ }
+ await new Promise(resolve => {
+ return setTimeout(resolve, 200);
+ });
+ }
+
+ // Insure that the previous test are flushed
+ expect(browser.debugInfo.pendingProtocolErrors).toHaveLength(0);
+
const promise = page.evaluate(() => {
return new Promise(resolve => {
// @ts-expect-error another context
diff --git a/remote/test/puppeteer/test/src/defaultbrowsercontext.spec.ts b/remote/test/puppeteer/test/src/defaultbrowsercontext.spec.ts
index 69a5a069af..662c6826cb 100644
--- a/remote/test/puppeteer/test/src/defaultbrowsercontext.spec.ts
+++ b/remote/test/puppeteer/test/src/defaultbrowsercontext.spec.ts
@@ -62,7 +62,6 @@ describe('DefaultBrowserContext', function () {
httpOnly: false,
secure: false,
session: true,
- sourcePort: 80,
sourceScheme: 'NonSecure',
},
]);
@@ -96,7 +95,6 @@ describe('DefaultBrowserContext', function () {
httpOnly: false,
secure: false,
session: true,
- sourcePort: 80,
sourceScheme: 'NonSecure',
},
]);
diff --git a/remote/test/puppeteer/test/src/device-request-prompt.spec.ts b/remote/test/puppeteer/test/src/device-request-prompt.spec.ts
index e6e2cdd65e..450a8d800c 100644
--- a/remote/test/puppeteer/test/src/device-request-prompt.spec.ts
+++ b/remote/test/puppeteer/test/src/device-request-prompt.spec.ts
@@ -28,7 +28,7 @@ describe('device request prompt', function () {
});
beforeEach(async () => {
- state.context = await state.browser.createIncognitoBrowserContext();
+ state.context = await state.browser.createBrowserContext();
state.page = await state.context.newPage();
});
diff --git a/remote/test/puppeteer/test/src/elementhandle.spec.ts b/remote/test/puppeteer/test/src/elementhandle.spec.ts
index 9aaf914224..e0f1e41878 100644
--- a/remote/test/puppeteer/test/src/elementhandle.spec.ts
+++ b/remote/test/puppeteer/test/src/elementhandle.spec.ts
@@ -34,18 +34,14 @@ describe('ElementHandle specs', function () {
expect(box).toEqual({x: 100, y: 50, width: 50, height: 50});
});
it('should handle nested frames', async () => {
- const {page, server, isChrome} = await getTestState();
+ const {page, server} = await getTestState();
await page.setViewport({width: 500, height: 500});
await page.goto(server.PREFIX + '/frames/nested-frames.html');
const nestedFrame = page.frames()[1]!.childFrames()[1]!;
using elementHandle = (await nestedFrame.$('div'))!;
const box = await elementHandle.boundingBox();
- if (isChrome) {
- expect(box).toEqual({x: 28, y: 182, width: 264, height: 18});
- } else {
- expect(box).toEqual({x: 28, y: 182, width: 254, height: 18});
- }
+ expect(box).toEqual({x: 28, y: 182, width: 300, height: 18});
});
it('should return null for invisible elements', async () => {
const {page} = await getTestState();
@@ -472,10 +468,8 @@ describe('ElementHandle specs', function () {
})
).toStrictEqual('bar1');
});
- });
- describe('Element.waitForXPath', () => {
- it('should wait correctly with waitForXPath on an element', async () => {
+ it('should wait correctly with waitForSelector and xpath on an element', async () => {
const {page} = await getTestState();
// Set the page content after the waitFor has been started.
await page.setContent(
@@ -490,20 +484,18 @@ describe('ElementHandle specs', function () {
</div>`
);
- using el1 = (await page.waitForSelector(
+ using elById = (await page.waitForSelector(
'#el1'
)) as ElementHandle<HTMLDivElement>;
- for (const path of ['//div', './/div']) {
- using e = (await el1.waitForXPath(
- path
- )) as ElementHandle<HTMLDivElement>;
- expect(
- await e.evaluate(el => {
- return el.id;
- })
- ).toStrictEqual('el2');
- }
+ using elByXpath = (await elById.waitForSelector(
+ 'xpath/.//div'
+ )) as ElementHandle<HTMLDivElement>;
+ expect(
+ await elByXpath.evaluate(el => {
+ return el.id;
+ })
+ ).toStrictEqual('el2');
});
});
diff --git a/remote/test/puppeteer/test/src/evaluation.spec.ts b/remote/test/puppeteer/test/src/evaluation.spec.ts
index 3305b59cc2..88cccb82dd 100644
--- a/remote/test/puppeteer/test/src/evaluation.spec.ts
+++ b/remote/test/puppeteer/test/src/evaluation.spec.ts
@@ -408,9 +408,10 @@ describe('Evaluation specs', function () {
return (error = error_);
});
expect(error).toBeTruthy();
- expect(error.message).toContain(
- 'JSHandles can be evaluated only in the context they were created'
- );
+ expect(error.message).atLeastOneToContain([
+ 'JSHandles can be evaluated only in the context they were created',
+ "Trying to evaluate JSHandle from different frames. Usually this means you're using a handle from a page on a different page.",
+ ]);
});
it('should simulate a user gesture', async () => {
const {page} = await getTestState();
diff --git a/remote/test/puppeteer/test/src/fixtures.spec.ts b/remote/test/puppeteer/test/src/fixtures.spec.ts
index ca11e94cac..e7a2e1ac9b 100644
--- a/remote/test/puppeteer/test/src/fixtures.spec.ts
+++ b/remote/test/puppeteer/test/src/fixtures.spec.ts
@@ -18,7 +18,7 @@ describe('Fixtures', function () {
it('dumpio option should work with pipe option', async () => {
const {defaultBrowserOptions, puppeteerPath, headless} =
await getTestState();
- if (headless !== 'true') {
+ if (headless !== 'shell') {
// This test only works in the old headless mode.
return;
}
@@ -42,7 +42,8 @@ describe('Fixtures', function () {
expect(dumpioData).toContain('message from dumpio');
});
it('should dump browser process stderr', async () => {
- const {defaultBrowserOptions, puppeteerPath} = await getTestState();
+ const {defaultBrowserOptions, isFirefox, puppeteerPath} =
+ await getTestState();
let dumpioData = '';
const options = Object.assign({}, defaultBrowserOptions, {dumpio: true});
@@ -57,7 +58,11 @@ describe('Fixtures', function () {
await new Promise(resolve => {
return res.on('close', resolve);
});
- expect(dumpioData).toContain('DevTools listening on ws://');
+ if (isFirefox && defaultBrowserOptions.protocol === 'webDriverBiDi') {
+ expect(dumpioData).toContain('WebDriver BiDi listening on ws://');
+ } else {
+ expect(dumpioData).toContain('DevTools listening on ws://');
+ }
});
it('should close the browser when the node process closes', async () => {
const {defaultBrowserOptions, puppeteerPath, puppeteer} =
diff --git a/remote/test/puppeteer/test/src/frame.spec.ts b/remote/test/puppeteer/test/src/frame.spec.ts
index 3b2456821a..a49fb19482 100644
--- a/remote/test/puppeteer/test/src/frame.spec.ts
+++ b/remote/test/puppeteer/test/src/frame.spec.ts
@@ -205,6 +205,18 @@ describe('Frame specs', function () {
expect(detachedFrames).toHaveLength(4);
expect(navigatedFrames).toHaveLength(1);
});
+
+ it('should click elements in a frameset', async () => {
+ const {page, server} = await getTestState();
+ await page.goto(server.PREFIX + '/frames/frameset.html');
+ const frame = await page.waitForFrame(frame => {
+ return frame.url().endsWith('/frames/frame.html');
+ });
+ using div = await frame.waitForSelector('div');
+ expect(div).toBeTruthy();
+ await div?.click();
+ });
+
it('should report frame from-inside shadow DOM', async () => {
const {page, server} = await getTestState();
diff --git a/remote/test/puppeteer/test/src/headful.spec.ts b/remote/test/puppeteer/test/src/headful.spec.ts
index 1e3248b4ff..67ae9f335e 100644
--- a/remote/test/puppeteer/test/src/headful.spec.ts
+++ b/remote/test/puppeteer/test/src/headful.spec.ts
@@ -12,18 +12,18 @@ import expect from 'expect';
import type {PuppeteerLaunchOptions} from 'puppeteer-core/internal/node/PuppeteerNode.js';
import {rmSync} from 'puppeteer-core/internal/node/util/fs.js';
-import {getTestState, isHeadless, launch} from './mocha-utils.js';
+import {getTestState, launch} from './mocha-utils.js';
const TMP_FOLDER = path.join(os.tmpdir(), 'pptr_tmp_folder-');
-(!isHeadless ? describe : describe.skip)('headful tests', function () {
+describe('headful tests', function () {
/* These tests fire up an actual browser so let's
* allow a higher timeout
*/
this.timeout(20_000);
- let headfulOptions: PuppeteerLaunchOptions | undefined;
- let headlessOptions: PuppeteerLaunchOptions & {headless: boolean};
+ let headfulOptions: PuppeteerLaunchOptions & {headless: false};
+ let headlessOptions: PuppeteerLaunchOptions & {headless: true};
const browsers: Array<() => Promise<void>> = [];
@@ -32,10 +32,10 @@ const TMP_FOLDER = path.join(os.tmpdir(), 'pptr_tmp_folder-');
skipLaunch: true,
});
headfulOptions = Object.assign({}, defaultBrowserOptions, {
- headless: false,
+ headless: false as const,
});
headlessOptions = Object.assign({}, defaultBrowserOptions, {
- headless: true,
+ headless: true as const,
});
});
@@ -64,23 +64,30 @@ const TMP_FOLDER = path.join(os.tmpdir(), 'pptr_tmp_folder-');
const headfulBrowser = await launchBrowser(
Object.assign({userDataDir}, headfulOptions)
);
- const headfulPage = await headfulBrowser.newPage();
- await headfulPage.goto(server.EMPTY_PAGE);
- await headfulPage.evaluate(() => {
- return (document.cookie =
- 'foo=true; expires=Fri, 31 Dec 9999 23:59:59 GMT');
- });
- await headfulBrowser.close();
+ try {
+ const headfulPage = await headfulBrowser.newPage();
+ await headfulPage.goto(server.EMPTY_PAGE);
+ await headfulPage.evaluate(() => {
+ return (document.cookie =
+ 'foo=true; expires=Fri, 31 Dec 9999 23:59:59 GMT');
+ });
+ } finally {
+ await headfulBrowser.close();
+ }
// Read the cookie from headless chrome
const headlessBrowser = await launchBrowser(
Object.assign({userDataDir}, headlessOptions)
);
- const headlessPage = await headlessBrowser.newPage();
- await headlessPage.goto(server.EMPTY_PAGE);
- const cookie = await headlessPage.evaluate(() => {
- return document.cookie;
- });
- await headlessBrowser.close();
+ let cookie = '';
+ try {
+ const headlessPage = await headlessBrowser.newPage();
+ await headlessPage.goto(server.EMPTY_PAGE);
+ cookie = await headlessPage.evaluate(() => {
+ return document.cookie;
+ });
+ } finally {
+ await headlessBrowser.close();
+ }
// This might throw. See https://github.com/puppeteer/puppeteer/issues/2778
try {
rmSync(userDataDir);
diff --git a/remote/test/puppeteer/test/src/ignorehttpserrors.spec.ts b/remote/test/puppeteer/test/src/ignorehttpserrors.spec.ts
index 8fb557cb88..d8e5603388 100644
--- a/remote/test/puppeteer/test/src/ignorehttpserrors.spec.ts
+++ b/remote/test/puppeteer/test/src/ignorehttpserrors.spec.ts
@@ -32,7 +32,7 @@ describe('ignoreHTTPSErrors', function () {
});
beforeEach(async () => {
- state.context = await state.browser.createIncognitoBrowserContext();
+ state.context = await state.browser.createBrowserContext();
state.page = await state.context.newPage();
});
diff --git a/remote/test/puppeteer/test/src/input.spec.ts b/remote/test/puppeteer/test/src/input.spec.ts
index 7e4cae6709..47064528d3 100644
--- a/remote/test/puppeteer/test/src/input.spec.ts
+++ b/remote/test/puppeteer/test/src/input.spec.ts
@@ -17,14 +17,13 @@ const FILE_TO_UPLOAD = path.join(__dirname, '/../assets/file-to-upload.txt');
describe('input tests', function () {
setupTestBrowserHooks();
- describe('input', function () {
+ describe('ElementHandle.uploadFile', function () {
it('should upload the file', async () => {
const {page, server} = await getTestState();
await page.goto(server.PREFIX + '/input/fileupload.html');
- const filePath = path.relative(process.cwd(), FILE_TO_UPLOAD);
using input = (await page.$('input'))!;
- await page.evaluate((e: HTMLElement) => {
+ await input.evaluate(e => {
(globalThis as any)._inputEvents = [];
e.addEventListener('change', ev => {
return (globalThis as any)._inputEvents.push(ev.type);
@@ -32,34 +31,63 @@ describe('input tests', function () {
e.addEventListener('input', ev => {
return (globalThis as any)._inputEvents.push(ev.type);
});
- }, input);
- await input.uploadFile(filePath);
+ });
+
+ const file = path.relative(process.cwd(), FILE_TO_UPLOAD);
+ await input.uploadFile(file);
+
expect(
- await page.evaluate((e: HTMLInputElement) => {
- return e.files![0]!.name;
- }, input)
+ await input.evaluate(e => {
+ return e.files?.[0]?.name;
+ })
).toBe('file-to-upload.txt');
expect(
- await page.evaluate((e: HTMLInputElement) => {
- return e.files![0]!.type;
- }, input)
+ await input.evaluate(e => {
+ return e.files?.[0]?.type;
+ })
).toBe('text/plain');
expect(
await page.evaluate(() => {
return (globalThis as any)._inputEvents;
})
).toEqual(['input', 'change']);
+ });
+
+ it('should read the file', async () => {
+ const {page, server} = await getTestState();
+
+ await page.goto(server.PREFIX + '/input/fileupload.html');
+ using input = (await page.$('input'))!;
+ await input.evaluate(e => {
+ (globalThis as any)._inputEvents = [];
+ e.addEventListener('change', ev => {
+ return (globalThis as any)._inputEvents.push(ev.type);
+ });
+ e.addEventListener('input', ev => {
+ return (globalThis as any)._inputEvents.push(ev.type);
+ });
+ });
+
+ const file = path.relative(process.cwd(), FILE_TO_UPLOAD);
+ await input.uploadFile(file);
+
expect(
- await page.evaluate((e: HTMLInputElement) => {
+ await input.evaluate(e => {
+ const file = e.files?.[0];
+ if (!file) {
+ throw new Error('No file found');
+ }
+
const reader = new FileReader();
const promise = new Promise(fulfill => {
- return (reader.onload = fulfill);
+ reader.addEventListener('load', fulfill);
});
- reader.readAsText(e.files![0]!);
+ reader.readAsText(file);
+
return promise.then(() => {
return reader.result;
});
- }, input)
+ })
).toBe('contents of the file');
});
});
diff --git a/remote/test/puppeteer/test/src/launcher.spec.ts b/remote/test/puppeteer/test/src/launcher.spec.ts
index f31b22b1e5..876f8d1624 100644
--- a/remote/test/puppeteer/test/src/launcher.spec.ts
+++ b/remote/test/puppeteer/test/src/launcher.spec.ts
@@ -16,7 +16,7 @@ import type {Page} from 'puppeteer-core/internal/api/Page.js';
import {rmSync} from 'puppeteer-core/internal/node/util/fs.js';
import sinon from 'sinon';
-import {getTestState, isHeadless, launch} from './mocha-utils.js';
+import {getTestState, launch} from './mocha-utils.js';
import {dumpFrames, waitEvent} from './utils.js';
const TMP_FOLDER = path.join(os.tmpdir(), 'pptr_tmp_folder-');
@@ -48,7 +48,10 @@ describe('Launcher specs', function () {
[
'Navigating frame was detached',
'Protocol error (Page.navigate): Target closed.',
- ].includes(error.message)
+ 'Protocol error (browsingContext.navigate): Target closed',
+ ].some(message => {
+ return error.message.startsWith(message);
+ })
).toBeTruthy();
} finally {
await close();
@@ -99,6 +102,7 @@ describe('Launcher specs', function () {
expect(message).atLeastOneToContain([
'Target closed',
'Page closed!',
+ 'Browser already closed',
]);
expect(message).not.toContain('Timeout');
}
@@ -363,9 +367,9 @@ describe('Launcher specs', function () {
if (isChrome) {
expect(puppeteer.defaultArgs()).toContain('--no-first-run');
- expect(puppeteer.defaultArgs()).toContain('--headless');
+ expect(puppeteer.defaultArgs()).toContain('--headless=new');
expect(puppeteer.defaultArgs({headless: false})).not.toContain(
- '--headless'
+ '--headless=new'
);
expect(puppeteer.defaultArgs({userDataDir: 'foo'})).toContain(
`--user-data-dir=${path.resolve('foo')}`
@@ -408,21 +412,18 @@ describe('Launcher specs', function () {
expect(puppeteer.product).toBe('firefox');
}
});
- (!isHeadless ? it : it.skip)(
- 'should work with no default arguments',
- async () => {
- const {context, close} = await launch({
- ignoreDefaultArgs: true,
- });
- try {
- const page = await context.newPage();
- expect(await page.evaluate('11 * 11')).toBe(121);
- await page.close();
- } finally {
- await close();
- }
+ it('should work with no default arguments', async () => {
+ const {context, close} = await launch({
+ ignoreDefaultArgs: true,
+ });
+ try {
+ const page = await context.newPage();
+ expect(await page.evaluate('11 * 11')).toBe(121);
+ await page.close();
+ } finally {
+ await close();
}
- );
+ });
it('should filter out ignored default arguments in Chrome', async () => {
const {defaultBrowserOptions, puppeteer} = await getTestState({
skipLaunch: true,
@@ -590,31 +591,6 @@ describe('Launcher specs', function () {
});
expect(error.message).toContain('either pipe or debugging port');
});
- (!isHeadless ? it : it.skip)(
- 'should launch Chrome properly with --no-startup-window and waitForInitialPage=false',
- async () => {
- const {defaultBrowserOptions} = await getTestState({
- skipLaunch: true,
- });
- const options = {
- waitForInitialPage: false,
- // This is needed to prevent Puppeteer from adding an initial blank page.
- // See also https://github.com/puppeteer/puppeteer/blob/ad6b736039436fcc5c0a262e5b575aa041427be3/src/node/Launcher.ts#L200
- ignoreDefaultArgs: true,
- ...defaultBrowserOptions,
- args: ['--no-startup-window'],
- };
- const {browser, close} = await launch(options, {
- createContext: false,
- });
- try {
- const pages = await browser.pages();
- expect(pages).toHaveLength(0);
- } finally {
- await close();
- }
- }
- );
});
describe('Puppeteer.launch', function () {
diff --git a/remote/test/puppeteer/test/src/mocha-utils.ts b/remote/test/puppeteer/test/src/mocha-utils.ts
index 3fff9c9930..333204d83b 100644
--- a/remote/test/puppeteer/test/src/mocha-utils.ts
+++ b/remote/test/puppeteer/test/src/mocha-utils.ts
@@ -8,13 +8,13 @@ import fs from 'fs';
import path from 'path';
import {TestServer} from '@pptr/testserver';
-import type {Protocol} from 'devtools-protocol';
import expect from 'expect';
import type * as MochaBase from 'mocha';
import puppeteer from 'puppeteer/lib/cjs/puppeteer/puppeteer.js';
import type {Browser} from 'puppeteer-core/internal/api/Browser.js';
import type {BrowserContext} from 'puppeteer-core/internal/api/BrowserContext.js';
import type {Page} from 'puppeteer-core/internal/api/Page.js';
+import type {Cookie} from 'puppeteer-core/internal/common/Cookie.js';
import type {
PuppeteerLaunchOptions,
PuppeteerNode,
@@ -68,8 +68,8 @@ const product =
const headless = (process.env['HEADLESS'] || 'true').trim().toLowerCase() as
| 'true'
| 'false'
- | 'new';
-export const isHeadless = headless === 'true' || headless === 'new';
+ | 'shell';
+export const isHeadless = headless === 'true' || headless === 'shell';
const isFirefox = product === 'firefox';
const isChrome = product === 'chrome';
const protocol = (process.env['PUPPETEER_PROTOCOL'] || 'cdp') as
@@ -93,7 +93,7 @@ const defaultBrowserOptions = Object.assign(
{
handleSIGINT: true,
executablePath: process.env['BINARY'],
- headless: headless === 'new' ? ('new' as const) : isHeadless,
+ headless: headless === 'shell' ? ('shell' as const) : isHeadless,
dumpio: !!process.env['DUMPIO'],
protocol,
},
@@ -115,7 +115,7 @@ if (defaultBrowserOptions.executablePath) {
const processVariables: {
product: string;
- headless: 'true' | 'false' | 'new';
+ headless: 'true' | 'false' | 'shell';
isHeadless: boolean;
isFirefox: boolean;
isChrome: boolean;
@@ -216,7 +216,7 @@ export const getTestState = async (
}
if (!skipContextCreation) {
- state.context = await state.browser!.createIncognitoBrowserContext();
+ state.context = await state.browser!.createBrowserContext();
state.page = await state.context.newPage();
}
return state as PuppeteerTestState;
@@ -245,7 +245,7 @@ export interface PuppeteerTestState {
isFirefox: boolean;
isChrome: boolean;
isHeadless: boolean;
- headless: 'true' | 'false' | 'new';
+ headless: 'true' | 'false' | 'shell';
puppeteerPath: string;
}
const state: Partial<PuppeteerTestState> = {};
@@ -263,7 +263,7 @@ if (
}
-> mode: ${
processVariables.isHeadless
- ? processVariables.headless === 'new'
+ ? processVariables.headless === 'true'
? '--headless=new'
: '--headless'
: 'headful'
@@ -372,23 +372,27 @@ expect.extend({
});
export const expectCookieEquals = async (
- cookies: Protocol.Network.Cookie[],
- expectedCookies: Array<Partial<Protocol.Network.Cookie>>
+ cookies: Cookie[],
+ expectedCookies: Array<Partial<Cookie>>
): Promise<void> => {
if (!processVariables.isChrome) {
// Only keep standard properties when testing on a browser other than Chrome.
expectedCookies = expectedCookies.map(cookie => {
- return {
- domain: cookie.domain,
- expires: cookie.expires,
- httpOnly: cookie.httpOnly,
- name: cookie.name,
- path: cookie.path,
- secure: cookie.secure,
- session: cookie.session,
- size: cookie.size,
- value: cookie.value,
- };
+ return Object.fromEntries(
+ Object.entries(cookie).filter(([key]) => {
+ return [
+ 'domain',
+ 'expires',
+ 'httpOnly',
+ 'name',
+ 'path',
+ 'secure',
+ 'session',
+ 'size',
+ 'value',
+ ].includes(key);
+ })
+ );
});
}
@@ -479,7 +483,7 @@ export const launch = async (
let context: BrowserContext;
let page: Page;
if (createContext) {
- context = await browser.createIncognitoBrowserContext();
+ context = await browser.createBrowserContext();
cleanupStorage.push(() => {
return context.close();
});
diff --git a/remote/test/puppeteer/test/src/navigation.spec.ts b/remote/test/puppeteer/test/src/navigation.spec.ts
index 1f3a51f58a..dd59c98349 100644
--- a/remote/test/puppeteer/test/src/navigation.spec.ts
+++ b/remote/test/puppeteer/test/src/navigation.spec.ts
@@ -154,10 +154,10 @@ describe('navigation', function () {
});
const EXPECTED_SSL_CERT_MESSAGE_REGEX =
- /net::ERR_CERT_INVALID|net::ERR_CERT_AUTHORITY_INVALID/;
+ /net::ERR_CERT_INVALID|net::ERR_CERT_AUTHORITY_INVALID|MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT|SSL_ERROR_UNKNOWN/;
it('should fail when navigating to bad SSL', async () => {
- const {page, httpsServer, isChrome} = await getTestState();
+ const {page, httpsServer} = await getTestState();
// Make sure that network events do not emit 'undefined'.
// @see https://crbug.com/750469
@@ -176,18 +176,14 @@ describe('navigation', function () {
await page.goto(httpsServer.EMPTY_PAGE).catch(error_ => {
return (error = error_);
});
- if (isChrome) {
- expect(error.message).toMatch(EXPECTED_SSL_CERT_MESSAGE_REGEX);
- } else {
- expect(error.message).toContain('SSL_ERROR_UNKNOWN');
- }
+ expect(error.message).toMatch(EXPECTED_SSL_CERT_MESSAGE_REGEX);
expect(requests).toHaveLength(2);
expect(requests[0]).toBe('request');
expect(requests[1]).toBe('requestfailed');
});
it('should fail when navigating to bad SSL after redirects', async () => {
- const {page, server, httpsServer, isChrome} = await getTestState();
+ const {page, server, httpsServer} = await getTestState();
server.setRedirect('/redirect/1.html', '/redirect/2.html');
server.setRedirect('/redirect/2.html', '/empty.html');
@@ -195,17 +191,10 @@ describe('navigation', function () {
await page.goto(httpsServer.PREFIX + '/redirect/1.html').catch(error_ => {
return (error = error_);
});
- if (isChrome) {
- expect(error.message).toMatch(EXPECTED_SSL_CERT_MESSAGE_REGEX);
- } else {
- expect(error.message).atLeastOneToContain([
- 'MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT', // Firefox WebDriver BiDi.
- 'SSL_ERROR_UNKNOWN ', // Others.
- ]);
- }
+ expect(error.message).toMatch(EXPECTED_SSL_CERT_MESSAGE_REGEX);
});
it('should fail when main resources failed to load', async () => {
- const {page, isChrome} = await getTestState();
+ const {page} = await getTestState();
let error!: Error;
await page
@@ -213,11 +202,9 @@ describe('navigation', function () {
.catch(error_ => {
return (error = error_);
});
- if (isChrome) {
- expect(error.message).toContain('net::ERR_CONNECTION_REFUSED');
- } else {
- expect(error.message).toContain('NS_ERROR_CONNECTION_REFUSED');
- }
+ expect(error.message).toMatch(
+ /net::ERR_CONNECTION_REFUSED|NS_ERROR_CONNECTION_REFUSED/
+ );
});
it('should fail when exceeding maximum navigation timeout', async () => {
const {page, server} = await getTestState();
diff --git a/remote/test/puppeteer/test/src/oopif.spec.ts b/remote/test/puppeteer/test/src/oopif.spec.ts
index c024b76aba..0213e14d5d 100644
--- a/remote/test/puppeteer/test/src/oopif.spec.ts
+++ b/remote/test/puppeteer/test/src/oopif.spec.ts
@@ -5,10 +5,9 @@
*/
import expect from 'expect';
-import type {BrowserContext} from 'puppeteer-core/internal/api/BrowserContext.js';
import type {CDPSession} from 'puppeteer-core/internal/api/CDPSession.js';
import {CDPSessionEvent} from 'puppeteer-core/internal/api/CDPSession.js';
-import type {CdpTarget} from 'puppeteer-core/internal/cdp/Target.js';
+import type {Page} from 'puppeteer-core/internal/api/Page.js';
import {getTestState, launch} from './mocha-utils.js';
import {attachFrame, detachFrame, navigateFrame} from './utils.js';
@@ -33,7 +32,7 @@ describe('OOPIF', function () {
});
beforeEach(async () => {
- state.context = await state.browser.createIncognitoBrowserContext();
+ state.context = await state.browser.createBrowserContext();
state.page = await state.context.newPage();
});
@@ -222,7 +221,7 @@ describe('OOPIF', function () {
it('should provide access to elements', async () => {
const {server, isHeadless, headless, page} = state;
- if (!isHeadless || headless === 'new') {
+ if (!isHeadless || headless === 'true') {
// TODO: this test is partially blocked on crbug.com/1334119. Enable test once
// the upstream is fixed.
// TLDR: when we dispatch events to the frame the compositor might
@@ -266,24 +265,24 @@ describe('OOPIF', function () {
await frame.waitForSelector('#clicked');
});
it('should report oopif frames', async () => {
- const {server, page, context} = state;
+ const {server, page} = state;
const frame = page.waitForFrame(frame => {
return frame.url().endsWith('/oopif.html');
});
await page.goto(server.PREFIX + '/dynamic-oopif.html');
await frame;
- expect(oopifs(context)).toHaveLength(1);
+ expect(await iframes(page)).toHaveLength(1);
expect(page.frames()).toHaveLength(2);
});
it('should wait for inner OOPIFs', async () => {
- const {server, page, context} = state;
+ const {server, page} = state;
await page.goto(`http://mainframe:${server.PORT}/main-frame.html`);
const frame2 = await page.waitForFrame(frame => {
return frame.url().endsWith('inner-frame2.html');
});
- expect(oopifs(context)).toHaveLength(2);
+ expect(await iframes(page)).toHaveLength(2);
expect(
page.frames().filter(frame => {
return frame.isOOPFrame();
@@ -297,7 +296,7 @@ describe('OOPIF', function () {
});
it('should load oopif iframes with subresources and request interception', async () => {
- const {server, page, context} = state;
+ const {server, page} = state;
const framePromise = page.waitForFrame(frame => {
return frame.url().endsWith('/oopif.html');
@@ -312,7 +311,7 @@ describe('OOPIF', function () {
await page.goto(server.PREFIX + '/dynamic-oopif.html');
const frame = await framePromise;
const request = await requestPromise;
- expect(oopifs(context)).toHaveLength(1);
+ expect(await iframes(page)).toHaveLength(1);
expect(request.frame()).toBe(frame);
});
@@ -394,14 +393,14 @@ describe('OOPIF', function () {
});
it('should detect existing OOPIFs when Puppeteer connects to an existing page', async () => {
- const {server, puppeteer, page, context} = state;
+ const {server, puppeteer, page} = state;
const frame = page.waitForFrame(frame => {
return frame.url().endsWith('/oopif.html');
});
await page.goto(server.PREFIX + '/dynamic-oopif.html');
await frame;
- expect(oopifs(context)).toHaveLength(1);
+ expect(await iframes(page)).toHaveLength(1);
expect(page.frames()).toHaveLength(2);
const browserURL = 'http://127.0.0.1:21222';
@@ -472,7 +471,7 @@ describe('OOPIF', function () {
const {server, page} = state;
// Setup our session listeners to observe OOPIF activity.
- const session = await page.target().createCDPSession();
+ const session = await page.createCDPSession();
const networkEvents: string[] = [];
const otherSessions: CDPSession[] = [];
await session.send('Target.setAutoAttach', {
@@ -520,8 +519,13 @@ describe('OOPIF', function () {
});
});
-function oopifs(context: BrowserContext) {
- return context.targets().filter(target => {
- return (target as CdpTarget)._getTargetInfo().type === 'iframe';
+async function iframes(page: Page) {
+ const iframes = await Promise.all(
+ page.frames().map(async frame => {
+ return await frame.frameElement();
+ })
+ );
+ return iframes.filter(frame => {
+ return frame !== null;
});
}
diff --git a/remote/test/puppeteer/test/src/page.spec.ts b/remote/test/puppeteer/test/src/page.spec.ts
index 79fc69ebbc..d83920d3ff 100644
--- a/remote/test/puppeteer/test/src/page.spec.ts
+++ b/remote/test/puppeteer/test/src/page.spec.ts
@@ -15,6 +15,7 @@ import type {HTTPRequest} from 'puppeteer-core/internal/api/HTTPRequest.js';
import type {Metrics, Page} from 'puppeteer-core/internal/api/Page.js';
import type {CdpPage} from 'puppeteer-core/internal/cdp/Page.js';
import type {ConsoleMessage} from 'puppeteer-core/internal/common/ConsoleMessage.js';
+import {Deferred} from 'puppeteer-core/internal/util/Deferred.js';
import sinon from 'sinon';
import {getTestState, setupTestBrowserHooks} from './mocha-utils.js';
@@ -42,9 +43,9 @@ describe('Page', function () {
expect(error.message).toContain('Protocol error');
});
it('should not be visible in browser.pages', async () => {
- const {browser} = await getTestState();
+ const {browser, context} = await getTestState();
- const newPage = await browser.newPage();
+ const newPage = await context.newPage();
expect(await browser.pages()).toContain(newPage);
await newPage.close();
expect(await browser.pages()).not.toContain(newPage);
@@ -102,7 +103,11 @@ describe('Page', function () {
]);
for (let i = 0; i < 2; i++) {
const message = results[i].message;
- expect(message).atLeastOneToContain(['Target closed', 'Page closed!']);
+ expect(message).atLeastOneToContain([
+ 'Target closed',
+ 'Page closed!',
+ 'Frame detached',
+ ]);
expect(message).not.toContain('Timeout');
}
});
@@ -445,7 +450,7 @@ describe('Page', function () {
messages.map(msg => {
return msg.type();
})
- ).toEqual(['trace', 'dir', 'warning', 'error', 'log']);
+ ).toEqual(['trace', 'dir', 'warn', 'error', 'log']);
expect(
messages.map(msg => {
return msg.text();
@@ -492,6 +497,21 @@ describe('Page', function () {
'JSHandle@window',
]);
});
+ it('should return remote objects', async () => {
+ const {page} = await getTestState();
+
+ const logPromise = waitEvent<ConsoleMessage>(page, 'console');
+ await page.evaluate(() => {
+ (globalThis as any).test = 1;
+ console.log(1, 2, 3, globalThis);
+ });
+ const log = await logPromise;
+ expect(log.text()).toBe('1 2 3 JSHandle@object');
+ expect(log.args()).toHaveLength(4);
+ expect(await (await log.args()[3]!.getProperty('test')).jsonValue()).toBe(
+ 1
+ );
+ });
it('should trigger correct Log', async () => {
const {page, server, isChrome} = await getTestState();
@@ -583,14 +603,10 @@ describe('Page', function () {
// 3. After that, remove the iframe.
frame.remove();
});
- const popupTarget = page
- .browserContext()
- .targets()
- .find(target => {
- return target !== page.target();
- })!;
- // 4. Connect to the popup and make sure it doesn't throw.
- await popupTarget.page();
+ // 4. The target will always be the last one.
+ const popupTarget = page.browserContext().targets().at(-1)!;
+ // 5. Connect to the popup and make sure it doesn't throw and is not the same page.
+ expect(await popupTarget.page()).not.toBe(page);
});
});
@@ -1015,15 +1031,15 @@ describe('Page', function () {
it('should be callable from-inside evaluateOnNewDocument', async () => {
const {page} = await getTestState();
- let called = false;
+ const called = new Deferred<void>();
await page.exposeFunction('woof', function () {
- called = true;
+ called.resolve();
});
await page.evaluateOnNewDocument(() => {
return (globalThis as any).woof();
});
await page.reload();
- expect(called).toBe(true);
+ await called.valueOrThrow();
});
it('should survive navigation', async () => {
const {page, server} = await getTestState();
@@ -1217,7 +1233,7 @@ describe('Page', function () {
page.goto(server.PREFIX + '/error.html'),
]);
expect(error.message).toContain('Fancy');
- expect(error.stack?.split('\n')[1]).toContain('error.html:13');
+ expect(error.stack?.split('\n').at(-1)).toContain('error.html:3:1');
});
});
@@ -1940,33 +1956,20 @@ describe('Page', function () {
}
});
- it('can print to PDF with accessible', async () => {
- const {page, server} = await getTestState();
-
- const outputFile = __dirname + '/../assets/output.pdf';
- const outputFileAccessible =
- __dirname + '/../assets/output-accessible.pdf';
- await page.goto(server.PREFIX + '/pdf.html');
- await page.pdf({path: outputFile});
- await page.pdf({path: outputFileAccessible, tagged: true});
- try {
- expect(
- fs.readFileSync(outputFileAccessible).byteLength
- ).toBeGreaterThan(fs.readFileSync(outputFile).byteLength);
- } finally {
- fs.unlinkSync(outputFileAccessible);
- fs.unlinkSync(outputFile);
- }
- });
-
it('can print to PDF and stream the result', async () => {
const {page} = await getTestState();
const stream = await page.createPDFStream();
let size = 0;
- for await (const chunk of stream) {
- size += chunk.length;
+ const reader = stream.getReader();
+ while (true) {
+ const {done, value} = await reader.read();
+ if (done) {
+ break;
+ }
+ size += value.length;
}
+
expect(size).toBeGreaterThan(0);
});
@@ -2252,9 +2255,9 @@ describe('Page', function () {
describe('Page.bringToFront', function () {
it('should work', async () => {
- const {browser} = await getTestState();
- const page1 = await browser.newPage();
- const page2 = await browser.newPage();
+ const {context} = await getTestState();
+ const page1 = await context.newPage();
+ const page2 = await context.newPage();
await page1.bringToFront();
expect(
diff --git a/remote/test/puppeteer/test/src/proxy.spec.ts b/remote/test/puppeteer/test/src/proxy.spec.ts
index 07b73cdd0d..1b79cd6665 100644
--- a/remote/test/puppeteer/test/src/proxy.spec.ts
+++ b/remote/test/puppeteer/test/src/proxy.spec.ts
@@ -150,7 +150,7 @@ describe('request proxy', () => {
args: [...defaultArgs, `--proxy-server=${proxyServerUrl}`],
});
try {
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
const page = await context.newPage();
const response = (await page.goto(emptyPageUrl))!;
@@ -174,7 +174,7 @@ describe('request proxy', () => {
],
});
try {
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
const page = await context.newPage();
const response = (await page.goto(emptyPageUrl))!;
@@ -197,7 +197,7 @@ describe('request proxy', () => {
args: defaultArgs,
});
try {
- const context = await browser.createIncognitoBrowserContext({
+ const context = await browser.createBrowserContext({
proxyServer: proxyServerUrl,
});
const page = await context.newPage();
@@ -219,7 +219,7 @@ describe('request proxy', () => {
args: defaultArgs,
});
try {
- const context = await browser.createIncognitoBrowserContext({
+ const context = await browser.createBrowserContext({
proxyServer: proxyServerUrl,
proxyBypassList: [new URL(emptyPageUrl).host],
});
diff --git a/remote/test/puppeteer/test/src/queryselector.spec.ts b/remote/test/puppeteer/test/src/queryselector.spec.ts
index 7fd27f914f..c8df118e5f 100644
--- a/remote/test/puppeteer/test/src/queryselector.spec.ts
+++ b/remote/test/puppeteer/test/src/queryselector.spec.ts
@@ -174,29 +174,29 @@ describe('querySelector', function () {
const elements = await page.$$('div');
expect(elements).toHaveLength(0);
});
- });
- describe('Page.$x', function () {
- it('should query existing element', async () => {
- const {page} = await getTestState();
+ describe('xpath', function () {
+ it('should query existing element', async () => {
+ const {page} = await getTestState();
- await page.setContent('<section>test</section>');
- const elements = await page.$x('/html/body/section');
- expect(elements[0]).toBeTruthy();
- expect(elements).toHaveLength(1);
- });
- it('should return empty array for non-existing element', async () => {
- const {page} = await getTestState();
+ await page.setContent('<section>test</section>');
+ const elements = await page.$$('xpath/html/body/section');
+ expect(elements[0]).toBeTruthy();
+ expect(elements).toHaveLength(1);
+ });
+ it('should return empty array for non-existing element', async () => {
+ const {page} = await getTestState();
- const element = await page.$x('/html/body/non-existing-element');
- expect(element).toEqual([]);
- });
- it('should return multiple elements', async () => {
- const {page} = await getTestState();
+ const element = await page.$$('xpath/html/body/non-existing-element');
+ expect(element).toEqual([]);
+ });
+ it('should return multiple elements', async () => {
+ const {page} = await getTestState();
- await page.setContent('<div></div><div></div>');
- const elements = await page.$x('/html/body/div');
- expect(elements).toHaveLength(2);
+ await page.setContent('<div></div><div></div>');
+ const elements = await page.$$('xpath/html/body/div');
+ expect(elements).toHaveLength(2);
+ });
});
});
@@ -347,37 +347,40 @@ describe('querySelector', function () {
const elements = await html.$$('div');
expect(elements).toHaveLength(0);
});
- });
- describe('ElementHandle.$x', function () {
- it('should query existing element', async () => {
- const {page, server} = await getTestState();
-
- await page.goto(server.PREFIX + '/playground.html');
- await page.setContent(
- '<html><body><div class="second"><div class="inner">A</div></div></body></html>'
- );
- using html = (await page.$('html'))!;
- const second = await html.$x(`./body/div[contains(@class, 'second')]`);
- const inner = await second[0]!.$x(`./div[contains(@class, 'inner')]`);
- const content = await page.evaluate(e => {
- return e.textContent;
- }, inner[0]!);
- expect(content).toBe('A');
- });
+ describe('xpath', function () {
+ it('should query existing element', async () => {
+ const {page, server} = await getTestState();
+
+ await page.goto(server.PREFIX + '/playground.html');
+ await page.setContent(
+ '<html><body><div class="second"><div class="inner">A</div></div></body></html>'
+ );
+ using html = (await page.$('html'))!;
+ const second = await html.$$(
+ `xpath/./body/div[contains(@class, 'second')]`
+ );
+ const inner = await second[0]!.$$(
+ `xpath/./div[contains(@class, 'inner')]`
+ );
+ const content = await page.evaluate(e => {
+ return e.textContent;
+ }, inner[0]!);
+ expect(content).toBe('A');
+ });
- it('should return null for non-existing element', async () => {
- const {page} = await getTestState();
+ it('should return null for non-existing element', async () => {
+ const {page} = await getTestState();
- await page.setContent(
- '<html><body><div class="second"><div class="inner">B</div></div></body></html>'
- );
- using html = (await page.$('html'))!;
- const second = await html.$x(`/div[contains(@class, 'third')]`);
- expect(second).toEqual([]);
+ await page.setContent(
+ '<html><body><div class="second"><div class="inner">B</div></div></body></html>'
+ );
+ using html = (await page.$('html'))!;
+ const second = await html.$$(`xpath/div[contains(@class, 'third')]`);
+ expect(second).toEqual([]);
+ });
});
});
-
// This is the same tests for `$$eval` and `$$` as above, but with a queryAll
// handler that returns an array instead of a list of nodes.
describe('QueryAll', function () {
diff --git a/remote/test/puppeteer/test/src/requestinterception.spec.ts b/remote/test/puppeteer/test/src/requestinterception.spec.ts
index 45827bb3cf..4b88d30a3b 100644
--- a/remote/test/puppeteer/test/src/requestinterception.spec.ts
+++ b/remote/test/puppeteer/test/src/requestinterception.spec.ts
@@ -118,7 +118,7 @@ describe('request interception', function () {
await page.goto(server.EMPTY_PAGE);
await page.setRequestInterception(true);
- const cdp = await page.target().createCDPSession();
+ const cdp = await page.createCDPSession();
await cdp.send('DOM.enable');
const urls: string[] = [];
page.on('request', request => {
diff --git a/remote/test/puppeteer/test/src/screenshot.spec.ts b/remote/test/puppeteer/test/src/screenshot.spec.ts
index ad53b60e95..9176d0c920 100644
--- a/remote/test/puppeteer/test/src/screenshot.spec.ts
+++ b/remote/test/puppeteer/test/src/screenshot.spec.ts
@@ -8,12 +8,7 @@ import assert from 'assert';
import expect from 'expect';
-import {
- getTestState,
- isHeadless,
- launch,
- setupTestBrowserHooks,
-} from './mocha-utils.js';
+import {getTestState, launch, setupTestBrowserHooks} from './mocha-utils.js';
describe('Screenshots', function () {
setupTestBrowserHooks();
@@ -366,7 +361,7 @@ describe('Screenshots', function () {
it('should run in parallel in multiple pages', async () => {
const {browser, server} = await getTestState();
- const context = await browser.createIncognitoBrowserContext();
+ const context = await browser.createBrowserContext();
const N = 2;
const pages = await Promise.all(
@@ -436,18 +431,15 @@ describe('Screenshots', function () {
});
expect(screenshot).toBeGolden('white.jpg');
});
- (!isHeadless ? it : it.skip)(
- 'should work in "fromSurface: false" mode',
- async () => {
- const {page, server} = await getTestState();
+ it('should work in "fromSurface: false" mode', async () => {
+ const {page, server} = await getTestState();
- await page.setViewport({width: 500, height: 500});
- await page.goto(server.PREFIX + '/grid.html');
- const screenshot = await page.screenshot({
- fromSurface: false,
- });
- expect(screenshot).toBeDefined(); // toBeGolden('screenshot-fromsurface-false.png');
- }
- );
+ await page.setViewport({width: 500, height: 500});
+ await page.goto(server.PREFIX + '/grid.html');
+ const screenshot = await page.screenshot({
+ fromSurface: false,
+ });
+ expect(screenshot).toBeDefined();
+ });
});
});
diff --git a/remote/test/puppeteer/test/src/target.spec.ts b/remote/test/puppeteer/test/src/target.spec.ts
index 28d17a4030..6c1b9cb95e 100644
--- a/remote/test/puppeteer/test/src/target.spec.ts
+++ b/remote/test/puppeteer/test/src/target.spec.ts
@@ -179,6 +179,29 @@ describe('Target', function () {
})
).toBe('[object ServiceWorkerGlobalScope]');
});
+
+ it('should close a service worker', async () => {
+ const {page, server, context} = await getTestState();
+
+ await page.goto(server.PREFIX + '/serviceworkers/empty/sw.html');
+
+ const target = await context.waitForTarget(
+ target => {
+ return target.type() === 'service_worker';
+ },
+ {timeout: 3000}
+ );
+ const worker = (await target.worker())!;
+
+ const onceDestroyed = new Promise(resolve => {
+ context.once('targetdestroyed', event => {
+ resolve(event);
+ });
+ });
+ await worker.close();
+ expect(await onceDestroyed).toBe(target);
+ });
+
it('should create a worker from a shared worker', async () => {
const {page, server, context} = await getTestState();
@@ -199,6 +222,31 @@ describe('Target', function () {
})
).toBe('[object SharedWorkerGlobalScope]');
});
+
+ it('should close a shared worker', async () => {
+ const {page, server, context} = await getTestState();
+
+ await page.goto(server.EMPTY_PAGE);
+ await page.evaluate(() => {
+ new SharedWorker('data:text/javascript,console.log("hi2")');
+ });
+ const target = await context.waitForTarget(
+ target => {
+ return target.type() === 'shared_worker';
+ },
+ {timeout: 3000}
+ );
+ const worker = (await target.worker())!;
+
+ const onceDestroyed = new Promise(resolve => {
+ context.once('targetdestroyed', event => {
+ resolve(event);
+ });
+ });
+ await worker.close();
+ expect(await onceDestroyed).toBe(target);
+ });
+
it('should report when a target url changes', async () => {
const {page, server, context} = await getTestState();
@@ -285,7 +333,7 @@ describe('Target', function () {
describe('Browser.waitForTarget', () => {
it('should wait for a target', async () => {
- const {browser, server} = await getTestState();
+ const {browser, server, context} = await getTestState();
let resolved = false;
const targetPromise = browser.waitForTarget(
@@ -306,7 +354,7 @@ describe('Target', function () {
throw error;
}
});
- const page = await browser.newPage();
+ const page = await context.newPage();
expect(resolved).toBe(false);
await page.goto(server.EMPTY_PAGE);
try {
diff --git a/remote/test/puppeteer/test/src/touchscreen.spec.ts b/remote/test/puppeteer/test/src/touchscreen.spec.ts
index 28a18ec449..94d8e6fecb 100644
--- a/remote/test/puppeteer/test/src/touchscreen.spec.ts
+++ b/remote/test/puppeteer/test/src/touchscreen.spec.ts
@@ -15,65 +15,235 @@ describe('Touchscreen', () => {
describe('Touchscreen.prototype.tap', () => {
it('should work', async () => {
- const {page, server, isHeadless} = await getTestState();
+ const {page, server} = await getTestState();
await page.goto(server.PREFIX + '/input/touchscreen.html');
await page.tap('button');
expect(
- (
- await page.evaluate(() => {
- return allEvents;
- })
- ).filter(({type}) => {
- return type !== 'pointermove' || isHeadless;
+ await page.evaluate(() => {
+ return allEvents;
})
).toMatchObject([
- {height: 1, type: 'pointerdown', width: 1, x: 5, y: 5},
- {touches: [[5, 5, 0.5, 0.5]], type: 'touchstart'},
- {height: 1, type: 'pointerup', width: 1, x: 5, y: 5},
- {touches: [[5, 5, 0.5, 0.5]], type: 'touchend'},
- {height: 1, type: 'click', width: 1, x: 5, y: 5},
+ {
+ type: 'pointerdown',
+ x: 5,
+ y: 5,
+ width: 1,
+ height: 1,
+ altitudeAngle: Math.PI / 2,
+ azimuthAngle: 0,
+ pressure: 0.5,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchstart',
+ changedTouches: [
+ {clientX: 5, clientY: 5, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [
+ {clientX: 5, clientY: 5, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ },
+ {
+ type: 'pointerup',
+ x: 5,
+ y: 5,
+ width: 1,
+ height: 1,
+ altitudeAngle: Math.PI / 2,
+ azimuthAngle: 0,
+ pressure: 0,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchend',
+ changedTouches: [
+ {clientX: 5, clientY: 5, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [],
+ },
+ {
+ type: 'click',
+ x: 5,
+ y: 5,
+ width: 1,
+ height: 1,
+ altitudeAngle: Math.PI / 2,
+ azimuthAngle: 0,
+ pressure: 0,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
]);
});
});
describe('Touchscreen.prototype.touchMove', () => {
it('should work', async () => {
- const {page, server, isHeadless} = await getTestState();
+ const {page, server} = await getTestState();
await page.goto(server.PREFIX + '/input/touchscreen.html');
+ // Note that touchmoves are sometimes not triggered if consecutive
+ // touchmoves are less than 15 pixels.
+ //
+ // See https://github.com/puppeteer/puppeteer/issues/10836
await page.touchscreen.touchStart(0, 0);
- await page.touchscreen.touchMove(10, 10);
- await page.touchscreen.touchMove(15.5, 15);
- await page.touchscreen.touchMove(20, 20.4);
- await page.touchscreen.touchMove(40, 30);
+ await page.touchscreen.touchMove(15, 15);
+ await page.touchscreen.touchMove(30.5, 30);
+ await page.touchscreen.touchMove(50, 45.4);
+ await page.touchscreen.touchMove(80, 50);
await page.touchscreen.touchEnd();
+
expect(
- (
- await page.evaluate(() => {
- return allEvents;
- })
- ).filter(({type}) => {
- return type !== 'pointermove' || isHeadless;
- })
- ).toMatchObject(
- [
- {type: 'pointerdown', x: 0, y: 0, width: 1, height: 1},
- {type: 'touchstart', touches: [[0, 0, 0.5, 0.5]]},
- {type: 'pointermove', x: 10, y: 10, width: 1, height: 1},
- {type: 'touchmove', touches: [[10, 10, 0.5, 0.5]]},
- {type: 'pointermove', x: 16, y: 15, width: 1, height: 1},
- {type: 'touchmove', touches: [[16, 15, 0.5, 0.5]]},
- {type: 'pointermove', x: 20, y: 20, width: 1, height: 1},
- {type: 'touchmove', touches: [[20, 20, 0.5, 0.5]]},
- {type: 'pointermove', x: 40, y: 30, width: 1, height: 1},
- {type: 'touchmove', touches: [[40, 30, 0.5, 0.5]]},
- {type: 'pointerup', x: 40, y: 30, width: 1, height: 1},
- {type: 'touchend', touches: [[40, 30, 0.5, 0.5]]},
- ].filter(({type}) => {
- return type !== 'pointermove' || isHeadless;
+ await page.evaluate(() => {
+ return allEvents;
})
- );
+ ).toMatchObject([
+ {
+ type: 'pointerdown',
+ x: 0,
+ y: 0,
+ width: 1,
+ height: 1,
+ altitudeAngle: 1.5707963267948966,
+ azimuthAngle: 0,
+ pressure: 0.5,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchstart',
+ changedTouches: [
+ {clientX: 0, clientY: 0, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [
+ {clientX: 0, clientY: 0, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ },
+ {
+ type: 'pointermove',
+ x: 15,
+ y: 15,
+ width: 1,
+ height: 1,
+ altitudeAngle: 1.5707963267948966,
+ azimuthAngle: 0,
+ pressure: 0.5,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchmove',
+ changedTouches: [
+ {clientX: 15, clientY: 15, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [
+ {clientX: 15, clientY: 15, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ },
+ {
+ type: 'pointermove',
+ x: 31,
+ y: 30,
+ width: 1,
+ height: 1,
+ altitudeAngle: 1.5707963267948966,
+ azimuthAngle: 0,
+ pressure: 0.5,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchmove',
+ changedTouches: [
+ {clientX: 31, clientY: 30, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [
+ {clientX: 31, clientY: 30, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ },
+ {
+ type: 'pointermove',
+ x: 50,
+ y: 45,
+ width: 1,
+ height: 1,
+ altitudeAngle: 1.5707963267948966,
+ azimuthAngle: 0,
+ pressure: 0.5,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchmove',
+ changedTouches: [
+ {clientX: 50, clientY: 45, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [
+ {clientX: 50, clientY: 45, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ },
+ {
+ type: 'pointermove',
+ x: 80,
+ y: 50,
+ width: 1,
+ height: 1,
+ altitudeAngle: 1.5707963267948966,
+ azimuthAngle: 0,
+ pressure: 0.5,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchmove',
+ changedTouches: [
+ {clientX: 80, clientY: 50, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [
+ {clientX: 80, clientY: 50, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ },
+ {
+ type: 'pointerup',
+ x: 80,
+ y: 50,
+ width: 1,
+ height: 1,
+ altitudeAngle: 1.5707963267948966,
+ azimuthAngle: 0,
+ pressure: 0,
+ pointerType: 'touch',
+ twist: 0,
+ tiltX: 0,
+ tiltY: 0,
+ },
+ {
+ type: 'touchend',
+ changedTouches: [
+ {clientX: 80, clientY: 50, radiusX: 0.5, radiusY: 0.5, force: 0.5},
+ ],
+ activeTouches: [],
+ },
+ ]);
});
});
});
diff --git a/remote/test/puppeteer/test/src/tracing.spec.ts b/remote/test/puppeteer/test/src/tracing.spec.ts
index 2c0a5aff19..7ee6d46192 100644
--- a/remote/test/puppeteer/test/src/tracing.spec.ts
+++ b/remote/test/puppeteer/test/src/tracing.spec.ts
@@ -8,6 +8,8 @@ import fs from 'fs';
import path from 'path';
import expect from 'expect';
+import * as utils from 'puppeteer-core/internal/common/util.js';
+import sinon from 'sinon';
import {launch} from './mocha-utils.js';
@@ -113,16 +115,26 @@ describe('Tracing', function () {
await page.tracing.start({screenshots: true});
await page.goto(server.PREFIX + '/grid.html');
- const oldBufferConcat = Buffer.concat;
- try {
- Buffer.concat = () => {
- throw new Error('error');
- };
- const trace = await page.tracing.stop();
- expect(trace).toEqual(undefined);
- } finally {
- Buffer.concat = oldBufferConcat;
- }
+ const oldGetReadableAsBuffer = utils.getReadableAsBuffer;
+ sinon.stub(utils, 'getReadableAsBuffer').callsFake(() => {
+ return oldGetReadableAsBuffer({
+ getReader() {
+ return {
+ done: false,
+ read() {
+ if (!this.done) {
+ this.done = true;
+ return {done: false, value: 42};
+ }
+ return {done: true};
+ },
+ };
+ },
+ } as unknown as ReadableStream);
+ });
+
+ const trace = await page.tracing.stop();
+ expect(trace).toEqual(undefined);
});
it('should support a buffer without a path', async () => {
diff --git a/remote/test/puppeteer/test/src/waittask.spec.ts b/remote/test/puppeteer/test/src/waittask.spec.ts
index 8ff52db16f..b9a28c9e7a 100644
--- a/remote/test/puppeteer/test/src/waittask.spec.ts
+++ b/remote/test/puppeteer/test/src/waittask.spec.ts
@@ -336,39 +336,6 @@ describe('waittask specs', function () {
});
});
- describe('Page.waitForTimeout', () => {
- it('waits for the given timeout before resolving', async () => {
- const {page, server} = await getTestState();
- await page.goto(server.EMPTY_PAGE);
- const startTime = Date.now();
- await page.waitForTimeout(1000);
- const endTime = Date.now();
- /* In a perfect world endTime - startTime would be exactly 1000 but we
- * expect some fluctuations and for it to be off by a little bit. So to
- * avoid a flaky test we'll make sure it waited for roughly 1 second.
- */
- expect(endTime - startTime).toBeGreaterThan(700);
- expect(endTime - startTime).toBeLessThan(1300);
- });
- });
-
- describe('Frame.waitForTimeout', () => {
- it('waits for the given timeout before resolving', async () => {
- const {page, server} = await getTestState();
- await page.goto(server.EMPTY_PAGE);
- const frame = page.mainFrame();
- const startTime = Date.now();
- await frame.waitForTimeout(1000);
- const endTime = Date.now();
- /* In a perfect world endTime - startTime would be exactly 1000 but we
- * expect some fluctuations and for it to be off by a little bit. So to
- * avoid a flaky test we'll make sure it waited for roughly 1 second
- */
- expect(endTime - startTime).toBeGreaterThan(700);
- expect(endTime - startTime).toBeLessThan(1300);
- });
- });
-
describe('Frame.waitForSelector', function () {
const addElement = (tag: string) => {
return document.body.appendChild(document.createElement(tag));
@@ -479,9 +446,10 @@ describe('waittask specs', function () {
await detachFrame(page, 'frame1');
await waitPromise;
expect(waitError).toBeTruthy();
- expect(waitError?.message).toContain(
- 'waitForFunction failed: frame got detached.'
- );
+ expect(waitError?.message).atLeastOneToContain([
+ 'waitForFunction failed: frame got detached.',
+ 'Browsing context already closed.',
+ ]);
});
it('should survive cross-process navigation', async () => {
const {page, server} = await getTestState();
@@ -726,142 +694,151 @@ describe('waittask specs', function () {
// The extension is ts here as Mocha maps back via sourcemaps.
expect(error?.stack).toContain('WaitTask.ts');
});
- });
- describe('Frame.waitForXPath', function () {
- const addElement = (tag: string) => {
- return document.body.appendChild(document.createElement(tag));
- };
-
- it('should support some fancy xpath', async () => {
- const {page} = await getTestState();
+ describe('xpath', function () {
+ const addElement = (tag: string) => {
+ return document.body.appendChild(document.createElement(tag));
+ };
- await page.setContent(`<p>red herring</p><p>hello world </p>`);
- const waitForXPath = page.waitForXPath(
- '//p[normalize-space(.)="hello world"]'
- );
- expect(
- await page.evaluate(
- x => {
- return x?.textContent;
- },
- await waitForXPath
- )
- ).toBe('hello world ');
- });
- it('should respect timeout', async () => {
- const {page} = await getTestState();
+ it('should support some fancy xpath', async () => {
+ const {page} = await getTestState();
- let error!: Error;
- await page.waitForXPath('//div', {timeout: 10}).catch(error_ => {
- return (error = error_);
+ await page.setContent(`<p>red herring</p><p>hello world </p>`);
+ const waitForSelector = page.waitForSelector(
+ 'xpath/.//p[normalize-space(.)="hello world"]'
+ );
+ expect(
+ await page.evaluate(
+ x => {
+ return x?.textContent;
+ },
+ await waitForSelector
+ )
+ ).toBe('hello world ');
});
- expect(error).toBeInstanceOf(TimeoutError);
- expect(error?.message).toContain('Waiting failed: 10ms exceeded');
- });
- it('should run in specified frame', async () => {
- const {page, server} = await getTestState();
+ it('should respect timeout', async () => {
+ const {page} = await getTestState();
- await attachFrame(page, 'frame1', server.EMPTY_PAGE);
- await attachFrame(page, 'frame2', server.EMPTY_PAGE);
- const frame1 = page.frames()[1]!;
- const frame2 = page.frames()[2]!;
- const waitForXPathPromise = frame2.waitForXPath('//div');
- await frame1.evaluate(addElement, 'div');
- await frame2.evaluate(addElement, 'div');
- using eHandle = await waitForXPathPromise;
- expect(eHandle?.frame).toBe(frame2);
- });
- it('should throw when frame is detached', async () => {
- const {page, server} = await getTestState();
-
- await attachFrame(page, 'frame1', server.EMPTY_PAGE);
- const frame = page.frames()[1]!;
- let waitError: Error | undefined;
- const waitPromise = frame
- .waitForXPath('//*[@class="box"]')
- .catch(error => {
- return (waitError = error);
- });
- await detachFrame(page, 'frame1');
- await waitPromise;
- expect(waitError).toBeTruthy();
- expect(waitError?.message).toContain(
- 'waitForFunction failed: frame got detached.'
- );
- });
- it('hidden should wait for display: none', async () => {
- const {page} = await getTestState();
-
- let divHidden = false;
- await page.setContent(`<div style='display: block;'>text</div>`);
- const waitForXPath = page
- .waitForXPath('//div', {hidden: true})
- .then(() => {
- return (divHidden = true);
+ let error!: Error;
+ await page
+ .waitForSelector('xpath/.//div', {timeout: 10})
+ .catch(error_ => {
+ return (error = error_);
+ });
+ expect(error).toBeInstanceOf(TimeoutError);
+ expect(error?.message).toContain('Waiting failed: 10ms exceeded');
+ });
+ it('should run in specified frame', async () => {
+ const {page, server} = await getTestState();
+
+ await attachFrame(page, 'frame1', server.EMPTY_PAGE);
+ await attachFrame(page, 'frame2', server.EMPTY_PAGE);
+ const frame1 = page.frames()[1]!;
+ const frame2 = page.frames()[2]!;
+ const waitForSelector = frame2.waitForSelector('xpath/.//div');
+ await frame1.evaluate(addElement, 'div');
+ await frame2.evaluate(addElement, 'div');
+ using eHandle = await waitForSelector;
+ expect(eHandle?.frame).toBe(frame2);
+ });
+ it('should throw when frame is detached', async () => {
+ const {page, server} = await getTestState();
+
+ await attachFrame(page, 'frame1', server.EMPTY_PAGE);
+ const frame = page.frames()[1]!;
+ let waitError: Error | undefined;
+ const waitPromise = frame
+ .waitForSelector('xpath/.//*[@class="box"]')
+ .catch(error => {
+ return (waitError = error);
+ });
+ await detachFrame(page, 'frame1');
+ await waitPromise;
+ expect(waitError).toBeTruthy();
+ expect(waitError?.message).atLeastOneToContain([
+ 'waitForFunction failed: frame got detached.',
+ 'Browsing context already closed.',
+ ]);
+ });
+ it('hidden should wait for display: none', async () => {
+ const {page} = await getTestState();
+
+ let divHidden = false;
+ await page.setContent(`<div style='display: block;'>text</div>`);
+ const waitForSelector = page
+ .waitForSelector('xpath/.//div', {hidden: true})
+ .then(() => {
+ return (divHidden = true);
+ });
+ await page.waitForSelector('xpath/.//div'); // do a round trip
+ expect(divHidden).toBe(false);
+ await page.evaluate(() => {
+ return document
+ .querySelector('div')
+ ?.style.setProperty('display', 'none');
});
- await page.waitForXPath('//div'); // do a round trip
- expect(divHidden).toBe(false);
- await page.evaluate(() => {
- return document
- .querySelector('div')
- ?.style.setProperty('display', 'none');
+ expect(await waitForSelector).toBe(true);
+ expect(divHidden).toBe(true);
});
- expect(await waitForXPath).toBe(true);
- expect(divHidden).toBe(true);
- });
- it('hidden should return null if the element is not found', async () => {
- const {page} = await getTestState();
+ it('hidden should return null if the element is not found', async () => {
+ const {page} = await getTestState();
- using waitForXPath = await page.waitForXPath('//div', {hidden: true});
+ using waitForSelector = await page.waitForSelector('xpath/.//div', {
+ hidden: true,
+ });
- expect(waitForXPath).toBe(null);
- });
- it('hidden should return an empty element handle if the element is found', async () => {
- const {page} = await getTestState();
+ expect(waitForSelector).toBe(null);
+ });
+ it('hidden should return an empty element handle if the element is found', async () => {
+ const {page} = await getTestState();
- await page.setContent(`<div style='display: none;'>text</div>`);
+ await page.setContent(`<div style='display: none;'>text</div>`);
- using waitForXPath = await page.waitForXPath('//div', {hidden: true});
+ using waitForSelector = await page.waitForSelector('xpath/.//div', {
+ hidden: true,
+ });
- expect(waitForXPath).toBeInstanceOf(ElementHandle);
- });
- it('should return the element handle', async () => {
- const {page} = await getTestState();
+ expect(waitForSelector).toBeInstanceOf(ElementHandle);
+ });
+ it('should return the element handle', async () => {
+ const {page} = await getTestState();
- const waitForXPath = page.waitForXPath('//*[@class="zombo"]');
- await page.setContent(`<div class='zombo'>anything</div>`);
- expect(
- await page.evaluate(
- x => {
- return x?.textContent;
- },
- await waitForXPath
- )
- ).toBe('anything');
- });
- it('should allow you to select a text node', async () => {
- const {page} = await getTestState();
+ const waitForSelector = page.waitForSelector(
+ 'xpath/.//*[@class="zombo"]'
+ );
+ await page.setContent(`<div class='zombo'>anything</div>`);
+ expect(
+ await page.evaluate(
+ x => {
+ return x?.textContent;
+ },
+ await waitForSelector
+ )
+ ).toBe('anything');
+ });
+ it('should allow you to select a text node', async () => {
+ const {page} = await getTestState();
- await page.setContent(`<div>some text</div>`);
- using text = await page.waitForXPath('//div/text()');
- expect(await (await text!.getProperty('nodeType')!).jsonValue()).toBe(
- 3 /* Node.TEXT_NODE */
- );
- });
- it('should allow you to select an element with single slash', async () => {
- const {page} = await getTestState();
+ await page.setContent(`<div>some text</div>`);
+ using text = await page.waitForSelector('xpath/.//div/text()');
+ expect(await (await text!.getProperty('nodeType')!).jsonValue()).toBe(
+ 3 /* Node.TEXT_NODE */
+ );
+ });
+ it('should allow you to select an element with single slash', async () => {
+ const {page} = await getTestState();
- await page.setContent(`<div>some text</div>`);
- const waitForXPath = page.waitForXPath('/html/body/div');
- expect(
- await page.evaluate(
- x => {
- return x?.textContent;
- },
- await waitForXPath
- )
- ).toBe('some text');
+ await page.setContent(`<div>some text</div>`);
+ const waitForSelector = page.waitForSelector('xpath/html/body/div');
+ expect(
+ await page.evaluate(
+ x => {
+ return x?.textContent;
+ },
+ await waitForSelector
+ )
+ ).toBe('some text');
+ });
});
});
});
diff --git a/remote/test/puppeteer/test/src/worker.spec.ts b/remote/test/puppeteer/test/src/worker.spec.ts
index 254ff4a514..b5b7159e6a 100644
--- a/remote/test/puppeteer/test/src/worker.spec.ts
+++ b/remote/test/puppeteer/test/src/worker.spec.ts
@@ -52,7 +52,10 @@ describe('Workers', function () {
const error = await workerThisObj.getProperty('self').catch(error => {
return error;
});
- expect(error.message).toContain('Most likely the worker has been closed.');
+ expect(error.message).atLeastOneToContain([
+ 'Most likely the worker has been closed.',
+ 'Realm already destroyed.',
+ ]);
});
it('should report console logs', async () => {
const {page} = await getTestState();
@@ -70,7 +73,7 @@ describe('Workers', function () {
columnNumber: 8,
});
});
- it('should have JSHandles for console logs', async () => {
+ it('should work with console logs', async () => {
const {page} = await getTestState();
const logPromise = waitEvent<ConsoleMessage>(page, 'console');
@@ -80,9 +83,6 @@ describe('Workers', function () {
const log = await logPromise;
expect(log.text()).toBe('1 2 3 JSHandle@object');
expect(log.args()).toHaveLength(4);
- expect(await (await log.args()[3]!.getProperty('origin')).jsonValue()).toBe(
- 'null'
- );
});
it('should have an execution context', async () => {
const {page} = await getTestState();
@@ -106,4 +106,17 @@ describe('Workers', function () {
const errorLog = await errorPromise;
expect(errorLog.message).toContain('this is my error');
});
+
+ it('can be closed', async () => {
+ const {page, server} = await getTestState();
+
+ await Promise.all([
+ waitEvent(page, 'workercreated'),
+ page.goto(server.PREFIX + '/worker/worker.html'),
+ ]);
+ const worker = page.workers()[0]!;
+ expect(worker?.url()).toContain('worker.js');
+
+ await Promise.all([waitEvent(page, 'workerdestroyed'), worker?.close()]);
+ });
});
diff --git a/remote/test/puppeteer/test/tsconfig.json b/remote/test/puppeteer/test/tsconfig.json
index 554d034ff1..fdcd35374d 100644
--- a/remote/test/puppeteer/test/tsconfig.json
+++ b/remote/test/puppeteer/test/tsconfig.json
@@ -4,7 +4,7 @@
"module": "NodeNext",
"moduleResolution": "NodeNext",
"outDir": "build",
- "rootDir": "src",
+ "rootDir": "src"
},
- "include": ["src"],
+ "include": ["src"]
}