Skip to content

playwright 1.6.0

Highlights

Touch

  • Use page.tap() to automate native tap events. Like other input events, taps auto-wait for the UI element and actionability checks.

Network

  • WebSocket inspection: Use page.on('websocket') and the new WebSocket class to inspect WebSocket connections.
  • HAR export: Capture and export all the network activity as a HAR file. Pass recordHar while creating new browser contexts.
  • Resource timing: Use request.timing() to retrieve and analyze timing data for the network requests.
  • Proxy for browser context: Network proxy settings can now be configured per browser contexts with the proxy option on the new context.

Playwright CLI

  • CLI codegen can now generate C# code. Run npx playwright-cli codegen --target=csharp to try!

Browser Versions

  • Chromium 88.0.4316.0
  • Mozilla Firefox 83.0b8
  • WebKit 14.0

New APIs

Issues Closed (39)

#1655 - [Feature] Custom methods on Page #2515 - [Feature] networkidle for "idle after action" #2695 - [Feature] WebSockets supports #2946 - Not able to detect browser event: disconnected event when close browser is invoked #2974 - [BUG] Unable to adopt element handle from a different document #3122 - [QUESTION] Chromium versions are mismatched in docker, leading to launch failures #3206 - [Feature] Export network as HAR #3466 - [Feature] Fill input field based on label text #3476 - [BUG] Firefox focus won't work with more than 1 page #3499 - [BUG] Playwright does not see iframe element as visible #3534 - [Feature] Allow set proxy per context #3693 - [BUG] RPC/Firefox goBack does not return a response (guid) #3830 - [Feature] Text selector engine normalise whitespaces #4002 - [BUG] page.waitForSelector fails when called during a redirect #4021 - [BUG] beforeunload event in headless mode is failing #4038 - [REGRESSION]: Tall screenshots in chromium get corrupted at bottom #4134 - [BUG] elementHandle.scrollIntoViewIfNeeded doesn't work properly #4179 - [BUG] Unable to close page when confirm dialog is open #4208 - [BUG] Timout Error on firefox for popup #4232 - [BUG] Group videoPath and videoSize under recordVideo option #4233 - [BUG] download file not occurs #4255 - [Question]: Exposing common Playwright types #4256 - [Question] playwright-electron types might be missing from the release or is there any guide on how to get it to work? #4265 - [Feature] Multiple text selectors #4266 - [Question] Exported video quality #4268 - [Question] Does puppeteer have Redhat Dockerfile support? #4277 - [BUG] Firefox workers cause frame navigation #4279 - How to Compare two screenshots? Need code [Question] #4282 - [Question] is there a way to get element background colour ? #4284 - [BUG] page.addInitScript doesn't work for large scripts #4285 - Running WebKit on AWS EC2 Instance [Question] #4286 - [Question] CDP sessions with other targets #4293 - [BUG] Bundle dlls with Firefox for Windows #4302 - [Question] What is the best way to scroll page to the bottom? #4317 - [Question] drag and drop #4318 - [Question] Query by text with space #4319 - [Question] Have the browsers that are downloaded for playwright 1.3.0 changed somehow ? #4321 - [Feature] pass arguments like proxy to each context not to whole browser #4326 - [Test] Ubuntu: browsercontext-proxy.spec.ts:128:1 › should exclude patterns crashes webkit

Commits (164)

