Skip to content

playwright 1.11.0

Highlights

🎥 New video: Playwright: A New Test Automation Framework for the Modern Web (slides)

  • We talked about Playwright
  • Showed engineering work behind the scenes
  • Did live demos with new features ✨
  • Special thanks to applitools for hosting the event and inviting us!

Browser Versions

  • Chromium 92.0.4498.0
  • Mozilla Firefox 89.0b6
  • WebKit 14.2

This version of Playwright was also tested against the following stable channels:

  • Google Chrome 90
  • Microsoft Edge 90

New APIs

Issues Closed (45)

#2370 - [Feature] selector improvements proposals #2995 - [Question] Is it possible to customize both user-data-dir and websocket port #3933 - [Question] logger stderr full output #4610 - [Question] Is there a way to access the playwright object in dev tools in browsers launched within launch()? #4740 - [BUG] [Firefox] TypeError: browser.webProgress is undefined / assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed #4761 - Chromium: await context.newPage() hangs forever, addressed with --disable-gpu arg #5105 - Feature Option to install system dependencies #5523 - "page-screenshot.spec.ts - should work with a mobile viewport" is flaky on Chromium #5591 - [Docker] Follow up in docs #5614 - [BUG] Drop support for Node.js 10 (2021-04-30) #5687 - [BUG] page.goto: Navigation failed because page crashed! #5693 - [Feature] breakdown PWDEBUG flags #5762 - [BUG] iframe inside an iframe is not visible #5765 - [BUG] click visibility check fails for visible element #5779 - [Question]/[Feature Request] Taking a screenshot of the element without shadow #5796 - [BUG] The First Script cannot launch browsers #5815 - [BUG] inconsistency with OOPIF #5816 - [Feature] Inspector Recorder Raw Mouse/Screenshot tools #5833 - [REGRESSION]: support mac 10.14 on webkit #5839 - [BUG] Firefox is too slow with going to page and getting content #5840 - [Question] Docs for debugging: PWDEBUG=1, page.pause() and debugger; #5845 - [Internal] close browsers via closing pipes in processLauncher #5846 - [Internal] do not collect navigation signals while waiting for element state #5853 - [Feature] Redirect video stream to new path #5854 - [BUG] codegen inserts AltGraph key press #5858 - [BUG] <button> in shadow DOM not working with click() #5862 - [BUG] Error: ENOENT: no such file or directory, open '/var/task/node_modules/playwright-core/browsers.json' on Vercel with Next.js #5872 - [Feature] Running Playwright on non-patched Firefox and Webkit #5874 - Any plans for a Ruby Library? #5875 - [BUG] 'hidden' on web component still resolves a child in the shadow root as visible #5888 - [BUG] Click not working while using htmx #5890 - [BUG] #5893 - Missing Dependencies preventing playwright launch #5894 - [BUG] action works on Safari, but fails in WebKit #5895 - [Feature] Support sites hosted on cloudflare.com #5896 - [Feature] waitForURL #5897 - [Question] switch different firefox/chrome version #5901 - [BUG] browserType.launch: Host system is missing dependencies! Missing libraries are: libenchant.so.1 #5914 - [BUG] Console errors while using Playwright Inspector causes tests to fail #5915 - [BUG] : Codegen on loading a new page showing error - attaching Video #5916 - [BUG] : Chromium Issue while loading a page #5918 - [Feature] pass config values to chromium #5921 - [Feature] Ability to provide postData & method properties in page.goto. #5929 - [BUG] Control+Shift+ArrowLeft fails on contenteditables with FF + Linux #5936 - [Feature] page.$: add waitForSelector as optional parameter

Commits (285)

