Skip to content

Releases: microsoft/playwright

v1.5.2

27 Oct 22:27
Compare
Choose a tag to compare

Highlights

  • Chromium 88.0.4287.0
  • Mozilla Firefox 82.0b9
  • WebKit 14.0

Bug fixes:

  • #4148 - [BUG] browserContext.close takes too long when recording videos
  • #4218 - [BUG] Playwright-chromium (>1.5.0) does not exit properly (hangs) when started in docker
  • #4224 - [BUG] Don't disable nodes maxListeners warning on
  • #4225 - [BUG] Cannot override .npmrc env var PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD from true to false
  • #4238 - [BUG] A png screenshot is produced when a jpeg/jpg screenshot is requested
Issues Closed (5)

#4148 - [BUG] browserContext.close takes too long when recording videos
#4218 - [BUG] Playwright-chromium (>1.5.0) does not exit properly (hangs) when started in docker
#4224 - [BUG] Don't disable nodes maxListeners warning on
#4225 - [BUG] Cannot override .npmrc env var PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD from true to false
#4238 - [BUG] A png screenshot is produced when a jpeg/jpg screenshot is requested

Commits (7)

0f8eccf - fix(ECONRESET): fix it once and for all (#4258)
e50d0a2 - fix(screenshot): prioritize passed type over the extension mime (#4251)
3d4e50d - fix(env): respect =true/false as env values for boolean flags (#4228)
1df6b92 - fix: update getFromEnv logic to validate that value is undefined (instead of falsey) before redefining it (#4226)
3188d6e - fix(listeners): avoid "too many listeners" problem safely (#4223)
3201c23 - Revert "fix(listeners): avoid "too many listeners" problem (#3931)" (#4222)
4975cea - chore(screencast): respect i/o backpressure when writing into ffmpeg (#4164)

v1.5.1

14 Oct 23:30
Compare
Choose a tag to compare

Highlights

New page.video() method to retrieve on-going page video recording.

Browser Versions

  • Chromium 88.0.4287.0
  • Mozilla Firefox 82.0b9
  • WebKit 14.0

New APIs

Issues Closed (2)

#4142 - [BUG] Video Recording Chromium compression is too high

Commits (6)

0b7976a - fix(screencast): await for the first video frame on Chromium (#4145)
2cd8604 - fix(screencast): bump chromium video quality (#4146)
5dce248 - fix(screencast): correctly process videos with 1 frame (#4144)
85ae3cc - chore: mark v1.5.1
e5743d2 - docs: fix Video.path() type (#4141)
618b50c - api(video): restore the missing video path accessor (#4132)

v1.5.0

13 Oct 19:53
Compare
Choose a tag to compare

Highlights

  • Video screencasts API is now stable: Use the videosPath option while creating browser contexts to record videos for all pages within the context. See examples.
  • Test runner is available in preview: To setup a cross-browser end-to-end testing suite with Playwright, check out playwright-test. Try it out, and tell us what you think!

Playwright CLI

Breaking changes

  • Chromium sandboxing is now opt-in. This is to simplify running Playwright tests in CI environments. Learn how to enable sandboxing.
  • The Docker image adds pwuser as an optional user for non-root user environments.

Browser Versions

  • Chromium 88.0.4287.0
  • Mozilla Firefox 82.0b9
  • WebKit 14.0

New APIs

  • [browser.newPage()], [browser.newContext()] and [browserType.launchPersistentContext()] now support videosPath and videoSize option.
  • New [page.video()] method. (v1.5.1)
  • New [Video] class. (v1.5.1)
  • New [browserContext.browser()] method.
  • Both [browserContext.exposeBinding()] and [page.exposeBinding()] now accept handle option to pass handles instead of serialized values.
Issues Closed (29)

#3046 - [BUG] Browser doesnt get installed on Windows Server
#3405 - [BUG] Attach multiple instance of playwright to browser server
#3617 - [Question] Protocol error (Network.getResponseBody): No resource with given identifier foundError
#3695 - [Question] Passing a DOM element to an exposed function
#3705 - [Question] What is the best way to use "goto" in an application that uses long-polling?
#3711 - [Question] Multithreading with playwright
#3727 - [Feature] Get timeout on Page level
#3897 - [BUG] Can't click button in Chromium headless mode
#3905 - [BUG] subtree intercepts pointer events
#3916 - [Question] Video recording: capturing popups
#3918 - [Question]page.frame not referencing url in Chrome Dev Tools for Power BI report
#3920 - [Feature] coverage per frame
#3939 - [BUG] browserContext.newPage() sometimes hangs indefinitely
#3962 - [Question] Why does chromiumBrowserContext.newCDPSession require a page?
#3967 - [BUG] Not working with macos 10.13.6 (17G2208)
#3970 - [Question] Recommendation on Node.js program to work with playwright to access SQL server or Databricks to query to get data values
#3971 - [BUG] Firefox Timeout while waiting for popup
#3976 - [Question] Wait for XHR triggered by action
#3978 - [BUG] typing files and real code are different
#3987 - [Question] Using firefox as browser on test throws: Response body is unavailable for redirect responses
#3991 - [BUG] browserType.connect() promise never resolved after version 1.4.x
#3995 - [Feature] Roll firefox to current beta
#3996 - Review the new video and trace APIs
#3997 - [BUG] Cannot launch compiled electron application
#4013 - [BUG] - I can not access to playwright.dev
#4020 - [Question] When does page.click resolve in the DOM loading lifecycle?
#4022 - Browser launch argument for firefox.
#4033 - [BUG] Failed to launch chromium because executable doesn't exist
#4043 - [Question] Cucumber/Gherkin support for Playwright

Commits (167)

3350db2 - chore: nit test fixes (#4114)
c2adc98 - chore: roll folio to 0.3.8 (#4113)
46b14bc - chore: roll folio to 0.3.6 (#4110)
80ed407 - test: add a failing test for the issue 4038 (#4111)
5648eac - browser(webkit): fix mac build after last roll (#4108)
3f68713 - chore: locate binaries in case of cli deployment (#4107)
db744e2 - browser(webkit): roll to 10/08 (#4106)
b85ba62 - browser(webkit): actually fix mac compilation (#4105)
9801be6 - feat(chromium): roll to 815036 (#4099)
80773fa - fix: disable chromium sandbox by default (#4090)
d6a198a - browser(webkit): speculative build fix for Mac (#4104)
8252eb7 - browser(webkit): roll to 09-27 (#4103)
c078e98 - chore: update bin/PrintDeps.exe to r1002 (#4096)
e2f7745 - browser(chromium): roll to 815036 (#4098)
ebb3563 - chore: update package-lock.json
e6a1a1c - fix(docker): add again pwuser (#3899)
b4ad6e7 - devops: playwwright-core installation should not touch browser registry (#4089)
ff295d1 - fix(windows): fix dependencies check on windows (#4076)
08024c8 - feat(firefox): roll to r1188 (#4091)
6a7d244 - devops: fix firefox build (#4088)
1ccce09 - browser(firefox): roll Firefox to beta Oct 7, 2020 (#4087)
0990694 - docs(page): clarify page.close({runBeforeUnload: true}) behavior (#4086)
6bb212c - feat(firefox): roll Firefox to r1186 (#4085)
fd769ec - chore: remove test dependency on pw itself (#4078)
6beef55 - browser(firefox): wait for search and addon manager initialization (#4081)
3b42328 - browser(firefox): a different way to emit 'load' event (#4080)
aafe5da - docs: add videos to verification doc (#4071)
ad58e49 - Revert "feat(firefox): migrate to the pipe channel (#4068)" (#4073)
1fe3c78 - test: roll test runner 0.9.22 (#4072)
ce7aa7a - feat(firefox): migrate to the pipe channel (#4068)
e6869ed - browser(firefox): fix typo in dispatcher teardown (#4069)
5d12915 - feat(firefox): roll to r1182 (#4067)
4ab66a4 - browser(firefox): follow-up with assorted simplifications (#4066)
c8a64b8 - browser(firefox): enable document channel (#4065)
e403fd3 - test: update fixtures to new syntax (#4063)
0db09f8 - test: roll test runner to 0.9.20 (#4062)
2df6425 - chore(typo): resolve typo in src/progress.ts (#4041)
857abcf - browser(firefox): make pipe work on Windows (#4058)
a7beaf6 - browser(chromium): roll to 813607 (#4052)
d31cbc2 - fix(video): wait for videos when closing persistent context (#4040)
fbe0fb2 - fix(api.json): do not copy documentation from base class members (#4048)
e214f79 - feat(video): support videos in remote browser (#4042)
133de10 - browser(firefox): start screencast in existing pages upon setScreencastOptions (#4045)
1f16ce2 - test: remove failing expectations from a passing test (#4036)
ec36eef - feat(firefox): roll Firefox to r1179 (#4044)
2c11b10 - browser(firefox): remove multisession logic (#4039)
5e42029 - api: allow exposeBinding to pass handles (#4030)
c217121 - test: add a test for request interception with redirects (#3994)
81c1dae - test: roll test runner 0.9.17 (#4035)
318ab28 - chore: include api.json in NPM package (#4034)
4a77363 - api: update videos api, hide tracing (#4015)
920cc7c - test: run crash tests with chromium wire (#4026)
b74a6b7 - browser(firefox): do not double-attach session to the same target (#4027)
f885d07 - fix(close): fix a race during context.close and page.close (#4018)
b9dcfb9 - test: minor fixes (#4024)
13d48da - test: record trace/videos on retries (#4009)
9743584 - browser(firefox): move user agent emulation to browser side (#4016)
ab2714e - test: unflake click-timeout-4 (#4012)
ccc827c - test: add a test for screen.avail{Width,Height} emulation (#4011)
e280839 - browser(firefox): simplify PageTarget lifecycle (#4014)
24bc0e3 - browser(firefox): remove the hack around setting viewport size (#4010)
a20c0e0 - roll(firefox): roll Firefox to r1174 (#4005)
d658b68 - chore: refactor screencast tests (#4007)
20b83ee - fix(electron): do not use --require to throttle startup (#4006)
6dccd27 - fix(wire): fix the wire mode (#4008)
7ccdc51 - chore: include api.json into the Playwright package (#4003)
c30b894 - chore: add missing image test expectation (#4004)
de1e63d - test: roll test runner 0.9.16 (#3998)
2631e1a - browser(firefox): use browsingContextID for frame IDs (#3999)
b3497b3 - fix(actions): wait for some time before retrying the action (#4001)
109688a - chore: split playwright.fixtures into files (6) (#3988)
423485e - chore: split playwright.fixtures into files (5) (#3986)
0ee9050 - chore: split playwright.fixtures into files (4) (#3985)
cef27d6 - chore: split playwright.fixtures into files (3) (#3984)
76be954 - chore: split playwright.fixtures into files (2) (#3983)
5b9f489 - chore: split playwright.fixtures into files (#3982)
59daaab - chore: roll @playwright/test-runner to 0.9.14 (#3981)
6102052 - Revert "chore: don't hold sourcemap reference in prod build (#3959)" (#3979)
970b011 - chore: roll @playwright/test to 0.9.6 (#3977)
49bcf6e - chore: roll test runner to 0.9.1 (#3972)
989709b - chore: delete unused screencast hacks (#3964)
76d08ce - chore(types): add return type to advancePosition (#3961)
a42cd4b - test: mark screencast tests as flaky until ffmpeg migation (#3968)
49779d5 - Update showcase.md (#3969)
1bb44e4 - test: roll test runner to 0.3.29 (#3966)
fe41bbd - test: enable videos on tracing bots (#3930)
e15ac44e - test: roll test runner to 0.3.25 (#3965)
6d5ab53 - chore: don't hold sourcemap reference in prod build (#3959)
967f3b7 - devops(docker): push focal images to CR (#3950)
4aaf3b7 - test: roll test runner to 0.3.20 (#3963)
1d21c1e - feat(webkit): bump to 1347 (#3955)
18809b3 - fix(listeners): avoid "too many listeners" problem (#3931)
2d1cabd - test: roll test runner to 0.3.18 (#3949)
0e76316 - fix(close): fix the browser.close race (#3956)
c4a2732 - browser(webkit): another mac fix (#3948)
ce51af0 - brower(webkit): add missing override markers (#3947)
7925a51 - feat: support concurrent installation of browsers (#3929)
2fbe767 - browser(webkit): roll to 09/21 (#3945)
f1016c1 - fix(executablePath): throw unexpected platform error upon call (#3943)
cd0a123 - feat(chromium): roll to v808777 (#3942)
ec26265 - feat(ffmpeg): roll FFMPEG...

Read more

v1.4.2

24 Sep 22:45
Compare
Choose a tag to compare

Highlights

This patch release includes fix for the following bugs:

  • #3919 - [BUG] MacOS 10.13 Webkit error
  • #3935 - [BUG] browserType.connect() throws on executablePath errors

Browser Versions

  • Chromium 86.0.4238.0
  • Mozilla Firefox 80.0b8
  • WebKit 14.0
Issues Closed (2)

#3919 - [BUG] MacOS 10.13 Webkit error
#3935 - [BUG] browserType.connect() throws on executablePath errors

Commits (2)

747e736 - chore: mark v1.4.2
b05c098 - cherrypick(release-1.4): throw unexpected platform error upon call (#3946)

v1.4.1

18 Sep 19:14
Compare
Choose a tag to compare

Highlights

This patch release includes fixes for the following bugs:

  • #3845 - [BUG] ffmpeg dependency check fails on Linux
  • #3846 - [BUG] ffmpeg dependency check breaks on Linux even if screencast is not used
  • #3848 - [BUG] TypeError: domain.enter is not a function/ Browser.close() Promise does not resolve when "domain" package is used
  • #3872 - [REGRESSION]: Calling browserType.launchServer stopped working in 1.4.0

Browser Versions

  • Chromium 86.0.4238.0
  • Mozilla Firefox 80.0b8
  • WebKit 14.0
Issues Closed (4)

#3845 - [BUG] ffmpeg dependency check fails on Linux
#3846 - [BUG] ffmpeg dependency check breaks on Linux even if screencast is not used
#3848 - [BUG] TypeError: domain.enter is not a function/ Browser.close() Promise does not resolve when "domain" package is used
#3872 - [REGRESSION]: Calling browserType.launchServer stopped working in 1.4.0

Commits (6)

e79eada - chore: mark v1.4.1
2df3972 - fix(screencast): repeat previous frame instead of current (#3890) (#3904)
bf97758 - cherrypick(release-1.4): stop relying on ubuntu stock ffmpeg (#3894)
8bc84ff - cherrypick(release-1.4): check for ffmpeg only when starting screencast (#3893)
8795d46 - cherrypick(release-1.4): do not throw when 'port' option is present (#3881)
64947f1 - cherrypick(release-1.4): fix compatibility to the domain module (#3878)

v1.4.0

10 Sep 22:24
Compare
Choose a tag to compare

Highlights

🚀 playwright-cli is now public!

Playwright Command Line Interface can:

  • Open pages in Chromium, Firefox and WebKit (Safari) on all platforms

    $ npx playwright-cli open wikipedia.org
  • Record user interactions and generate Playwright scripts

    $ npx playwright-cli codegen wikipedia.org
    • multi-page scenarios
    • text-based selectors
    • downloads, uploads
    • many more!
  • Emulate devices, color schemes, geolocation, etc

    $ npx playwright-cli --device="iPhone 11" open wikipedia.org
  • Use DevTools console to inspect Playwright selectors

    > playwright.inspect('text=Log in')
    
  • Generate page screenshots and PDFs

    $ npx playwright-cli screenshot --help

🎥 Record videos (experimental)

Record videos of your scripts, every page and popup is captured!

const fs = require('fs');
const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({
    _videosPath: __dirname  //  save videos here.
  });
  const context = await browser.newContext({
    _recordVideos: { width: 1024, height: 768 },  // downscale
  });
  const page = await context.newPage();
  const video = await page.waitForEvent('_videostarted');
  await page.goto('https://github.com/microsoft/playwright');
  // ... perform actions
  await page.close();
  fs.renameSync(await video.path(), 'video.webm');
  await browser.close();
})();

☁ New Client / Server Wire protocol

In the last release, we introduced an internal protocol to support Playwright in the none-Node environments. It is already used in the Playwright for Python as well as in third party PlaywrightSharp and Playwright for Go implementations.

With v1.4, we are taking it one step further and migrate Node version of the library along with its client-server mode to be based on this new protocol. So if you are using browserType.connect against cloud services or internally, you need to make sure that the service is also updated to v1.4 before you can use it.

Browser Versions

  • Chromium 86.0.4238.0
  • Mozilla Firefox 80.0b8
  • WebKit 14.0

New APIs

Breaking changes for Docker and CI users

  • root user is used in the default Docker image 5f6441e
  • ffmpeg dependency is required when running Chromium
Issues Closed (73)

#632 - [BUG] setInputFiles does fetch that fails due to CSP
#1396 - [Question] Performance issues on Firefox?
#1400 - [Feature] debugging client script
#1568 - [BUG] Playwright cannot talk to Chromium on Heroku
#1605 - Parrallel execution[Question]
#1626 - [Feature] Playwright Recorder
#1654 - [Feature] Command events/hooks
#1935 - [BUG] cant create webkit context
#2053 - How to use playwrite to log in as various users in another ntlm domain?
#2054 - [Feature] page.waitForActionable()
#2086 - [BUG] Firefox on Appveyor seems flaky
#2124 - [Feature] https://playwright.dev/ should have a link to GitHub
#2236 - [Feature] Ability to test printing
#2321 - [BUG] Google Cloud Function error (deploy)
#2363 - [Feature] Pass timeout in the BrowserContextOptions for newContext
#2366 - [Feature] Allow PDF to be returned as a stream.
#2450 - [BUG] Error: NS_ERROR_CONNECTION_REFUSED while navigating to http://localhost:8000
#2453 - [BUG] Text selector not found in open shadow root
#2526 - [BUG]Wait for navigation with url and wait until network idle fail to respond and time out
#2556 - [Question] page.evaluate() issues with xpath
#2559 - [Question] Running WebKit GTK on Ubuntu 20.04
#2573 - [BUG] Can't click 2FA duo button.
#2587 - How can I call an external function in class inside page.evaluateHandle(...) context
#2603 - How to make page bring to front
#2616 - [REGRESSION]: Very slow on v1.1
#2623 - [BUG] Firefox does not launch with executablePath set to Firefox inside Applications folder
#2657 - [Feature] Consider adding Browser Server to the Core Concepts docs
#2660 - [BUG] Cannot find a MiniBrowser.app in neither location
#2692 - What is the proper way of handling tests with more that one tab?
#2704 - Error: Protocol error (Overlay.highlightNode): Could not find object with given id
#2707 - [Question] Unable to load website on Webkit
#2718 - [Feature] Simulate mouse movements so you can visually see what is being clicked during a test run
#2726 - [Question] Allow cross-site tracking or change your browser
#2728 - Is it possible to launch playwright browser "headless:false" in a docker container.
#2821 - [Question] Wait for response.ok()
#2828 - [BUG] - Multiple calls to launchPersistentContext fail in non-headless mode
#2833 - [Question] Is it possible to launch contexts with different proxies?
#2846 - [BUG] Disconnect\Reconnect not working in firefox[when using jest-playwright-preset]
#2853 - Do Playwright stores a "dev_profile" file?[Question]
#2859 - Playwright Firefox browser instances not closing after closing browser context[BUG]
#2878 - [REGRESSION]: context.pages() now works differently
#2882 - [BUG] Cannot use https or socks5 proxies
#2889 - [Feature]release train order
#2905 - [BUG] Getting chromium as undefined with playwright-core
#2930 - [BUG] page.screenshot doesn't create folder if needed
#2942 - [Feature] Switch between tabs in same context
#2971 - [Internal] Jest runner limitations / adoption blockers
#3001 - [Internal] for the jest portion of the tests, we should handle sigint.
#3047 - [BUG] miss export type BrowserTypeConnectOptions
#3083 - [Internal] browser roll script should update docs
#3084 - [Question] "Cannot read property 'launch' of undefined"
#3094 - [Feature] Add list of contributions to release notes
#3108 - [Feature] Add yarn to playwright:{bionic:dev} Docker images
#3109 - [Question] Add PID to pw logs
#3140 - [Feature]make automation life more good!
#3142 - [BUG]
#3144 - [Question] clarify in docs what click timeout option waits for
#3146 - [Question] Deno Integration?
#3151 - [BUG] Page.goto() flakiness - seeing TimeoutError sometimes
#3192 - [Question] Check if element is stable
#3215 - [Feature] Roll Firefox to current beta
#3230 - [BUG] FF - launchPersistentContext
#3231 - [Question] page.keyboard.press('Enter') not working on Firefox
#3232 - [Question] Chorimium is lauched but unable to navigate to url as it just says about:blank
#3233 - [BUG] IP:PORT Proxy doesnt work on playwright-firefox
#3258 - [Feature] add a webkit/firefox auto-roll bots
#3259 - [Feature] serve Chromium from our CDN
#3262 - [Question] Channels download.delete and download.createReadStream
#3269 - [Question] Mouse smooth scroll
#3281 - [BUG] Docs have wrong evaluation argument type
#3293 - [Feature] take implicit xpath if selector starts with .. (dot dot)
#3310 - [BUG] Website throws exception before rendering
#3315 - [BUG] Fails on start - WS url is undefined

Commits (384)

d64d002 - browser(firefox): fix screencast in first window on mac headful (#3826)
559f30d - chore: roll ffmpeg binaries to r1001 (#3824)
3124a1b - devops: fine-tune ffmpeg compilation (#3823)
4240e1d - docs: add page on language bindings (#3819)
777689a - docs(intro): add cli to getting started (#3821)
29b8098 - devops: fix running docker when executed from cronjob (#3822)
ee98bd0 - docs(selectors): update structure and add best practices (#3817)
245d100 - devops: produce ffmpeg builds on bots (#3820)
8a339be - browser(firefox): roll Firefox to r1171 (#3818)
ff0d697 - docs(docker): add note how to use chromium sandbox (#3779)
8687400 - refactor: consolidate ffmpeg-related files in third_party/ffmpeg (#3815)
6c83266 - browser(firefox): force firefox devtools to open in a separate window (#3816)
dee7392 - feat(webkit): bump to 1343 (#3814)
5364c6a - browser(firefox): fix automatic http->https redirect (#3812)
3c69f2a - tes(types): use @ts-expect-error in tests where we check for errors (#3794)
e8cf895...

Read more

v1.3.0

06 Aug 20:27
Compare
Choose a tag to compare

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

Thank You

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 - launchPersistentContext

Commits (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 missing libgles2 package to launch doctor (#3209)
21b1be7 - docs(selectors): fixed selector register example (#3169)
6bc02f8 - feat(launchdoctor): detect missing libraries for dlopen (#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 for libvpx.so.5 (#3180)
51ce47f - docs: use "Node.js" instead of "Node" (#3176)
b217919 - feat(rpc)...

Read more

v1.2.1

14 Jul 00:42
Compare
Choose a tag to compare

Highlights

  • This patch release fixes WebKit user-agent.

Browser Versions

  • Chromium 85.0.4182.0
  • Mozilla Firefox 78.0b5
  • WebKit 14.0
Commits (3)

a00f0d4 - chore: mark v1.2.1
c30eca9 - docs: add debugging docs page (#2865)
8c3ad05 - fix(webkit): Fix default User-Agent (#2886)

v1.2.0

07 Jul 02:51
Compare
Choose a tag to compare

Highlights

pwdebug-1-4x

  • 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

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 fai...

Read more

v1.1.1

11 Jun 02:27
Compare
Choose a tag to compare

Browser Versions

  • Chromium 85.0.4165.0
  • Mozilla Firefox 77.0b3
  • WebKit 13.2

Highlights

  • Revert "atomic install" since it was causing problems in some environments.
commits (2)

cbfc954 - chore: mark v1.1.1
391915e - chore: revert atomic install (#2534)