2158d6d0 - feat(scopes): make page a scope (#4385) 58b5872e - feat(webkit): bump to 1383 (#4394) 508be0d7 - browser(webkit): fix big sur crashes after latest roll (#4391) c2db8373 - feat(webkit): roll to r1381 (#4388) 775be21d - fix(launchdoctor): fix launch doctor (#4387) 488b256c - feat(firefox): bump to 1205 (#4386) bd75fb1c - browser(webkit): roll to 11-09 (#4384) ae738c1f - browser(firefox): ignore WebProgress events coming from workers (#4380) f7eb845d - feat(firefox): bump to 1204, add a better test for video in popup (#4376) 28f6547d - chore: add adb-based connectivity (#4375) 06c8881d - browser(firefox): fix videoSessionId (#4374) 3db8b23b - fix(chromium): lifecycle events race (#4369) c83ac444 - api(websocket): do not send websocket frames without a listener (#4361) d74988e9 - feat(webkit): bump to 1380 (#4368) d4fb1591 - browser(webkit): fix webcontent startup crash on macos 11 (#4370) fff36a79 - feat(firefox): roll Firefox to r1203 (#4365) c522a0df - browser(firefox): force always active docshell (#4363) 49e4d9a3 - browser(webkit): force rebuild with new redistributable dlls (#4364) 354482db - feat(firefox): bump to 1202 (#4362) 040f9b04 - browser(webkit): copy MS VC++ redistributable libs from VS installation (#4360) 5faf6f9e - feat(firefox): switch to use pipe instead of websocket (#3279) aafcf932 - browser(firefox): bundle VS C++ redistributable dlls (#4359) bc20bfd4 - browser(webkit): disable cache compiled sandbox (#4357) c3843130 - feat(fill): allow filling based on the label selector (#4342) 5d39eae5 - devops: actually export secrets into webkit building workflow (#4354) db8332b8 - devops: checkout, build, and upload webkit-mac-11 (#4353) b94a7c0e - devops: speedup initial browser checkout (#4352) bba8c98c - devops: try building webkit on gha (#4351) 4d8ef423 - devops: add instructions to build mac on BigSur (#4350) 3f37d850 - test(focus): add passing test for focusing more than one page (#4347) e9421389 - fix: do not report errored pages after context closure (#4346) 4cb52144 - test(capabilities): add tests for webgl (#4343) 283bc2c7 - devops: ensure that embedder directory does not exist (#4340) 65009dc8 - feat(chromium): roll Chromium to r823944 (#4341) 14a82928 - feat(webkit): bump to 1378 (#4338) 12afb79e - test: unflake har tests (#4335) 5dc632b8 - chore: mirror Chromium 823944 to our cdn (#4339) 78b15113 - test: try to unflake screenshot tests (#4334) 5c1149f9 - test: try to unflake network idle tests (#4333) 890add98 - browser(webkit): do not hang on close when there is a dialog (#4332) bc976507 - feat(firefox): roll Firefox to r1201 (#4331) 031f0bf5 - browser(webkit): fix mac build failure caused by touch events (#4330) c6b4263e - browser(webkit): fix timezone overrides after last roll (#4329) 799604c0 - browser(firefox): roll Firefox to beta @ Nov, 3 (#4327) eae3d93a - browser(webkit): fix proxy ignore pattern set on context level (#4328) 0a9fdc47 - browser(webkit): roll to 11-03 (#4325) d57b4396 - fix(har): support har in persistent context (#4322) 924cc989 - feat(text selector): normalize spaces in lax mode (#4312) 8fed0b33 - feat(firefox): roll Firefox to r1200 (#4316) 1c39689d - api(videos): introduce a single recordVideo option bag (#4309) 46e124a9 - fix(api.json): use separate maps for methods and events (#4310) 51f8f23c - devops(flakiness): collect more commit information (#4315) e3b12b0a - browser(firefox): fix closing browser contexts with beforeunload (#4314) 3d3ce135 - test: co-locate beforeunload tests (#4313) 2b495c97 - browser(firefox): fix SimpleChannel to await initialization (#4311) f80f8154 - feat(chromium): bump to 823078 (#4308) ac8ab1e1 - feat(websocket): add WebSocket.waitForEvent and isClosed (#4301) c446bf62 - chore: cleanup some har code (#4306) d117d0bb - feat(scopes): make page a scope (#4300) 12552890 - browser(chromium): roll to 823078 (#4307) 9c80cbdf - fix(docs): small docs changes for new apis (#4305) 94cb7c9f - feat(webkit): bump to 1373 (#4299) 7ef1533c - browser(webkit): one more mac build fix after last roll (#4298) 3577e637 - browser(webkit): mac build fix after last roll (#4296) 5a9ba55e - test: remove stale describe c9fa8c08 - fix(test): unflake web socket test on firefox 5e50fe3d - browser(webkit): roll to 10-30 (#4294) 7fbbd182 - feat(firefox): support WebSockets on Firefox (#4289) 333916a8 - infra: bump to next version on trunk at a branch point (#4288) 18c3efe7 - browser(firefox): instrument websockets (#4287) 914f6372 - feat(proxy): enable per-context http proxy (#4280) ff7d6a23 - feat(firefox): roll Firefox to r1197 (#4278) aee9068d - test: mark flake headful chromium test as fixme (#4276) f384a864 - test(har): uncomment some raw header tests (#4273) efdb1547 - test: roll folio to 0.3.16 (#4275) c5d3490b - browser(firefox): roll firefox to beta Oct, 28 (#4274) 7bedbb2d - feat(browser): roll WebKit to r1370 (#4257) ece84ecc - fix(protocol): annotate file buffer as binary (#4272) 05278b86 - chore: remove committed types.d.ts - we are still generating it at build time (#4271) 41d514df - browser(webkit): disable gamepad on GTK (#4264) 6cafdc5a - infra: fix the headful bit on the bots (#4261) 05fd5727 - docs(api): remove * from permissions (#4260) 0b8c33ee - fix(ECONRESET): fix it once and for all (#4258) dcbdb4a6 - test: fixed executable path test if ran in Docker (#4219) 1ef090c3 - fix(screenshot): prioritize passed type over the extension mime (#4251) e62f27ac - chore: eliminate dead code (#4253) aa219c65 - chore: roll folio to v0.3.15 (#4252) be842847 - feat(websocket): implement Web Sockets for Chromium & WebKit (#4234) 00d6313f - browser(webkit): report raw request headers from didReceiveResponse (#4250) b08d3dc9 - devops: always ensure linux deps when building webkit (#4249) 39637a4a - browser(webkit): build fix (#4247) 163cf1be - devops: collect test reports for all bots (#4246) 1feb0410 - browser(webkit): fix mac build after last roll (#4245) c1a64eee - browser(webkit): serialize set-cookie \n-separated (#4243) 86e1e3f3 - devops: collect host os name and version (#4244) 7fc4b797 - feat(har): allow saving har for context (#4214) d5fbe3a6 - devops: start uploading test reports to flakiness dashboard (#4239) 4b2a29e2 - browser(webkit): roll to 10-26 (#4241) ccf68ec2 - chore: roll folio to 0.3.14 (#4240) f5fbea94 - feat(debug): allow using timeout for rafs for throttling debugging 0337928a - fix(env): respect =true/false as env values for boolean flags (#4228) ba794935 - chore: roll folio to 0.3.13 (#4215) 14f069ea - test(timing): relax mac/webkit expectations (#4217) b3b46db5 - test(firefox): add a failing slow test (#4216) ea910a4c - fix: update getFromEnv logic to validate that value is undefined (instead of falsey) before redefining it (#4226) c97af3ee - fix(listeners): avoid "too many listeners" problem safely (#4223) 50a6ba7f - feat: bump webkit version to include screencast fixes (#4200) c4fbc643 - Revert "fix(listeners): avoid "too many listeners" problem (#3931)" (#4222) 8f3c0d54 - fix(docker): add pwuser to Docker focal image (#4201) 72320275 - fix(headers): report raw request headers on Chromium (#4207) 8a42cdad - feat(timing): introduce resource timing (#4204) bed304b1 - doc: update playwright-sharp link (#4202) 437fe178 - browser(firefox): expose resource timing info (#4205) 7d28dfdb - feat(firefox): roll Firefox to r1194 (#4183) 06cafff3 - feat(winldd): upload r1003 build (#4199) 45bb984c - test: skip 'should play video' on macOS Big Sur (#4198) 920ea85b - fix(winldd): make linker set checksum to make antiviruses happy (#4197) 092c9905 - browser(firefox): fix screencast timescale precision (#4196) 54e05ac8 - browser(webkit): fix screencast timescale precision (#4195) 3cceb14e - test(beforeunload): add failing beforeunload test (#4188) 7433ae27 - test: follow up to an encoding test (#4187) 7f76d44f - test: add a test for page.close w/ dialogs (#4184) 5e7eb7a3 - test(encoding): add a test for main resource raw body (#4186) efac7436 - test(proxy): add a test for a second page against same proxy (#4185) 9c160f2c - feat(webkit): bump to 1363 (#4178) 5d997ed2 - fix(video): make video path available in persistent profiles (#4182) bf491f12 - browser(webkit): fix pointer media query on windows (#4176) 92dda698 - feat: tap (#4097) ebf207b7 - chore: add support for macOS Big Sur (11.0) (#4149) 92cde6cd - browser(webkit): roll to 10-19 (#4177) 86ef956b - feat(webkit): bump to 1357 (#4154) 347dd240 - browser(webkit): fix pointer media query on mac (#4155) 4f7d65fe - browser(firefox): report pageerrors without stack properties (#4166) ef3d3ca5 - doc(overrides): remove "one of" that was misleading (#4168) 7103887b - add type for selector engine (#4174) bbdba42d - chore(screencast): respect i/o backpressure when writing into ffmpeg (#4164) 26442c56 - browser(webkit): fix the datastore leak (#4163) 305d209e - browser(firefox): always send focus events (#4150) 97cb51f3 - browser(webkit): fix windows compilation after last roll (#4162) 6fb6929e - browser(webkit): roll to 10-15 (#4161) fec37adf - test: use custom header when testing header removal (#4157) 8f8bebb6 - browser(firefox): roll Firefox to tip-of-tree Oct, 12 (#4158) 7e6f2af6 - test: disable failing test "should be able to remove headers" (#4152) a61d07a8 - browser(webkit): report correct pointer type to css (#3936) 180aa011 - test: make "remove header" test actually test be havior (#4092) 3c32c168 - browser(firefox): use 16-byte long uid instead of ordinal as screencast id (#4147) e9f5477d - fix(screencast): await for the first video frame on Chromium (#4145) 46a49d08 - fix(screencast): bump chromium video quality (#4146) bb981fc0 - fix(screencast): correctly process videos with 1 frame (#4144) 25cb649e - docs: fix Video.path() type (#4141) a169cb63 - browser(webkit): fix mac compilation errors (#4139) c7b23599 - feat(firefox): roll to r1190 (#4133) 8c6a2e19 - browser(webkit): Input.dispatchTapEvent (#4102) 381f49a0 - chore: roll folio to 0.3.11 (#4130) 5a768566 - api(video): restore the missing video path accessor (#4132) 9daedaca - chore: roll test fixtures, replace trace w/ video (#4129) a4474f67 - browser(firefox): Page.dispatchTapEvent (#4101) 5804131c - chore: bump folio to 0.3.9, use fixture timeout (#4118) 71c444c5 - browser(webkit): revert changes to WebAutomationSession.h (#4128) d6240a34 - docs(showcase): remove codex from users 331bb818 - docs: add note about videos saving on context closure (#4126) fdff5a15 - feat(webkit): bump to 1353 (#4119) 58285f61 - browser(firefox): await browser initialization when closing browser (#4121) 8ad34047 - fix(test): update path for screenshots on failure (#4120)