Playwright v1.3.0 Release Notes
Release Date: 2020-08-06 // over 3 years ago-
Highlights
- π Python support : Official Playwright for Python is ready for preview!
- Use the Pytest plugin to write your end-to-end tests in Python.
- Validate system dependencies : Playwright now automatically checks for browser dependencies on Linux and Windows systems.
- Ubuntu 20.04 : Playwright now provides browser builds for Ubuntu 20.04.
π» Browser Versions
- Chromium 86.0.4217.0
- Mozilla Firefox 78.0b5
- WebKit 14.0
π New APIs
- π»
browser.version()
- π
page.bringToFront()
- π
download.saveAs()
- π
request.postDataBuffer()
- π new
chromiumSandbox
option inbrowserType.launch()
,browserType.launchPersistentContext()
andbrowserType.launchServer()
Thank You
- β Special thanks to Max Schmitt for the massive contribution to playwright-python, for leading the playwright-pytest effort and other contributions on playwright.
- β
Thanks to Ross Wollman for his contributions on the new
download.saveAs()
API and tests across playwright-python and playwright. - π A big thank you to all contributors who helped us with this release: DarΓo Kondratiuk, Paul, Yevhen, Anish Karandikar, Tapajyoti Bose, Carlos Alberto Lopez Perez, Lars den Bakker, and Tierney Cyren. Issues Closed (31)
#657 - Cannot choose page to be visible in headful mode
π #2269 - [Feature] Support ES module syntax
#2298 - [Bug] Firefox fails with STATUS_DLL_NOT_FOUND on some Win 10 setups
#2358 - [BUG] route.fulfill failed with TimeoutError if the response headers contains newline
π³ #2386 - [Question] Run playwright from docker container running express server - sandbox issues
π§ #2449 - [BUG] Linux Playwright Webkit engine doesn't allow video.play()
#2523 - [Question] download file deleted while copying
π #2547 - [BUG] unable to launch firefox on virtual box windows
π #2548 - [BUG] unable to launch webkit on virtual box windows
#2588 - [BUG] corrupted post data on application/x-protobuffer (probably other non-string postData formats)
π» #2604 - [Feature] Browser.version()
#2621 - [BUG] Webkit problem with libwebp-1.1.0-1, error while loading shared libraries: libwebp.so.6
#2622 - [BUG] page.waitForResponse is not working for Firefox
π³ #2624 - [Question] When running two or more browser instance for running test cases, all the test cases fails with in Docker
#2626 - [BUG] Webkit font rendering (spacing / icon fonts)
β #2645 - [BUG]Once test execution is completed, error in closing chromium browser
#2663 - [BUG] Getting Error: Protocol error (Target.setAutoAttach): Target closed.
#2702 - [BUG] Webkit clears on page.type β Chromium/Firefox don't
β #2730 - [BUG] - TypeError: Cannot read property 'push' of undefined - When restarting tests
#2745 - [Feature] Launch doctor
β #2787 - How to test mobile devices in Firefox?
π» #2864 - WebGL Renderer on WebKit Browser
π #2901 - [BUG] Chromium not launching on Windows
#2906 - [BUG] Coverage types incorrect
#2921 - [BUG] selectOption Bug
#2940 - Parallel load
π #2943 - [BUG] Docs for v1.2.1 are broken
π³ #2972 - [Question] how to run playwright script in docker
π #2975 - [Question] Can releases specifically indicate the MacOS version compatibility
#2978 - [Question] Playwright and TypeScript
#2979 - [BUG] FF - launchPersistentContextCommits (287)
d01f63b - chore: mark v1.3.0
83539d1 - chore: cut v1.3.0-post (#3309)
4956041 - fix(validation): error typo "unknown" (#3304)
β 9280037 - chore(test): add blank lines (#3303)
b03b4a5 - chore: doc type nits (#3283)
π» 90819fa - browser(firefox): always create image buffer in headless mode (#3299)
π» 7e28c26 - browser(firefox): do not complain about SnapshotListener being cleared on Destroy (#3298)
β 9ec0267 - chore(test): use pathToFileURL (#3292)
3c2fcb7 - feat(webkit): bump to 1322 (#3297)
π 57490b7 - test: remove describes (6) (#3295)
π 4cbfa09 - test: remove describes (5) (#3294)
β‘οΈ 1673e62 - docs: update table of contents for docs sidebar (#3291)
π 2e65b0a - test: remove describes (4) (#3286)
π 028dd08 - docs: update documentation for evaluation argument (#3287)
π» 8881a52 - browser(webkit): roll to 8/4 (#3289)
2508976 - devops: fix typo in rustup detection (#3282)
π» d3a40be - browser(firefox): reliably close the pipe (#3280)
π 573f580 - test: remove describes (3) (#3278)
de55fa6 - fix(webkit): ensure WebKit can play h264 video (#3272)
π» 402d1a6 - browser(firefox): fix win compile 2 (#3277)
π bb26735 - test: remove describes (2) (#3276)
π» e481f37 - browser(firefox): fix win compile (#3275)
π 5c4f067 - test: remove describes (#3274)
π» 1148f0b - browser(firefox): implement RemoteDebuggingPipe (#3273)
bad4005 - chore(devops): do not copy pw_run.sh to subfolders (#3271)
b52d259 - feat(webkit): bump to 1321 (#3270)
π 126b1f7 - feat(rpc): run doclint against rpc client (#3260)
π f62e9b5 - browser(webkit): kick-off 1321 build to pick up new WebKitLibraries/win (#3263)
π 776f019 - fix(chromium): remove Debugger.paused event listener on coverage stop (#3252)
7e8d03b - fix(launcher): extend list of known missing DLLs (#3256)
β‘οΈ 8709ad7 - chore(tools): update PrintDeps license header (#3254)
cbd33f9 - devops: avoid running publish on external contrib (#3257)
β‘οΈ ba9030e - docs: update api.md with more references to actionability (#3255)
β‘οΈ 928a176 - docs: update docs (#3253)
β 3edfb2a - test: add REPORT_ONLY mode for test collection (#3225)
9b3c90e - feat(webkit): bump version to 1320 (#3248)
π 70b92e1 - docs(README): Point to hosted docs (#3208)
π 4e5aa3c - feat(rpc): support chromiumSandbox option (#3251)
ce0ddd2 - feat(download): create directories for saveAs (#3249)
93056ed - chore(rpc): more protocol nits (#3246)
421f6f4 - devops: use playwright-github-action@v1 (#3221)
π cbfdca7 - feat(launcher): check dependencies before launch on Windows (#3240)
β 21eafbc - test: unflake screenshot test (#3245)
2f95b6e - feat(selectors): auto-detect xpath starting with ".." (#3239)
π 235c5df - docs: add readme file for PrintDepsWindows (#3241)
π 6297f86 - feat(rpc): run generate-channels during lint (#3238)
π 9103ce0 - devops: fix firefox build (#3237)
π³ e7ddf86 - devops: rename docker image tag for tip-of-tree images (#3222)
β 0891678 - fix(test): display correct error when golden files mismatch (#3234)
19e8c0f - chore(deps): bump elliptic from 6.5.2 to 6.5.3 (#3235)
π 1728a3d - chore: minor protocol fixes (#3226)
π 8893866 - devops(windows): add tool for printing library dependencies on Windows (#3224)
cefb1b9 - feat(rpc): run fixtures.jest.js with channel (#3227)
4961c2d - devops(firefox): fixate rust and cbindgen version (#3223)
π» e091325 - fix: a pretty error when browser executable is not found (#3220)
β‘οΈ ae0c3a6 - docs(devops): update docs for buildbots (#3218)
52eb6c6 - fix(rpc): protocol Route.fulfill (#3200)
3bd9777 - feat(rpc): do not use server types and events in rpc/client (#3219)
β 7dd9f2c - test(iframes): add x-frame-options display test (#3217)
9132d23 - fix(screenshot): wait for stable position before taking element screenshot (#3216)
π¨ c6180ed - browser(webkit): print missing dll error to the console (#3214)
β 10225d1 - test: fix a race in the oopif test (#3211)
π» 487bc58 - devops: re-factor list-dependencies script to output per-browser results (#3194)
84a17f2 - fix(rpc): Frame.dblclick is missing notWaitAfter (#3210)
β 77b1c4b - devops: enable Ubuntu 20.04 tests (#3178)
π¦ f111ad7 - fix: add missinglibgles2
package to launch doctor (#3209)
π 21b1be7 - docs(selectors): fixed selector register example (#3169)
6bc02f8 - feat(launchdoctor): detect missing libraries fordlopen
(#3202)
a700a7a - feat(chromium): roll to 07/29 (#3207)
bdfde5c - fix(firefox): roll firefox for postdata fix (#3196)
fab5eba - fix(oopifs): translate coordinates to viewport (#3201)
6cb1e03 - feat(rpc): disallow deps into rpc client from outside (#3199)
β‘οΈ 3e023f6 - Revert "browser(firefox): fix color scheme not updating until reload" (#3198)
π¦ d27f97e - devops: include protocol and api.md in NPM package (#3195)
π» 14c6881 - browser(firefox): properly rewrite intercepted request (#3188)
β a59220b - test: prepare fixtures test to run with rpc (#3190)
π» da25a5b - browser(firefox): do not capture cursor in screencast (#3118)
576e2c5 - fix(webkit): correctly report outerWidth/Height on Mac (#3133)
β 101dd3b - fix(test): make video test pass on Mac (#3121)
π» 97c1000 - api: introduce Browser.version() (#3177)
e406119 - chore: add check_deps script (#3182)
β‘οΈ 20b7cff - fix: update jpeg-js version (#3179)
π¦ 6fa7547 - fix(launchDoctor): add package mapping forlibvpx.so.5
(#3180)
π 51ce47f - docs: use "Node.js" instead of "Node" (#3176)
b217919 - feat(rpc): replace implicit scopes with explicit dispose (#3173)
9b502af - fix(launchDoctor): support existing LD_LIBRARY_PATH (#3165)
π f4e584e - feat(rpc): align class names with api docs (#3164)
β d0b758a - test: improve autowaiting tests (#3168)
π 98cc9db - chore: simplify doclint (#3162)
π¦ fd2e65b - api: export all browsers from every package (#3128)
c8c92c5 - fix(utils): fix check-availability script (#3158)
d9890f1 - feat(rpc): make ElectronApplication a scope (#3159)
π 90ff667 - browser(webkit): disable high DPI support in Web Process on Windows (#3160)
π¦ 86b64a2 - feat(launchDoctor): package mappings for Ubuntu 20.04 (#3155)
d4b7078 - feat: validate Ubuntu version if launching firefox (#3156)
β‘οΈ 549a37b - browser(firefox): fix color scheme not updating until reload (#3157)
415e94f - feat(rpc): server-side validator (#3150)
β 1455cae - test(emulation): add failing test for setting dark theme in firefox (#3149)
π 0a57c2b - support typescript in jest files (#3132)
6a4195f - fix(require): allow requiring internals (#3153)
π 3162c06 - browser(webkit): outerWidth/Height on Windows (#3154)
e7cca86 - fix(postData): allow overriding binary post data (#3120)
bec34db - feat(firefox,webkit): roll both Firefox and WebKit (#3145)
β‘οΈ deccddb - feat(rpc): update BrowserServer (#3112)
0f0e2ac - fix(type): unify selection behavior when typing (#3141)
678d164 - devops: normalize blob names on the CDN (#3136)
π 79ab07b - devops: install Media Pack on Windows bot (#3137)
π bbe7dbe - feat(installer): start downloadinb Ubuntu 20.04 builds (#3126)
0b9c647 - devops: detect completion status (#3135)
π ae574b3 - devops: fix webkit build on ubuntu (#3134)
β 059004b - fix(test): don't leave so many zombies on sigint (#3130)
π» 7494134 - browser(webkit): correctly report outerWidth/Height on Mac (#3131)
π§ c1032ae - devops: simplify building webkit on linux bots (#3127)
π d234dac - chore: support esm imports (#3125)
π 21581a4 - devops: fix buildbot names
π cb77d33 - devops: add script for ubuntu 20.04 buildbot (#3123)
d2f24e8 - integrate toBeGolden with jest's snapshot system (#3124)
β e5afd92 - chore(tests): resuse tmp file helpers from utils (#3119)
π 63689e3 - devops: prepare buildbots to the introduction of Ubuntu 20.04 builder (#3116)
2bed312 - fix(electron): emit close events in the correct order (#3111)
β 30e21e0 - test: fix api coverage (#3114)
β 244ce45 - test: add a test for mouse.dblclick (#3115)
π c895c97 - browser(webkit): kick-off build for #3100 (#3113)
08b0dc6 - feat(webkit,firefox): bump versions (#3110)
β‘οΈ 1cfba7f - browser(webkit): periodically capture frames on mac regardless of updates
26c5784 - Rebase (#3096)
π» 3d37e45 - browser(firefox): pass actual frame duration to the codec (#3101)
π» b271624 - browser(webkit): hardcode woff enabled on win (#3103)
68c4f79 - feat(rpc): convert protocol to yaml (#3102)
b1a5a02 - feat(rpc): client-side parameters validation (#3069)
β e56e148 - test(postData): add a failing firefox test (#3098)
π 65002a0 - feat(rpc): support firefox user prefs (#3093)
80c0711 - feat(firefox): roll firefox to r1137 (#3095)
π 2a08883 - chore(download): follow up to remove the redundant checks (#3097)
βͺ baa0956 - Revert "test: screenshot on failure (#3053)" (#3091)
d8a17fb - api(download): Add saveAs helper (#2872)
β‘οΈ 4db035d - chore: roll_browser to also update docs (#3088)
ea5dfdb - fix: re-write Chromium startup error with clear instructions (#3070)
1aee8df - feat(rpc): align types/guids in the protocol with their pdl definition (#3079)
π» f50f228 - browser(chromium): roll chromium to r790602 (#3082)
βͺ 773ee08 - chore(test): restore api coverage checks (#3068)
β 6e75533 - chore: respect jest params in npm run wtest (#3085)
π 2b0b0a9 - fix(misc): assorted fixes (#3031)
ced0bc2 - api: make clear the use of null in page.emulateMedia (#3078)
π» f751ab1 - browser(webkit): write screencast video to .webm instead of .ivf (#3081)
π c0d9ccf - docs: update documentation on Chromium sandbox (#3077)
π f4b7ed5 - fix(chromium): reland support selectAll on macos (#3038)
β 3c151d8 - fix(test): don't output babel's debug info on the bots (#3073)
db4e856 - feat(rpc): use SerializedValue for CDPSession (#3076)
β‘οΈ 1553f19 - chore: update error messages to match future rpc validator (#3075)
18cb1c0 - feat(rpc): inline selectors.register options in the protocol (#3072)
β‘οΈ 3dd6162 - feat(rpc): update Response.finished to return string instead of Error (#3071)
47e30f0 - feat: introducechromiumSandbox
launch option (#3067)
af20d27 - fix: auto-add--no-sandbox
when running Chromium under root (#3064)
π 2120a23 - docs(readme): add link to system requirements (#3057)
π 3dead4c - feat(rpc): remove last union types from the protocol (#3059)
π» de9570e - browser(webkit): roll to ToT 07/21/2020 (#3066)
π babd0cb - browser(firefox): fix Windows build (#3065)
π» 7f29275 - browser(firefox): use base64 to deliver post data (#3063)
π» 99658c2 - feat(bringToFront): enable on all browsers (#3052)
β a03f1dd - test: screenshot on failure (#3053)
π» a5cb983 - browser(firefox): write video to .webm instead of .ivf (#3062)
π 2d59a8f - feat(rpc): remove some union types (#3058)
5848ed8 - feat(rpc): introduce protocol.pdl (#3054)
π» 726f636 - browser(firefox): implement Page.bringToFront (#3051)
π» eb14c47 - browser(webkit): do not mask WebGL vendor/renderer info (#3050)
π» 6db8962 - browser(firefox): smooth resize in headless (#3043)
β 23f506b - fix(test): write after end in proxy test (#3039)
π» d1f937d - browser(firefox): stop video recording if page closed (#3040)
π¦ 3774044 - devops: add script to generate shared object => package mapping (#3022)
β cfe3aa3 - test: add a few tests for null values (#3035)
29504c0 - feat(rpc): make SerializedValue format pdl-friendly (#3007)
π 79d5991 - doc: Improve unroute documentation (#3026)
π 6199ba2 - devops: remove travis, appveyor, circle for now (#3029)
β b5f9985 - devops: make headful a matrix, collect test results (#3027)
β 13c3f72 - test: restart worker fixtures after test failure (#3021)
π» 562e1e6 - browser(firefox): wait for file write to finish in stopVideoRecording (#3020)
β c45b579 - test: support slow marker (#3018)
π³ 7d2078e - devops: bake browsers into Docker image (#2990)
π¦ 9a2245d - devops: show package names instead of missing libs on Ubuntu 18.04 (#3013)
π» ef2a652 - feat: support atomic browser installation - attempt 2 (#3008)
π· a75835e - chore(jest): halve the max workers (#3017)
β 68ef90d - test(click): split into several files (#3016)
β f2239b5 - test: respect CR/FF/WK/PATH env (#3015)
π» 91e1a25 - feat(rpc): gracefully close browsers in server process on disconnect (#3005)
β 9d98011 - test: wire test commands to jest (#3014)
0οΈβ£ 8904f40 - chore(jest): defaultbrowsercontext.jest.js (#3003)
π a821633 - Revert "fix(chromium): select all on macos should work again (#3006)" (#3011)
π 096ec4c - test: move fixtures to jest (#3010)
π 24f6d19 - test: move remaining tests to jest (#3009)
9790cf2 - feat(webkit): bump to 1308 (#2991)
π 631fbce - fix(chromium): select all on macos should work again (#3006)
9140063 - fix(accessibility): don't filter everything when the page has a title (#2909)
d8bedd8 - chore: explicitly type SerializedArgument, fix rpc dispatchEvent (#2988)
π 070a257 - test: move all generic page tests to jest (#3002)
0οΈβ£ 5cf3e4f - feat(rpc): switch Env to use an array, split ignoreDefaultArgs (#2984)
β df8b270 - chore(jest): convert browser tests to jest (#3000)
β 1c0504a - test: respect fixtures in describe, match image snapshots (#2989)
β fe95ee0 - test: group browserType.launchServer tests (#2944)
16e3776 - fix(JSCoverageEntry): added scriptId and isBlockCoverage (#2955)
β 424f11d - test: convert some tests to the jest+fixtures (#2983)
π» 1896e8e - browser(webkit): send Playwright.pageProxyDestroyed for crashed tabs when deleting context (#2986)
π» 89ccf99 - browser(firefox): screencast for Mac headful (#2985)
056f0e2 - feat(rpc): ensure that error stack traces point to the user code (#2961)
π b890569 - feat(rpc): move leftover extraHTTPHeaders to HeadersArray (#2980)
π° 439e048 - feat(rpc): migrate DeviceDescriptors payload to an array (#2981)
π 4c8ba3e - chore: remove cli (#2976)
β 513899a - test: add a test for arbitrary options (#2977)
β ecc130c - test: convert evaluation.spec to jest+fixtures (#2968)
π³ 7080767 - devops: move CircleCI to run against dev version of Docker container (#2969)
a802b4a - feat(ff,wk): bump revisions (#2967)
198ecee - api(exposeBinding): allow handles in the binding result (#2970)
aa4c893 - feat(rpc): implement waitForNavigation on the client (#2949)
π³ 824f649 - devops(docker): fix docker for chromium (#2966)
177873e - chore(deps): bump lodash from 4.17.15 to 4.17.19 (#2964)
π³ d750ba3 - fix(docker): add missing dependencies to docker image (#2963)
π b7f7ba9 - browser(firefox): screencast support for Windows headful (#2965)
β 19cd96c - test: add the jest-circus experimental runner (#2962)
π§ 0b92181 - feat: validate browser dependencies before launching on Linux (#2960)
π c51ea0a - feat(rpc): remove PageAttribution from the protocol, attribute on the client side (#2957)
7f61715 - feat(rpc): use headers array in the protocol (#2959)
π» 3189303 - browser(webkit): close crashed pages on exit (#2958)
π» 0aff9be - browser(firefox): screencast for headless mac (#2956)
π 4a00e5c - test: remove flaky test for binding on error pages (#2952)
2d5c032 - feat(rpc): return objects for every protocol command (#2950)
46a625d - feat(firefox): bump to 1127 (#2951)
1b84ec9 - fix(binding): dispatch binding after the page has been initialized (#2938)
π 89ca2db - browser(firefox): kick off new build after last commit (#2948)
π» de40329 - browser(firefox): add new files for headless screencast (#2947)
π» bf6f22d - browser(firefox): basic screencast for headless (#2931)
π d5bd459 - chore(rpc): remove some paths from the channel (#2934)
π cc8fe5a - feat(rpc): support electron (#2933)
π 9fdb3e2 - feat(rpc): support selectors (#2936)
π 6c75cbe - docs: fix link to github workflow in releasing doc
π³ a06ba1c - devops: add utility to count compressed docker image size (#2920)
π³ d58a57c - devops: fix docker publishing (#2939)
π³ b7d68d1 - devops: automate Docker image publishing (#2937)
65d45c1 - feat(rpc): introduce Waiter for various waitFor implementations (#2935)
π b2d820a - docs(emulation): separate section for dark mode (#2915)
9fd30e5 - feat(rpc): ensure feature-detection works as before (#2898)
β 2151757 - feat(rpc): run rpc tests in-process and out-of-process (#2929)
π 0346c3a - chore: update release notes draft gen (#2932)
β 6d94c92 - feat(rpc): support no-serialization mode, run hook tests (#2925)
π² 6674458 - feat(rpc): log api calls into LoggerSink (#2904)
c63b706 - fix(events): avoid firing events after close/detach (#2919)
π fc68614 - feat(rpc): merge DispatcherScope and Dispatcher (#2918)
β ebb4c33 - test: mark 2 chromium not important win tests as failed (#2914)
π» 982e5e3 - devops: collect artifacts from browser locations (#2913)
21807bc - feat(webkit): roll WebKit to r1306 (#2899)
a403d4b - fix(firefox): fix launching firefox without dependencies (#2900)
π³ 1cebf87 - chore(docker): skip "recommended" dependencies (#2917)
π³ bce4b1a - chore(docker): trim some of the gstreamer dependencies (#2897)
π 631f76d - chore(rpc): remove union types from page and handles (#2912)
π b6fd4dc - feat(rpc): merge ChannelOwner and ConnectionScope (#2911)
β‘οΈ 54f9a0d - test: update headfull chromium expectations after a recent roll (#2908)
π§ d561465 - devops: use matrix in GHA, add non-linux rpc (#2907)
c89c30e - fix(popup): do not report frameless pages (#2910)
c21b637 - feat(webkit): bump to 1305 (#2893)
β a91ec9a - feat(rpc): pass more tests (#2896)
β 7039409 - test: skip devtools test with USES_HOOKS (#2895)
π§ cb8b1bc - browser(webkit): Reduce binary size of WebKit Linux build bundles (GTK and WPE) (#2880)
e90ba26 - fix(context): fire close event for persistent contexts (#2891)
π 8fe29fe - feat(rpc): support more chromium-specific apis (#2883)
β b3ca4af - chore: misc test fixes (#2857)
β 6209d14 - chore: misc test fixes (#2888)
β c3ac037 - test: add test to validate user-agent sanity (#2887)
π» b93e099 - browser(webkit, firefox): bump versions (#2866)
458aaa5 - feat(chromium): roll Chromium to r786218 (#2879)
0οΈβ£ 71713c9 - fix(webkit): Fix default User-Agent (#2886)
π f5911de - browser(webkit): release GTK app only if it has been referenced (#2885)
π» 83bba08 - browser(webkit): fix touch events on mac after last roll (#2884)
β 040c6a6 - chore(jest): run tests with jest (#2754)
π 6a1bd3a - docs: add debugging docs page (#2865)
β 8611ee8 - chore(testrunner): typescript test files (#2751)
π e97badc - docs(CONTRIBUTING.md): Add build step (#2869)
β 760283e - testrunner: fix default environment name (#2870)
0c80c22 - feat(rpc): plumb CDPSession (#2862)
2a86ead - chore: replace FrameTask with internal events on Frame (#2856)
β 35cb20d - test: unflake recorder tests (#2808)
π» baaa654 - browser(firefox): resize window when changing viewport (#2861)
π» 64f5721 - browser(webkit): roll to 07-07-2020 (#2863)
π 6ed8b5f - chore(eslint): lint for copyrights on files (#2858)
π de7969f - docs(api/input): fix typo (#2837)
π» 9640dbf - browser(firefox): exclude browser controls from screencast (#2855)
39144dd - feat(webkit): bump to 1302 (#2852)
π¨ 0380400 - chore: refactor waiting for lifecycle events (#2851)
db3439d - chore: introduce DocumentInfo (#2765) - π Python support : Official Playwright for Python is ready for preview!