v1.2.0
Highlights
- New debug mode: Use the
playwright
object in browser dev tools to inspect selectors. Learn about Playwright debugging tools. - Playwright Docker image: The official Playwright docker image is now available on Docker Hub:
docker pull mcr.microsoft.com/playwright:bionic
Browser Versions
- Chromium 85.0.4182.0
- Mozilla Firefox 78.0b5
- WebKit 14.0
New API methods
page.screenshot()
method now supports timeout
option
page.selectOption()
method now accepts null
as values
page.scrollIntoViewIfNeeded()
now accepts options to configure actionability checks
page.selectText()
now accepts options to configure actionability checks
New Environment variables
PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST
host to specify Chromium downloads
PLAYWRIGHT_FIREFOX_DOWNLOAD_HOST
host to specify Firefox downloads
PLAYWRIGHT_WEBKIT_DOWNLOAD_HOST
host to specify WebKit downloads
Troubleshooting
⚠️ WebKit now requires a new set of dependencies to launch on Ubuntu Bionic.
issues closed (54)
#810 - [Feature] Proxy options support?
#1050 - [BUG] Calling waitForNavigation twice doesn't work
#1067 - [BUG] Keyboard shortcuts on mac do not work
#1124 - [Question] How to update firefox default prefs
#1131 - [Feature] firefox: instrument file:// process in firefox
#1140 - [REGRESSION]: getting "Protocol error (Target.setDiscoverTargets): Target closed" after upgrading from v0.10 on CentOS7
#1235 - [BUG] Frames show up wrong on Firefox after navigating
#1245 - [BUG]: Failed to launch browser
#1289 - [BUG] Overriding Location Problem
#1292 - [BUG] Service Workers are flaky
#1330 - [Feature] Accessor for browser type from context
#1336 - Any way to have playwright use our own set of browsers by default?
#1349 - [Question] Modify Context Options with launchPersistent
#1421 - [BUG] Protocol error (DOM.describeNode): Cannot find context with specified id
#1426 - [Feature] Debugging devtools panels
#1482 - [Feature] official Docker image on Docker Hub
#1523 - [Feature] launchPersistentServer
Launches persistent storage browser server
#1552 - [BUG] firefox's node.scrollIntoView({behavior: 'instant'})
is not instant :(
#1639 - [Feature] support 'private mode' In Firefox
#1686 - [Feature] request.postData to return json string instead of urlsearchparams
#1730 - [Question]Playwright in Kerberos environment
#1848 - Playwright works locally but fails on CI
#1914 - Playwright: Roadmap
#1941 - [BUG] Doesn't work with mac10.13
#1959 - [BUG] dumpio no longer seems to be an option when launching
#1967 - [BUG] Possible issue with downloads
#1985 - [Question] Attaching playwright to an existing browser window?
#1997 - [Feature] Better output from failure with headless=false
#2061 - [BUG] Firefox doesnt open
#2131 - [Question] Socks5 Support
#2134 - [Feature] page.setDeviceScaleFactor
#2146 - [Question] Debugging Failed Browser Start-up in Docker Container
#2182 - [Test] Firefox 'ElementHandle.boundingBox' fails in HEADFUL on bots
#2196 - [BUG] context.setHTTPCredentials(null); does not clear credentials
#2200 - [BUG] Click operation doesn't timeout when there is an alert
#2244 - [BUG] Throwing unhandled rejection errors when Firefox navigates to neterr page
#2261 - [Feature] Auto close browser when launcher process exits
#2270 - [Feature] Add Playwright to DevDocs.io
#2292 - [BUG] Unable to switch frames when using chromium
#2316 - [BUG] Bypass CSP bit can be cached on Firefox
#2344 - [Feature] Chromium does not show file chooser dialog
#2354 - [Feature] Make browser binaries available for manual installations
#2379 - [BUG] Firefox cross-page promises are not resolved
#2429 - [BUG] run-workers not working with docker container
#2437 - [BUG] The official Docker image doesn't work with non root user
#2451 - [BUG] Firefox page.goto broken for sites with service worker
#2510 - [BUG] incorrect focus behavior for webcomponents with delegate focus option
#2527 - [BUG]Waitforselector fail to read the element in execution but works when debugging.
#2528 - [Question] - How can you obtain the current HTML content of the page you are on?
#2537 - [BUG] addInitScript and exposeFunction/Binding don't work for new OOPIFs
#2539 - [BUG] Firefox doesn't install when using a installler made with electron-builder.
#2540 - [BUG] playwright-core has no main entry
#2560 - [Question] Succint list of pro and cons versus Cypress
#2563 - [Question] How to access Print dialog?
commits (188)
15ddb5d - chore: update webkit version (#2804)
ef125e1 - chore: cut v1.2 (#2850)
ea9b82d - browser(webkit): properly disconnect signal handlers when closing browser (#2849)
fc18f2f - browser(firefox): support screencast frame size and scale configuration (#2847)
ac2185a - test: update http credentials tests (#2806)
06957e8 - feat(firefox): bump to 1122 (#2844)
6bbe7eb - chore(rpc): inline options parameter in all rpc channels (#2842)
8d111a8 - docs(readme): add locale to geo example (#2845)
241d39f - chore(rpc): exit server upon pipe disconnect (#2836)
2540805 - chore(rpc): misc serializer improvements (#2832)
7f60c4d - feat(webkit): roll webkit to r1301 (#2827)
3dd09f0 - browser(webkit): close context menu on Windows when closing page (#2825)
6aef045 - browser(firefox): create new window for each new page (#2823)
b1b6d3f - devops: add signature to BUILD_NUMBER to force rebaseline (#2810)
605257b - browser(firefox): Win build fix (#2822)
05b019f - reland: testrunner: make environment a simple class (#2812)
024cb1d - browser(firefox): basic screencast implementation for GTK (#2818)
6329cbb - chore: remove dead code from test (#2819)
3d403cb - browser(webkit): force wpe to use the complex text path (#2801)
756d537 - feat(webkit): roll WebKit to r1298 (#2813)
f484b20 - fix(recorder): allow node to close gracefully (#2817)
cb0c037 - test(chromium): enable selectall test on mac (#2788)
f9f3aeb - test: add failing test for context menus that prevent browser close (#2811)
5484217 - chore: make //utils/roll_browser.js executable
43cdb3b - browser(webkit): revert #2755 (#2809)
19abc9b - fix(dialogs): let click timeout, log information about dialogs (#2781)
0d16b16 - fix(firefox): unskip worker error test (#2805)
e12e245 - test: disable flaky test on chromium mac (#2807)
9d6eaad - fix(navigation): ensure that goBack/goForward work with file urls (#2792)
c15dc94 - chore(rpc): explicitly create page dispatcher (#2799)
d484e04 - test(route): add another route test (#2800)
14162f8 - browser(webkit): let web page close when it has open context menu (#2802)
c188118 - browser(webkit): do not show popup menu in mac headless (#2803)
e8e45e8 - feat(dom): migrate innerText, innerHTML and getAttribute to tasks (#2782)
ff1fe3a - fix(close): actually mark the page as closing (#2798)
5c4751d - chore: generate protocol during browser roll (#2719)
991e8d4 - browser(firefox): report errors from workers (#2797)
c25fc49 - chore(rpc): scope client-side handles (#2796)
c4e3ed8 - browser(firefox): handle the case when inner window is restored from history (#2791)
e467ea5 - revert: testrunner: make environment a simple class (#2769) (#2790)
bd8e0a7 - feat(webkit): roll webkit to r1295 (#2785)
e480ec3 - feat(chromium): roll to r782078 (#2714)
cd18047 - browser(webkit): don't show context menus for headless windows (#2755)
6afb38d - devops: remove folder creation in github actions (#2779)
95538e7 - chore(rpc): move classes around, fix tests, respect dispatcher scopes (#2784)
87516cb - chore(rpc): make dispatcher creation and lookup explicit (#2783)
10a9eef - chore(rpc): add a channel bot (#2773)
922cbe6 - chore: roll https-proxy-agent to v5 (#2777)
d6338b0 - docs(webkit): update core dump analisys instructions (#2778)
f00fc07 - chore: fix utils/check_availability.js
1605cb4 - testrunner: make environment a simple class (#2769)
c6df8fd - browser(webkit): abort interception if loader reached termial state (#2776)
55a07db - fix: follow-up with offline comments on implementation of deprecation (#2770)
e29f7b9 - chore(rpc): support workers, file chooser, browser server (#2766)
5bb018e - chore(rpc): attribute calles to page, ignore USES_HOOKS (#2764)
3a7d629 - chore(rpc): pass more network tests (#2762)
0963c19 - chore: deprecate method context.setHTTPCredentials()
(#2763)
38236b4 - fix(close): ensure close() can be called twice (#2744)
1fa9d30 - fix(evaluate): awaitPromise when Promise is overwritten (#2759)
e154e08 - docs(ci): fix gitlab setup
c807612 - docs: add new doc for multi-page scenarios (#2737)
69127ad - docs(docker): update to use official image (#2760)
28a9f55 - chore(devops): use official docker image on circleci (#2756)
18f9b4a - test: add failing test for navigation corner cases (#2746)
e920fde - chore(rpc): bootstrap demo for rpc (#2741)
4e94bda - chore(rpc): serialize rpc into actual wire string (#2740)
3e33523 - chore(rpc): clear the browsercontext test spec (#2739)
db12dde - chore(rpc): clear the page test spec (#2736)
aad6301 - docs(ci): update intro, caching section, add gitlab (#2735)
0cb5e95 - docs(frames): improve snippet to get frame (#2734)
6393407 - chore(rpc): support downloads, dialogs, persistent context (#2733)
b54303a - fix(textContent): make page.textContent(selector) atomic (#2717)
43f70ab - test: add more failing tests with react recycle (#2731)
02f7501 - chore(rpc): strongly-type the initializer, remove init phase (#2729)
18d6140 - chore(rpc): support routes and bindings (#2725)
064a0a1 - fix(webkit): do not swallow errors when returning by value (#2723)
71618a9 - chore(rpc): implement input, a11y, console (#2722)
ab6a6c9 - chore: run most actions through page._runAbortableTask (#2721)
bab6833 - chore: introduce the experimental rpc implementation (#2720)
5d5cf26 - fix(logs): streaming logs from InjectedScriptPoll without exception (#2712)
807dc1f - fix(crash): improve documentation for crash, reject waitForEvent (#2694)
bc30507 - chore: prepare library types for rpc (#2706)
1865c56 - testrunner: support globalSetup and globalTeardown hooks. (#2686)
f111974 - chore: prepare parsed selectors to more tasks (#2696)
39ce35e - fix(errors): strict error handling around element operations (#2567)
8fbd647 - fix(playwright-core): bring back index.js in playwright-core (#2691)
355305d - feat(screenshot): accept timeout, migrate to Progress, wait for visible (#2679)
924a884 - docs: linux core dump instructions (#2690)
4af8c68 - docs: improve snippets for console logs (#2684)
07dbd0b - testrunner: teach runHook to accept hook arguments (#2682)
22b4a6b - devops: enable coredumps for headful tests (#2678)
c61e2d6 - testrunner: drop nested test environments (#2681)
fca514d - chore: move non-trivial types out of types.ts (#2680)
d0a6e1a - fix(dom): make selectText and scrollIntoViewIfNeeded wait for visible (#2628)
a8eaee3 - docs: add Moon to showcase.md (#2677)
5a525db - feat(firefox): bump firefox to 1116 (#2668)
6cec2df - docs: add assertions doc (#2585)
6870678 - browser(firefox): do not fail when decoding large responses (#2671)
3d49af2 - browser(firefox): fix redirect interception (#2672)
bb34418 - devops: do cache busting for APT (#2656)
40b1a14 - browser(webkit): support screencast scale on Mac (#2655)
9000ccb - fix(click): don't timeout when innerWidth is modified (#2669)
9801135 - browser(webkit): screencast on windows with accelerated compositing (#2670)
7af2016 - chore(webkit): add libvpx Windows build instructions (#2649)
2fa32f7 - browser(firefox): rewrite network instrumentation (#2638)
eac7dab - fix(cors): allow intercepting cors requests on chromium (#2643)
2251f9b - feat(webkit): bump to 1290 (#2652)
e0ac11c - browser(webkit): fix loader after terminal state access (#2654)
2bfb675 - browser(webkit): make material icons render on Windows (#2650)
5043a36 - browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2541)
c8a963d - feat(webkit): bump to 1289 (#2639)
5c6c659 - fix(webkit): update Docker file to include gstreamer (#2636)
53f7f4e - test: add redirect+extraHTTPHeaders test (#2637)
d0336ea - fix(network): disallow intercepting redirects (#2617)
2511cb4 - devops: drop playwright-electron dependency on playwright-core (#2634)
636e274 - browser(webkit): revert WebCore agent and frame-based implementation (#2635)
20b23cd - docs: fixed various typos (#2633)
38089ab - browser(webkit): support screencast on Mac (#2631)
05863bf - feat(firefox): roll to r1112 (#2629)
f61e852 - docs: update docs for per-browser download hosts (#2630)
fb84e19 - feat(types): autocomplete for default devices (#2198)
b88faba - test: add another test for browserContext.addInitScript (#2285)
63924d9a - feat(install/download-hosts): allow multiple per browser (#2452)
971bd88 - fix(chromium): do not bring page to front before screenshot (#2614)
c544bff - browser(firefox): stop faking intercepting redirects (#2618)
02704e0 - Update upstream_status.md
f581e84 - fix(css selector): handle missing spaces between [] and > (#2612)
082bb3c - browser(firefox): rely on upstream permission separation per contexts (#2613)
090d450 - docs(core-concepts.md): fix typos (#2608)
cc84506 - feat(electron): add a test for clipboard access (#2606)
4834e56 - fix(firefox): bump firefox and fix network with service worker (#2610)
f9633ea - fix(scrollIntoView): ensure similar behavior across browsers, handle errors (#2599)
7ba72ce - browser(webkit): support screencast on Windows (#2590)
277d50e - feat(webkit): roll WebKit to 1286 - interception (#2601)
dab715b - browser(webkit): follow-up to the roll, fix the merge (#2600)
ab5f5c8 - browser(firefox): another way to report elements without layout object (#2597)
0369062 - browser(webkit): roll to Tot 6/16/2020 (#2596)
9bc7139 - browser(webkit): fix windows and mac unified builds after roll (#2595)
f2af30c - browser(firefox): properly instrument requests intercepted by service worker (#2594)
c220fc7f - chore(logs): rework logs for simplicity (#2592)
4b2efd6 - browser(webkit): reference GApplication to keep browser alive on GTK (#2593)
898f115 - browser(webkit): print context leaks when closing browser (#2591)
e6a4cff - browser(webkit): roll to 06/15 (#2581)
59d0f87 - test(recorder): add recorder sanity tests (#2582)
9e7ea3f - browser(firefox): Page.scrollIntoViewIfNeeded throws for invisible elements (#2584)
1bc04a0 - docs: using DEBUG=pw:api (#2578)
1c7a895 - chore(cli): add recording mode (#2579)
fd9b103 - docs: add actionability doc (#2577)
f2c47b1 - feat(cli): introduce basic playwright CLI tool (#2571)
456c865 - docs(playwright-electron/README.md): fix comment mistake (#2568)
61b1125 - chore(debug): various debug mode improvements (#2561)
2659910 - docs: make environment vars snippets cross-platform (#2564)
6530c18 - docs: improvements to ci provider configs (#2565)
9854438 - test: disable flaky cookie test on Chromium Win (#2562)
d4c4668 - chore: explicitly plumb various errors through the retries (#2554)
39019e8 - test: unflake interception test (#2558)
c4e8720 - feat(debug): generate preview for ElementHandle (#2549)
defeeb9 - test: await all promises in upload test (#2557)
1bf9e65 - fix(log): include log name in progress recording (#2550)
fb0b910 - Bump to 1280 (#2544)
49cb96c - devops: enable core dumps in the subshell (#2555)
bda6203 - browser(webkit): configure video scale (#2553)
894826d - chore: form the debug script for authoring hints / helpers (#2551)
4808822 - devops: enable core dumps on Linux CI (#2552)
7ddf664 - test: add a failing test with React rerender (#2545)
dadfe3e - browser(webkit): add more missing libraries to WPE build (#2546)
e287f19 - feat(debug): add basic recording helper infra (#2533)
5e97acd - fix(oopif): make Page.addInitScript and Page.exposeBinding work for oopifs (#2542)
0e62d72 - browser(webkit): add missing wayland library to WPE build (#2543)
969803f - feat(browser): roll Firefox to r1108 (#2532)
855ffa4 - browser(webkit): fix windows build (#2536)
17433d1 - chore: verify launch options (#2530)
de893c6 - browser(webkit): speculative downloads-related crash fix (#2535)
6f04843 - browser(webkit): preserve compositing mode in WPE web process (#2508)
89d1b52 - chore: revert atomic install (#2534)
c99f0d1 - feat(debug): more logs while waiting for stable, enabled, etc. (#2531)
903de25 - chore(websocket): extract common socket part (#2506)
1bb3365 - chore: remove ExtendedEventEmitter and inline waitForEvent (#2529)
8ee19d5 - feature(webkit): roll WebKit to 1273 (#2514)
d7f867d - browser(webkit): screencast for WPE (#2516)
e3f34f6 - fix(selectOption): allow passing null to unselect all (#2405)
24316ad - chore: fix emojis for CR and FF in Dockerfile (#2522)
3bff136 - chore: bump firefox build number
31da3d3 - browser(firefox): roll Firefox to TOT beta branch as of Jun 9, 2020 (#2520)
4d069dd - feat: avoid side effects after progress aborts (#2518)
4faa130 - test: dump all logs in DEBUGP mode (#2517)
6d8f39b - browser(webkit): return proper error upon missing page proxy (#2519)
80705ff - chore: simplify logging a bit (#2512)