f427d438 - chore: mark v1.11.0 791443d7 - feat(webkit): roll to r1472 (#6425) 477b93b1 - feat(firefox-stable): bump to 1245 (#6424) 8737207d - feat(devices): add more Android device descriptions (#6413) 765d7498 - chore(ff): remove some dead code (#6423) 9e36f5cc - docs(consoleMessage): add missing console message comments (#6320) 90de8642 - docs(dotnet): introduce separate csharp viewport option (#6198) 42a55666 - fix(types): fix waitForSelector typing to not union null when appropriate (#6344) 8d66edf6 - browser(webkit): roll to safari-612.1.13-branch (#6422) 9b8dc4ae - browser(webkit): fix Ubuntu18, make vp9 build hermetic (#6421) 47cf9c3e - feat(chromium): bump to r878941 (#6216) ab850afb - fix: support relative downloadsPath directory for downloads (#6402) 55095279 - devops: do a full browser checkout by default on Dev machines (#6411) ee835fba - fix(webkit): fix screencast compilation on win (#6412) 77c10201 - devops: re-use firefox checkout for firefox-stable (#6410) 5c519610 - browser(firefox-stable): cherry pick recent changes from browser_patches/firefox (#6409) 14ebcfdf - docs: update fill/selectOption docs to mention label retargeting (#6406) fc9454eb - browser(webkit): implement screencast (#6404) 86df1df8 - test: update download test expectations (#6394) 5326f390 - browser(chromium): build 878941 that reverts shader changes (#6407) 1a582813 - browser(firefox): don't record video outside the viewport (#6361) 2945daca - devops: fixed broken GitHub Actions workflow (#6399) b8eb2b89 - feat(firefox-beta): roll Firefox to beta 89.0b6 (1250) (#6393) ce7a72b2 - test: disable certain screencast tests on Firefox. (#6396) 4e0e13cf - browser(firefox-beta): roll Firefox to beta 89.0b8 - May 2, 2021 (#6397) 4cd5673c - chore: add debugging information on bots to trace unzipping (#6395) 653d483b - docs: add firefox-stable channel documentation (#6328) fe94dc5c - docs: expose tracing API in java (#6387) 6219042c - fix(webkit): swallow requests from detached frames (#6242) fd425399 - devops: fix swiftshader on Chromium Windows (#6391) dddfbaae - chore(dotnet): run dotnet format after generation (#6376) 1a859ebe - chore(electron): fix node/browser race conditions, expose browser window asynchronously (#6381) 6da7e702 - chore: regenerate types after non-clean merge Follow-up to #6379 af92565b - Update class-page example code (#6379) 07fb81a4 - fix(launcher): improve error message for missing channel distribution (#6380) 018f3146 - fix(electron): deliver promised _nodeElectronHandle (#6348) de21a94b - test: roll to folio@0.4.0-alpha6 (#6366) 29164a62 - devops: use Node.js 12 on Windows bots (#6377) 6ce56dde - test(accessibility): remove and update tests for new chromium (#6372) 5e8d9d20 - feat(firefox): roll Firefox to r1248 @ v89.0b2 (#6281) a59a494e - chore: drop support for Node.js 10 (#6371) 7405655c - docs(cli): add install-deps command and reference to it (#6374) 934bc672 - test(tracing): start adding tracing tests (#6369) 9da718d6 - docs: change the position argument location in check functions (#6191) ba652c17 - docs: inline parsing should honor template location (#6289) bb845397 - chore(dotnet): don't generate setters on interfaces (#6293) d9015b99 - chore(dotnet): translate Javascript words to csharp (#6321) dec97361 - docs(page): add missing docs on emulateMedia (#6322) 6c04b822 - browser(firefox-beta): roll @ beta Apr 29, 2021 - v89.0b6 (#6368) 0abcaf02 - browser(webkit): roll to safari-612.1.12-branch (#6367) b0fae0f8 - browser(firefox): merge FrameData into Frame (#6365) 1c40c94e - chore: only throw the proxy on launch required on win/CR (#6350) 263a0fd2 - fix: evaluate in utility for screenshots (#6364) a4561310 - test: set 20 minutes timeout for installation tests (#6363) 11882cdd - test: roll to folio@0.4.0-alpha3 (#6262) 2333eb09 - chore: adjust GitHub template envinfo command (#6359) 434f474c - chore(evaluate): implement non-stalling evaluate (#6354) 06a92684 - Reapply #6363 w/ modification--amend 0becd942 - Revert "Revert "fix: break require cycle (#6353)"" 17e966bc - Revert "fix: break require cycle (#6353)" 0bcfa923 - fix: break require cycle (#6353) 560bea5f - fix: do not close stream until all bytes have been read (#6351) 3b1bfdff - devops(chromium): build a new Chromium 876873 (#6349) 369bd55e - feat(webkit): bump to 1468 (#6345) 1b771ed3 - docs(python): add Error base class (#6315) 0039b313 - browser(webkit): support downloads larger than 16Kb on Windows (#6343) 34135746 - feat(webkit): bump to 1467 (#6295) 922d9ce1 - chore(tracing): fix some of the start/stop scenarios (#6337) abb61456 - docs(keyboard): clarify how page.type works for non-US characters (#6273) 83480850 - browser(webkit): preserve color scheme override after navigation (#6333) 5be005b1 - Revert "fix: increas recent logs buffer (#6330)" (#6332) b6b2366d - fix: browser logging (#6331) 3c126024 - fix: increas recent logs buffer (#6330) a51dc50d - fix(accessibiltiy): ignore new roles that came with new chromium (#6329) f4b8c3a8 - browser(firefox): disable proton UI for now (#6327) 2f290cc9 - fix: fix docs for BrowserType headers (#6314) ce033103 - docs: add route example with some logic (#6324) be27f473 - feat(tracing): introduce context.tracing, allow exporting trace (#6313) a9219aa8 - chore: start / stop context tracing (#6309) 97cf86d2 - chore: make instrumentation per-context (#6302) 10c76ff5 - browser(firefox): fix race between idleTasksFinishedPromise and window closure (#6308) d31107f3 - fix(docs): make headers and option, not param (#6307) fd31ea8b - feat: support extra http headers in browserType.connect() (#6301) 83758fa4 - devops: add swiftshader DLL to chromium archive (#6305) f63f92be - chore: repair run_static_server.js (#6298) a1f9152f - chore(deps): bump ssri from 6.0.1 to 6.0.2 (#6299) cc4782a7 - Revert "fix(chromium): force --use-gl=swiftshader on Windows (#6272)" (#6300) 0ed328f6 - chore(tracing): include events in the trace (#6285) 6d38b106 - chore: abbreviate roll-browser to roll (#6296) ff147b00 - docs: update waitForRequest/Response snippets (#6294) 6e9b76fa - chore(dotnet): enable nullable enum arguments (#6271) 7a3f8ef7 - feat(firefox-stable): roll to r1244 @ v88.0 (#6280) cffab1f5 - chore: update //utils/roll_browser.js script to roll anything (#6279) 531bf4dc - browser(chromium): roll Chromium to new Dev (#6283) f9478b12 - browser(webkit): fix compilation for drag drop and duplicated macro (#6278) 2755d5e3 - browser(webkit): fix timezone override on Windows (#6277) 111e5599 - devops: roll Chromium to r871980 (#6275) 59d1d2df - devops: add swiftshader file to Chromium builds (#6274) 97b485bd - docs(python): add BrowserType.connectOverCDP (#6270) 357224d6 - fix(chromium): force --use-gl=swiftshader on Windows (#6272) 3a93c419 - chore: remove stack from WaitForEventInfo (#6259) fe4fba4a - chore: extract debugger model from inspector (#6261) 34e03fc7 - browser(webkit): roll to 04-21 (#6257) 7053ac90 - chore(types): add channel to launchServer (#6256) 6bdc67ac - feat(actions): trial option that only performs the checks (#6246) 640b10c7 - fix(codegen): missing await before newPage.goto (#6253) 85e2db24 - chore: push dispatcher guid into object, reuse it in trace (#6250) 06b06192 - fix(codegen): do not commit last action on mouse move (#6252) faf39a23 - devops: fix firefox-stable roll build (#6255) ad731c15 - feat(debug): PWDEBUG=console vs PWDEBUG=inspector (#6213) 4dd8a1c8 - browser(firefox-stable): roll to Firefox 88.0 (#6249) 09c35adb - browser(firefox): roll firefox-beta to Apr 20, 2021 - version 89.0b2 (#6247) 9cd89ae0 - fix: host dependency validation (#6227) f9af4c37 - chore(tracing): render error snapshot as Action (#6241) 23dfaf9e - feat: start downloading firefox-stable channel (#6177) 033bc9bf - chore(tracing): sync timeline and list highlight (#6235) 27e720f2 - feat(tracing): keyboard navigate lists (#6224) 8ca58e34 - fix(page): add name property to pageerror event (#5970) 7dccfd42 - chore(dotnet): generate IDownload.createReadStream method (#6192) 7ec57c0c - chore: read browsers.json with require (#6186) 6296d276 - devops(gha): remove obsolete comment (#6234) 27ed123a - feat: remove core dumps from bots (#6231) 329980be - feat: use --no-service-autorun in Chromium (#6232) 243ede5d - feat(waitForEvent): allow async predicate (#6201) fd1f3fa3 - docs(python): add BrowserType.connect (#6230) bd0614b0 - added Selenium Box (#6228) 2c34eaea - devops: better upload flakiness dashboard upload script (#6176) 90913160 - chore: render wait for on trace timeline (#6222) 17ead282 - fix(server): disconnect ws clients on server close (#6215) e4ae6503 - fix(inspector): fall back to custom executable path for UI (#6214) 8c1b994f - feat(webkit): bump to 1463 (#6210) ce969142 - fix(remote): unregister selectors after client disconnect (#6195) ce0098d9 - devops(chromium): build a new Chromium Dev 870763 (#6203) e81a3c59 - api: add option position to check/uncheck (#6153) 96cee438 - browser(webkit): roll to safari-612.1.11-branch (#6185) fff1f3d4 - chore: simplify remote connection protocol (#6164) c4c9809f - docs: move waitUntil doc before timeout (#6138) cd249042 - chore(dotnet): waitForCloseAsync (#6184) 610d1fd4 - docs: fix typo on waitForConsoleMessage (#6183) b3b87f6c - fix(codegen): ignore AltGraph when typing (#6086) b62a4360 - feat(selectors): support max distance in layout selectors (#6172) 82e8c722 - devops: fix firefox-stable build script (#6175) ad8b4346 - devops: trigger Firefox Stable builds (#6174) 17c6406e - devops: add firefox-stable channel browser (#6173) bba7ca34 - feat(chromium): roll to r869727 (#6170) 994939f8 - feat(webkit): bump to 1462 (#6169) f3b44d18 - fix(screencast): wait for ffmpeg to finish before reporting video (#6167) 957abc49 - devops(chromium): build a new Chromium Dev 869727 (#6149) 5fe3ee13 - browser(webkit): fix assertion unsafe to ref/deref from different threads (#6163) e26d98d6 - docs(csharp): add viewport back (#6161) ec07a581 - test: disable test on mac 10.14 (#6157) bd8433ba - test: cleanup various testing env variables (#6155) 856ced6e - tests: attribute electron tests to electron on the dashboard (#6156) f6606d50 - fix: finish all artifacts when browser exits (#6151) 16c8fe74 - docs: fix typo in language filter (#6154) e6f5ce90 - chore: allow running multiple snapshotters for tests (#6147) db09275d - docs: reject -> throw, fix small typos (#6152) 63d0d466 - feat(cdp): replace wsEndpoint with protocol neutral endpointURL (#6141) 53d50f9b - fix(screencast): properly stop screencast on context closure (#6146) f7e7ea93 - chore: skip click test based on the browser version (#6127) 476ff217 - feat(webkit): bump to 1461 (#6143) 779355ad - feat(types): make the template on BrowserType optional (#6142) 310692b1 - test: run page tests on electron bot (#6122) d9546fd0 - chore: read all traces from the folder (#6134) e82b5460 - docs(dotnet): generate arguments in a consistent order (#5800) 632ff111 - test: properly annotate Android tests for flakiness dashbboard (#6133) bd0043b8 - browser(webkit): keep browser process running when all windows closed (#6131) d0db4f67 - feat: include screencast in trace (#6128) 0c00891b - devops: prepare flakiness dashboard cloud function to Android tests (#6129) 09c17591 - feat(webkit): bump to 1460 (#6124) b37116d7 - chore(dotnet): fix generating from parent directory (#6095) ee44fbe2 - devops: upload test results for android bots (#6121) 6ff209cd - fea(firefox): roll Firefox to r1245 (#6114) 2897df69 - devops: restore flakiness dashboard upload (#6116) d6c41574 - browser(webkit): fix curl compilation (#6115) cdbf52f6 - docs: add basic intro page for C# (#6110) 83c7a3ba - docs: pass wsEndpoint as param in java (#6112) 4bec81b1 - browser(firefox): roll Firefox to beta @ Apr 6, 2021 (#6111) 4bd74679 - docs: add missing connectOverCDP.wsEndpoint param in java (#6109) 36a54699 - test: roll to folio 0.3.21-alpha (#6108) 0dfde2e9 - fix(screenshot): never throw page is navigating (#6103) f61ec3fd - docs(docker): update docker documentation to inlcude java (#6102) 9abed117 - docs: expose connectOverCDP in java (#6107) 112ac2f9 - feat(chromium): roll Chromium to r867878 (#6065) fb7c7031 - browser(webkit): roll to 06-04-21 (#6106) fd40c92a - chore(dotnet): generate generic EventHandlers (#6076) 33198c3d - chore(dotnet): format generateDotnetApi (#6075) e5b011ae - chore(dotnet): remove Get prefix (#6074) ee396421 - chore(dotnet): alias for dblclick in C# (#5899) da3ddb07 - devops: start uploading test reports from chrome stable runs (#6092) ba5ba52e - test: expose browserVersion in the tests (#6090) 481034bd - chore: trace viewer actions sidebar (#6083) 63e471ca - test: cleanup proxy and context tests (#6085) 1a44f681 - devops: migrate flakiness dashboard to the new folio reporter format (#6089) 6a767d1a - docs(docker): use focal by default (#5746) 5afe282f - test: move remaining files from old test/ directory (#6081) 8e6639b7 - test(keyboard): add test with contenteditable and selection (#5938) e3cf6756 - test: remove a copy of folio, use upstream (#6080) af48a8a1 - devops: use ubuntu focal on bots and docs (#5951) e9f0f6c8 - fix: mark disposed dispatchers as such (#6051) bd61f863 - test: print "Using executable at ..." for custom executable (#6077) 4f7e7450 - test: migrate last tests to new folio (#6071) f21f4788 - test: migrate more page tests to folio (#6062) ee1bcd76 - docs: fix the Electron example da1dafca - fix: start downloading firefox build for ubuntu 20.04 (#6064) 2c6c816a - devops: add firefox-ubuntu-20.04 as expected build (#6063) f5781f90 - test: migrate most non-page tests to new folio (#6059) 5a1974cc - devops(chromium): build a new Chromium Dev 867878 (#6061) 4da2d6e1 - feat(firefox): roll Firefox to r1244 (#6052) 06299227 - test: migrate page tests to new folio (#6054) 46949cd2 - devops: start doing separate builds for Firefox @ Ubuntu 20.04 (#6058) d0afa9d8 - test: migrate cli tests to new folio (#6048) 561cb23e - fix: dispatch popup event on the client end (#6044) 4f2827f3 - fix(dom): click on links inside shadow dom (#5850) 1444cc87 - test: migrate electron tests to new folio (#6043) 2357f0b5 - browser(firefox): fix bootstrap on bots with --no-interactive (#6047) a4eb4c0b - test: migrate remoteServer tests to new folio (#6042) a7630c91 - api: remove Chromium* classes (#6040) d862deea - fix(deps): added missing unicode and emoji dependencies (#6039) d662eba8 - browser(firefox): roll Firefox to beta @ Apr 1, 2021 (#6041) be79b388 - test: bring new folio and migrate small amount of tests to it (#5994) 66541552 - browser(firefox): make dpr emulation optional, take screenshots at 1x (#5555) 2290d8f8 - test: remove unnecessary folio.extend calls before test migration (#6030) 8f71f597 - fix(input): do not retarget from input/textarea/select to an ancestor button (#6036) d71c147a - browser(firefox): fix some missing mac edit commands (#6034) 37b07ada - docs: replace headful with headed (#6017) cb15603c - browser(firefox): do not report console messages twice. (#6031) 9b2e4ebf - browser(webkit): make dpr emulation optional, take screenshots at 1x (#5557) b81238ca - test: migrate fixtures.spec.ts to use beforeEach/afterEach (#6029) 16d98cb4 - chore(launcher): add more logging to processKill (#6025) f472c961 - feat: support webkit technology preview (#5885) 9d9599c6 - api(video): implement video.saveAs and video.delete (#6005) 9532d0bd - feat(webkit): bump to 1457 (#6021) 587682e0 - feat(chromium): bump to r865012 (#5963) 26f9e296 - docs(route): add note about unroute (#6019) 2f5bf04f - browser(webkit): fix double deref 3455c326 - browser(webkit): restore occlusion detection disabled ceb4bc25 - test: add a test for hidden shadow host (#6008) ba89603b - test: add test for new RTCPeerConnection() (#6013) 85ab1dc7 - feat(waitForURL): add a new waitForURL api (#6010) 98f1f715 - chore: ensure we emit Page event before resoliving pageOrError (#6012) 36d2d93e - fix(firefox): roll Firefox to 1239 (#6007) 72a2dff5 - Add Sauce Labs showcase (#5990) 93d532b5 - browser(webkit): fix windows compilation (#6011) 97955247 - browser(webkit): roll to safari-612.1.9-branch (#6002) 77993c3e - fix(installer): add libx11-xcb1 to the list of chromium deps (#6003) 94252231 - fix(devops): include libANGLE-shared.dylib into mac archive (#6004) 0d3d27d3 - browser(webkit): trigger new build after updating cleanup script (#5997) 28b14fc5 - feat(docker): use playwright install-deps for building docker image (#5995) 9473f39b - fix(devops): cleanup now removes entire webkit build dir on mac (#5996) 061f9ea6 - test: failing test for websockets + offline context (#4912) fdb3c1f1 - chore(dotnet): don't generate set only properties (#5982) 5c1e8dcd - chore(dotnet): fix properties with Is prefix (#5981) ca7cd7a6 - devops: skip flakiness upload for forks (#5978) 0b6625bb - docs: fix HEADFUL run instructions (#5980) 6d6f802e - fix: favicon with color pref crashes firefox (#5977) (#5979) f1c0d097 - feat(size): emulate window.screen size (#5967) 8c6822bd - fix(docker): update native deps and docker files for chromium (#5989) 2262d873 - Update nativeDeps.ts (#5988) 4cf0568a - browser(webkit): support safe area insets (#5987) bc6dc1d1 - chore(dotnet): treat file as a reserved word (#5960) 0943af28 - fix: kill browser if process doesnt exit for 30s after close (#5968) 779037a7 - chore(dotnet): avoid adding two prefixes (#5974) 49bbc2bc - test(proxy): add a failing test for HTTPS proxy CONNECT User Agent (#5972) 2cce8850 - browser(webkit): roll to safari-612.1.8-branch (#5965) dfe07818 - docs: fixed various typos (#5958) 475a6fe3 - chore(dotnet): use csharp types in Frame and Page (#5961) 12e00629 - docs: update channels doc to mention manual installation (#5964) 6c1d3f65 - browser(webkit): refresh embedder UI on macOS (#5957) 3ce02a95 - fix(selectors): properly generate selectors for tricky ids (#5940) 01208967 - test: interception breaks remote importScripts (#5953) 0076e46e - chore: remove stray test logs (#5955) 5872d040 - browser(chromium): build current dev chromium (865012) (#5950) f7914956 - chore(dotnet): Improve enum values (#5939) 601c09f7 - docs(page): remove note that screenshot takes 1/6+s (#5945) 4fea83c6 - docs: commit new release notes (#5944) 6b3f4cd1 - chore: calculate video size in a single place (#5942) 8e976073 - fix(viedo): do not stall video in popups (#5941) 24ee49b9 - chore(dotnet): improve goto name in csharp (#5917) 2cf4caa4 - chore: implement mixins in protocol.yml (#5932) 76781122 - tests: do not run video tests with Chrome Stable on Linux (#5931) cc265fe1 - docs(websocket): add web socket examples (#5927) 1b802332 - infra: remove shards from mac builds to remove 6 bots (#5928) 7d7e5ede - browser(webkit): roll back to safari-612.1.7-branch first commit (#5920) 2016fdbc - chore: cut v1.10.0 (#5925)