Skip to content

Releases: microsoft/playwright

v1.12.0

09 Jun 01:00
3b669e1
Compare
Choose a tag to compare

⚡️ Introducing Playwright Test

Playwright Test is a new test runner built from scratch by Playwright team specifically to accommodate end-to-end testing needs:

  • Run tests across all browsers.
  • Execute tests in parallel.
  • Enjoy context isolation and sensible defaults out of the box.
  • Capture traces, videos, screenshots and other artifacts on failure.
  • Infinitely extensible with fixtures.

Installation:

npm i -D @playwright/test

Simple test tests/foo.spec.ts:

import { test, expect } from '@playwright/test';

test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  const name = await page.innerText('.navbar__title');
  expect(name).toBe('Playwright');
});

Running:

npx playwright test

👉 Read more in testrunner documentation.

🧟‍♂️ Introducing Playwright Trace & TraceViewer

Playwright TraceViewer is a new GUI tool that helps exploring recorded Playwright traces after the script ran. Playwright traces let you examine:

  • page DOM before and after each Playwright action
  • page rendering before and after each Playwright action
  • browse network during script execution

Traces are recorded using the new browserContext.tracing API:

const browser = await chromium.launch();
const context = await browser.newContext();

// Start tracing before creating / navigating a page.
await context.tracing.start({ screenshots: true, snapshots: true });

const page = await context.newPage();
await page.goto('https://playwright.dev');

// Stop tracing and export it into a zip archive.
await context.tracing.stop({ path: 'trace.zip' });

Traces are examined later with the Playwright CLI:

npx playwright show-trace trace.zip

That will open the following GUI:

image

👉 Read more in trace viewer documentation.


Browser Versions

  • Chromium 93.0.4530.0
  • Mozilla Firefox 89.0
  • WebKit 14.2

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

  • Google Chrome 91
  • Microsoft Edge 91

New APIs

Issues Closed (41)

#1094 - [Feature] drag and drop
#3320 - [Feature] Emulate reduced motion media query
#4054 - [REGRESSION]: chromium.connect does not work with vanilla CDP servers anymore
#5189 - [Bug] Codegen generates goto for page click
#4535 - [Feature] page.waitForResponse support for async predicate function
#4704 - [BUG] Unable to upload big file on firefox.
#4752 - [Feature] export the screenshot options type
#5136 - [BUG] Yarn install (yarn 2) does not install chromium from time to time.
#5151 - [Question] Playwright + Firefox: How to disable download prompt and allows it to save by default?
#5446 - [BUG] Use up to date Chromium version in device User-Agents
#5501 - [BUG] Can't run Playwright in Nix
#5510 - [Feature] Improve documentation, document returned type for all methods
#5537 - [BUG] webkit reports incorrect download url
#5542 - [BUG] HTML response is null on requestfinished when opening popup
#5617 - [BUG] [Codegen] Page click recorded as click + goto
#5695 - [BUG] Uploading executable file in firefox browser
#5753 - [Question] - Page.click fails
#5775 - [Question] Firefox Error: NS_BINDING_ABORTED [Question]
#5947 - [Question] about downloads with launchPersistentContext
#5962 - [BUG?] Download promises don't resolve when using Chromium instead of Firefox in headful mode
#6026 - [BUG] Node.js 16 results in DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field with file import
#6137 - Chromium Issue while loading a page
#6239 - [BUG] Blank screenshot saved after test failure in CI
#6240 - [Question] Can't wait for an element to be visible when it is overlapped with other elements in frontend
#6264 - [BUG?] Mouse actions produce different result depending on slowMo setting
#6340 - [Feature] Capture network requests on BrowserContext
#6373 - Stream or capture Video into buffer [Question]
#6390 - [devops] workaround Chromium windows issues with swiftshader
#6403 - [BUG] Chromium - Playwright not intercepting importScripts requests in WebWorker
#6415 - [BUG] Browsers will not start in GitLab pipeline
#6431 - [BUG] Device emulation not working with CLI
#6439 - [BUG] screencast tests fail on Mac10.14
#6447 - [Question] How to use map function in $$
#6453 - [BUG] Firefox / Webkit: Unable to click element in iframe (Frame has been detached)
#6460 - getDisplayMedia in headless
#6469 - [BUG] Screencast & video metabug
#6473 - [Feature] allow custom args for ffmpeg in VideoRecorder.ts
#6477 - [BUG] webkit can disable mouse when evaluating specified JavaScript code
#6480 - [Feature] on('selector' ...
#6483 - [Question] How to set path for local exe?
#6485 - [BUG] Cannot download a file in /tmp/ with a Snap browser

Commits (342)

d22fa86 - devops: update trigger for firefox beta builder
12d8c54 - chore: swap firefox-stable and firefox (#6950)
bd193ca - feat: nicer stub for WebKit on MacOS 10.14 (#6948)
55da16d - Revert "feat: switch to the Firefox Stable equivalent by default (#6926)" (#6947)
a1e8d2d - feat: switch to the Firefox Stable equivalent by default (#6926)
15668f0 - chore: make WebKit @ MacOS 10.14 error more prominent (#6943)
d0eaec3 - chore: clarify that we download Playwright browser builds (#6938)
334096e - docs(pom): fixed JS example which contained TS (#6917)
52878bb - docs: use proper option name for --workers (#6942)
99ec32a - chore: more doc nits (#6937)
8960584 - fix(chromium): drag and drop works in chromium (#6207)
42a9e4a - docs(mobile): make experimental Android support more present (#6932)
8c13f67 - fix(test runner): remove folio/jest namespaces in expect matchers (#6930)
cfd49b5 - feat: support npx playwright install msedge (#6861)
46a0213 - chore: remove internal uses of "folio" (#6931)
b556ee6 - chore: brush up playwright-test types (#6928)
f745bf1 - chore: bring in folio source (#6923)
d4e50be - fix: do not install media pack on non-server windows (#6925)
4b5ad33 - doc: fix first .net script (#6922)
82041b2 - test: roll to [email protected] (#6918)
f441755 - docs(dotnet): add test runner docs (#6919)
69b7346 - fix: various test-related fixes (#6916)
a836466 - fix(tracing): error handling (#6888)
b5ac393 - docs(showcase): fixed typo in showcase.md (#6915)
9ad507d - doc(test): pass through test docs (#6914)
ec2b6a7 - test: add a glob test (#6911)
ff3ad7a - fix(android): to not call Browser.setDownloadBehavior (#6913)
9142d8c - docs: fix that test-runner is not included (#6912)
233f187 - feat(inspector): remove snapshots (#6909)
a96491c - feat(downloads): subscribe to download events in Browser domain instead of Page (#6082)
e37c078 - test(nonStallingRawEvaluateInExistingMainContext): fix broken test (#6908)
21b00d0 - test: roll to [email protected] (#6897)
85786b1 - feat(trace viewer): fix UI issues (#6890)
cfcf6a8 - feat: use WebKit stub on MacOS 10.14 (#6892)
657aa04 - browser(webkit): import <optional> to fix win compilation (#6895)
abc66c6 - docs(api): add missing callback parameter to waitForRequestFinished (#6893)
2663c0b - browser(webkit): import <optional> to fix mac compilation (#6894)
cce62da - browser(webkit): roll to 06/03 (#6889)
fb0004c - feat(webkit): bump to 1492 (#6887)
8a81b11 - devops: replace WebKit for MacOS 10.14 build with a stub (#6886)
401dcfd - chore: do not use a subshell hack when using XVFB (#6884)
f264e85 - chore: bump dependency to fix vu...

Read more

v1.11.1

20 May 21:01
57c3011
Compare
Choose a tag to compare

Highlights

This patch includes bug fixes across all languages for the following issues:

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
Issues Closed (2)

microsoft/playwright-python#679 - can't get browser's context pages after connect_over_cdp
microsoft/playwright-java#432 - [Bug] Videos are not complete when an exception is thrown

Commits (4)

57c3011 - chore: mark v1.11.1 (#6675)
c51bd43 - cherry-pick(release-1.11): fix video saving (#6671)
6f0923b - fix(release-1.11): fix tests after cherry-pick
97aacf3 - cherry-pick(release-1.11): wait for existing pages when connecting (#6619)

v1.11.0

10 May 23:21
f496c65
Compare
Choose a tag to compare

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

  • support for async predicates across the API in methods such as [page.waitForEvent()], [page.waitForRequest()] and others
  • new emulation devices: Galaxy S8, Galaxy S9+, Galaxy Tab S4, Pixel 3, Pixel 4
  • new methods:
    • [page.waitForURL()] to await navigations to URL
    • [video.delete()] and [video.saveAs()] to manage screen recording
    • [electronApplication.browserWindow()] to access browser window
  • new options:
    • screen option in the [browser.newContext()] method to emulate window.screen dimensions
    • position option in [page.check()] and [page.uncheck()] methods
    • trial option to dry-run actions in [page.check()], [page.uncheck()], [page.click()], [page.dblclick()], [page.hover()] and [page.tap()]
    • headers option in [browserType.connect()]
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)

f427d43 - chore: mark v1.11.0
791443d - feat(webkit): roll to r1472 (#6425)
477b93b - feat(firefox-stable): bump to 1245 (#6424)
8737207 - feat(devices): add more Android device descriptions (#6413)
765d749 - chore(ff): remove some dead code (#6423)
9e36f5c - docs(consoleMessage): add missing console message comments (#6320)
90de864 - docs(dotnet): introduce separate csharp viewport option (#6198)
42a5566 - fix(types): fix waitForSelector typing to not union null when appropriate (#6344)
8d66edf - browser(webkit): roll to safari-612.1.13-branch (#6422)
9b8dc4a - browser(webkit): fix Ubuntu18, make vp9 build hermetic (#6421)
47cf9c3 - feat(chromium): bump to r878941 (#6216)
ab850af - fix: support relative downloadsPath directory for downloads (#6402)
5509527 - devops: do a full browser checkout by default on Dev machines (#6411)
ee835fb - fix(webkit): fix screencast compilation on win (#6412)
77c1020 - devops: re-use firefox checkout for firefox-stable (#6410)
5c51961 - browser(firefox-stable): cherry pick recent changes from browser_patches/firefox (#6409)
14ebcfd - docs: update fill/selectOption docs to mention label retargeting (#6406)
fc9454e - browser(webkit): implement screencast (#6404)
86df1df - test: update download test expectations (#6394)
5326f39 - browser(chromium): build 878941 that reverts shader changes (#6407)
1a58281 - browser(firefox): don't record video outside the viewport (#6361)
2945dac - devops: fixed broken GitHub Actions workflow (#6399)
b8eb2b8 - feat(firefox-beta): roll Firefox to beta 89.0b6 (1250) (#6393)
ce7a72b2 - test: disable certain screencast tests on Firefox. (#6396)
4e0e13c - browser(firefox-beta): roll Firefox to beta 89.0b8 - May 2, 2021 (#6397)
4cd5673 - chore: add debugging information on bots to trace unzipping (#6395)
653d483 - docs: add firefox-stable channel documentation (#6328)
fe94dc5 - docs: expose tracing API in java (#6387)
6219042 - fix(webkit): swallow requests from detached frames (#6242)
fd42539 - devops: fix swiftshader on Chromium Windows (#6391)
dddfbaa - chore(dotnet): run dotnet format after generation (#6376)
1a859eb - chore(electron): fix node/browser race conditions, expose browser window asynchronously (#6381)
6da7e70 - chore: regenerate types after non-clean merge Follow-up to #6379
af92565 - Update class-page example code (#6379)
07fb81a - fix(launcher): improve error message for missing channel distribution (#6380)
018f314 - fix(electron): deliver promised _nodeElectronHandle (#6348)
de21a94 - test: roll to [email protected] (#6366)
29164a6 - devops: use Node.js 12 on Windows bots (#6377)
6ce56dd - test(accessibility): remove and update tests for new chromium (#6372)
5e8d9d2 - feat(firefox): roll Firefox to r1248 @ v89.0b2 (#6281)
a59a494 - chore: drop support for Node.js 10 (#6371)
7405655 - docs(cli): add install-deps command and reference to it (#6374)
934bc67 - test(tracing): start adding tracing tests (#6369)
9da718d - docs: change the position argument location in check functions (#6191)
ba652c1 - docs: inline parsing should honor template location (#6289)
bb84539 - chore(dotnet): don't generate setters on interfaces (#6293)
d9015b9 - chore(dotnet): translate Javascript words to csharp (#6321)
dec9736 - docs(page): add missing docs on emulateMedia (#6322)
6c04b82 - browser(firefox-beta): roll @ beta Apr 29, 2021 - v89.0b6 (#6368)
0abcaf0 - browser(webkit): roll to safari-612.1.12-branch (#6367)
b0fae0f - browser(firefox): merge FrameData into Frame (#6365)
1c40c94 - chore: only throw the proxy on launch required on win/CR (#6350)
263a0fd - fix: evaluate in utility for screenshots (#6364)
a456131 - test: set 20 minutes timeout for installation tests (#6363)
11882cd - test: roll to [email protected] (#6262)
2333eb0 - chore: adjust GitHub template envinfo command (#6359)
434f474 - chore(evaluate): implement non-stalling evaluate (#6354)
06a9268 - Reapply #6363 w/ modification--amend
0becd94 - Revert "Revert "fix: break require cycle (#6353)""
17e966b - Revert "fix: break require cycle (#6353)"
0bcfa92 - fix: break require cycle (#6353)
560bea5 - fix: do not close stream until all bytes have been read (#6351)
3b1bfdf - devops(chromium): build a new Chromium 876873 (#6349)
369bd55 - feat(webkit): bump to 1468 (#6345)
1b771ed - docs(python): add Error base class (#6315)
0039b31 - browser(webkit): support downloads larger than 16Kb on Windows (#6343)
3413574 - feat(webkit): bump to 1467 (#6295)
922d9ce - chore(tracing): fix some of the start/stop scenarios (#6337)
abb6145 - docs(keyboard): clarify how page.type works for non-US characters (#6273)
8348085 - browser(webkit): preserve color scheme override after navigation (#6333)
5be005b - Revert "fix: increas recent logs buffer (#6330)" (#6332)
b6b2366 - fix: browser logging (#6331)
3c12602 - fix: increas recent logs buffer (#6330)
a51dc50 - fix(accessibiltiy): ignore new roles that came with new chromium (#6329)
f4b8c3a - browser(firefox): disable proton UI for now (#6327)
2f290cc - fix: fix docs for BrowserType headers (#6314)
ce03310 - docs: add route example with some logic (#6324)
be27f47...

Read more

v1.10.0

24 Mar 21:25
aeaa9fe
Compare
Choose a tag to compare

Highlights

Bundled Browser Versions

  • Chromium 90.0.4430.0
  • Mozilla Firefox 87.0b10
  • WebKit 14.2

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

  • Google Chrome 89
  • Microsoft Edge 89

New APIs

Issues Closed (61)

#742 - [Feature] - Delete a certain cookie instead of clear all cookies
#1063 - [Feature] Improve handling of invalid browser arguments
#1797 - [Feature] Support NodeList and Node[] as return from Page.evaluateHandle(pageFunction[, arg])?
#2089 - [BUG] Text selector doesn't match by combined innerText
#2220 - [Feature] Download progression
#2238 - [Feature] Hide file pickers if they will be emulated
#2308 - [Question] How to handle discarded tabs?
#2747 - [Feature] Highlight element in the browser
#2767 - [Question] Is it possible to define host resolution rules per browser instance?
#2902 - [Feature] Method to wait for event listeners to be attached
#3032 - [Feature] mouse.getPosition()
#3184 - [Feature] Support raw headers
#3265 - [Feature] page.inputValue() that reads from the value property, not the attribute
#3540 - [Feature] Lazy loaded frames API
#3648 - [Feature] Provide command args with Logger logs
#3828 - [Feature] Ability to set device scale factor on an existing page
#3989 - [Feature] Adding support to custom keyboard layout
#4263 - [Question] Video Stream
#4377 - [Feature] Support evaluate() as a content script
#4390 - [Feature] a hook mechanism to augment cross-cutting logic
#4441 - [Feature] extension message passing in non-persistent context
#4507 - [BUG] DeviceDescriptor not exposed
#4543 - [Question] Plans to implement puppetaria (aria/ selector)
#4902 - [BUG] Can't catch firefox error dialog
#5228 - [BUG] launchPersistentContext hanging on "about:blank" [REOPENED]
#5633 - [Question] How to record video / take screenshot with multiple windows
#5634 - [REGRESSION]: Text selector changed behavior
#5636 - [BUG] Playwright install fails on windows 10
#5642 - [Question] How to start webkit with persistent context?
#5648 - [BUG] Error: Duplicate target when trying to connectOverCDP next time
#5649 - [Question] How to disable Debug mode, once I set PWDEBUG in env. variable now it's always running in debug mode
#5684 - [BUG] Firefox is failing while testing.
#5716 - [Feature] make scroll into view optional for page.click()
#5733 - Browser Closed : UnhandledPromiseRejectionWarning (node:1744)
#5735 - [Question] Is there a way to access the payload for a PUT request method?
#5747 - [Question] Mocking the same endpoint multiple times in one test
#5748 - [Feature] Docs update for text= vs :has-text vs :text
#5749 - [BUG] UnhandledPromiseRejectionWarning: browserType.launch: Timeout 30000ms exceeded.
#5752 - CURLOPT_INTERFACE alternative in Playwright browser?
#5767 - [BUG] Error: browserType.launch: Failed to launch chromium because executable doesn't exist at /home/jenkins/.cache/ms-playwright/chromium-844399/chrome-linux/chrome
#5778 - [BUG] Chromium: screenshot is created without scrollbars
#5780 - [Question] Support for CentOS
#5781 - waitForResponse()
#5786 - [Question] How to download Playwright Chromium browsers in local?
#5792 - Cant trace "METHOD: OPTIONS" XHR request
#5793 - [Question] The browser rendering two versions of the same page source code
#5794 - [BUG][Chromium] AudioRtpReceiver::OnSetVolume: No audio channel exists - error with testing microphone in the Twillio video calls
#5795 - [Question]WebKit version
#5797 - [Feature] Option to not remove unused browsers
#5799 - [internal, wip] dependency installation considerations
#5801 - [BUG]browserType.launch: Failed to launch firefox because executable doesn't exist at /root/.cache/ms-playwright/firefox-1234/firefox/firefox
#5802 - [BUG] codegen window fails to appear on window as non admin
#5804 - [Question] Is there a way to emulate cmd+f functionality?
#5809 - [Question]how to use playwright cookies to bypass login
#5818 - [Question] is it not possible to use no proxy with 'per-context' lauched instance?
#5821 - [Feature] Define Page.click options typing
#5822 - Does playwright support waiting for the element invisible?
#5841 - [BUG] Inspector collects signals before action
#5842 - [BUG] When using with Chrome 89, Browser.close won't quit browser in headful mode
#5851 - [BUG] webkit evaluate promise never returns / fails
#5857 - [Question] Docker debian slim image

Commits (187)

a61487f - chore: mark v1.10.0
543582b - chore: expose channel name literals for types (#5922)
f70eaf4 - docs(android): android doc nits (#5924)
8f1d03f - docs(options): clarify recordHarPath and recordVideoDir behavior (#5923)
ca35da0 - test(android): run selected page tests on android (3) (#5910)
3a27bdd - chore(dotnet): improve name generation for objects (#5860)
9f1b2f6 - test(resize): add a screenshot resize test (#5907)
ec6453d - fix: installer compilation (#5908)
172de40 - browser(chromium): build current dev chromium (#5911)
b74af22 - browser(webkit): fix mac compilation after latest roll (#5909)
14ccc80 - fix(android): bundle android driver in all settings (#5883)
cac5aeb - docs(browser): wording nits
1bcbb15 - set system default python3 to python3.8 (#5892)
2064d27 - fix(installer): retain browsers installed via Playwrigth CLI (#5904)
6dd4d75 - browser(webkit): roll to 03-22-21 (#5903)
67c29e8 - chore: add missing await to floating promises (#5813)
be9fa74 - docs(intro): remove stray wait from sync snippet
2372519 - docs: add event listener guide (#5881)
fbb4626 - chore(dotnet): support for optional properties in generated objects (#5889)
1f1c8b7 - test(android): run selected page tests on android (2) (#5882)
ad5c028 - test(android): run selected page tests on android (#5879)
cbebf64 - docs: fix circleci invalid yaml (#5880)
16bf462 - test: organize tests to not depend on context (#5878)
5c753b7 - docs: add the browsers section (#5876)
c68bd31 - test: make init script test strict again (#5877)
c4410d3 - Revert "chore(docs): add support for language specific notes (#5810)"
516f13e - Revert "chore(docs): reference the available constants for csharp (#5785)"
c435ff3 - feat(firefox): roll Firefox to r1238 (#5873)
9a50304 - fix: work-around electron's broken event loop (#5867)
dfb1c99 - chore(docs): reference the available constants for csharp (#5785)
d53cea7 - fix(pageOrError): throw in launchPersistentContext if context page has errors (#5868)
bb21faf - fix: disable firefox's webrender on Darwin (#5870)
9bd35d8 - test: disable shortcuts test on Firefox darwin (#5869)
de16d17 - docs(dotnet): move options arguments last (#5856)
2367039 - chore(stable): throw user-friendly message when ffmpeg is missing (#5865)
141583c - infra(chrome_stable): add more bots (#5863)
84efdfc - chore(autowait): auto-wait for top level navigations only (#5861)
5ae731a - chore(evaluate): respect signals when evaluating on handle (#5847)
7011e57 - chore(evaluate): explicitly annotate methods that wait for signals (#5859)
c550008 - docs(dotnet): adds option parameters for csharp on element handle (#5823)
ae460f0 - devops: start downloading webkit fork on Mac 10.14 (#5837)
693e569 - chore(docs): add support for language specific notes (#5810)
1fab845 - browser(firefox): roll Firefox to beta @ Mar 16, 2021 (#5852)
e8a33c4 - feat(firefox): roll Firefox to r1237 (#5849)
bf36b48 - fix(rimraf): allow 10 retires when removing the profile folder (#5826)
d1a3a5d - chore: cleanup test logging on CI (#5848)
8df4dcb - feat(webkit): bump to 1446 (#5844)
d81ebff - fix(inspector): do not collect action signals while on pause (#5843)
36a61c3 - docs(dotnet): ability to generate generics and null on path args (#5824)
ab4629a - devops: add trigger workflow to deprecated webkit builds (#5836)
8dc7405 - devops: refactor check_cdn.sh script (#5835)
e64f666 - devops: fork webkit into a separate browser (#5834)
5cf1361 - chore: pretty print storage state (#5830)
c2db8da - fix(inspector): await inspector init to avoid races (#5829)
8565e72 - chore: consolidate browser cheatsheets (#5832)
5835c7e - browser(webkit): fix linux builds, install liblcms2-dev (#5831)
095ad63 - chore: update error message when using userDataDir arg (#5814)
ea32ad2 - infra(channel): add edge stable bot (#5825)
95affe9 - chore: do not delete unused browsers when PLAYWRIGHT_SKIP_BROWSER_GC is specified (#5827)
226bee0 - browser(webkit): roll to 03-15-21 (#5828)
defd1a3 - fix(chromium): fix crash if connecting to a browser with a serviceworker (#5803)
1dd6bd3 - infra(channel): wire release channel to all tests (#5820)
a96d6a7 - feat: allow to pick stable channel (#5817)
0d32b05 - chore(deps): bump react-dev-utils from 11.0.3 to 11.0.4 (#5811)
c4578f1 - chore: organize per-browser dependencies (#5787)
a185da9 - chore: allow skipping host requirements validation (#5806)
7fcb892 - fix(firefox): ensure a exception catch when async send call to a dead object; (#5805)
ad69b2a - chore: unify recorder & tracer uis (#5791)
43de259 - fix(xmldocs): over-greedy regex for md links and clean-up (#5798)
6a8c8d9 - docs: fix Dialog class reference (#5788)
720dea4 - docs(dotnet): adding missing methods from dotnet port (#5763)
b01f6ec - test: add a test for css selec...

Read more

v1.9.2

10 Mar 00:32
e42fe21
Compare
Choose a tag to compare

Highlights

Text selector and click() fixes.

Browser Versions

  • Chromium 90.0.4421.0
  • Mozilla Firefox 86.0b10
  • WebKit 14.1
Issues Closed (2)

#5634 - [REGRESSION]: Test selector changed behavior
#5674 - [REGRESSION]: Label is not visible anymore

Commits (18)

e42fe21 - cherry-pick(release-1.9): fix(BrowserContext): race between continue and close (#5771)
11968ce - chore: mark v1.9.2 (#5770)
1dae530 - cherry-pick(release-1.9): fix(click): do not retarget from label to control when clicking (#5769)
ccc89e3 - cherry-pick(release-1.9): fix(text selector): revert quoted match to match by text nodes only (#5766)
3fcc57c - fix: update codegen to produce set* instead of with* (#5738) (#5740)
07438f6 - cherry-pick(release-1.9): rename with* to set* for java (#5739)
097f7c3 - feat(java): implement codegen (#5692)
ab3b8a1 - cherry-pick(release-1.9): launch-server command (#5713) (#5719)
4e317b3 - docs: remove current accessbility api from java (#5708) (#5712)
563254a - docs: add Page.onceDialog for java (#5706) (#5710)
c6a2901 - cherry-pick(release-1.9): fix registry to be accessible by Azure Pipe… (#5704)
f41d000 - docs: enable BowserType.connect in java (#5686) (#5691)
75b83cb - docs: rename Page.console to consoleMessage in java (#5640) (#5671)
1d7d08c - docs: spread parameters of page.setViewportSize in java (#5664) (#5667)
5d275f1 - docs: describe playwright.create in java (#5566) (#5666)
6b4d528 - fix: include parsed .md spec into api.json (#5662) (#5663)
9a4d690 - cherry-pick(release-1.9): add java snippets to the examples in guides (#5638) (#5660)
948e658 - docs: java snippets for api classes (#5629) (#5657)

v1.9.1

25 Feb 15:38
92bbdbe
Compare
Choose a tag to compare

Highlights

Electron types and text selector fixes.

Browser Versions

  • Chromium 90.0.4421.0
  • Mozilla Firefox 86.0b10
  • WebKit 14.1
Issues Closed (3)

#5585 - [REGRESSION][1.9.0]: Cannot find module 'electron' or its corresponding type declarations
#5583 - [REGRESSION]: Selector text="" works differ for element with nested elements since 1.9
#5588 - [BUG][Inspector] Stack won't extracted correctly if browser specific NPM packages are used

Commits (6)

92bbdbe cherry-pick(release-1.9): make quoted selector match by text nodes (#5603) (#5608)
1196ac6 cherry-pick(release-1.9): skip stack trace playwright/src lines only under tests (#5594) (#5599)
9e69146 cherry-pick(release-1.9): stacktrace with browser specific NPM package (#5589) (#5598)
9d8d5c7 chore: mark v1.9.1
c264eb3 cherry-pick(release-1.9): move installation tests out of playwright tree (#5573) (#5578)
f9b5f75 cherry-pick(release-1.9): do not use import('electron') (#5572) (#5576)

v1.9.0

24 Feb 01:22
765f735
Compare
Choose a tag to compare

Highlights

  • Playwright Inspector is a new GUI tool to author and debug your tests.

    • Line-by-line debugging of your Playwright scripts, with play, pause and step-through.
    • Author new scripts by recording user actions.
    • Generate element selectors for your script by hovering over elements.
    • Set the PWDEBUG=1 environment variable to launch the Inspector
  • Pause script execution with await page.pause() in headed mode. Pausing the page launches Playwright Inspector for debugging.

  • New has-text pseudo-class for CSS selectors. :has-text("example") matches any element containing "example" somewhere inside, possibly in a child or a descendant element. See more examples.

  • Page dialogs are now auto-dismissed during execution, unless a listener for dialog event is configured. Learn more about this.

  • Playwright for Python is now stable with an idiomatic snake case API and pre-built Docker image to run tests in CI/CD.

Browser Versions

  • Chromium 90.0.4421.0
  • Mozilla Firefox 86.0b10
  • WebKit 14.1

New APIs

Issues Closed (48)

#3337 - [REGRESSION]: NS_ERROR_FILE_ALREADY_EXISTS with Firefox sporadically
#3697 - [Feature] allow selecting the second (k-th) selector match.
#3866 - [Feature] Driver - allow to install only selected browsers
#4366 - [BUG] Webkit in Docker only scroll once
#5174 - [Feature] codegen: use name to reference iframes
#4485 - [QUESTION] failed to launch chromium error while running npx jest within Dockerfile.bionic
#5186 - [BUG] codegen: race when element changes the selector during the action
#4585 - [Question] Video not being loaded, therefore it can't be played
#4624 - Endless frameattached events [BUG]
#4655 - [BUG] Navigation failed because page crashed! (Javascript tests)
#4660 - Can't find profile directory
#5182 - [BUG] cli/debug: Evaluation failed, This document requires 'TrustedHTML' assignment.
#4750 - integration for the aXe accessibility testing engine [Feature]
#4776 - [Question] MaxListenersExceededWarning: Possible EventEmitter memory leak detected.
#4780 - [BUG] Error: EPERM: operation not permitted, unlink "..../CrashpadMetrics-active.pma"
#4810 - [BUG] Different Chromium -webkit-focus-ring-color for headless/headful
#5190 - [BUG] codegen: do not use select's innerText for selector
#5185 - [BUG] Codegen does not record actions after pressing concrete keys
#4842 - [Question] Can't add 'set-cookie' headers via page.route fulfill?
#4845 - [Feature] ElementHandle.getTagName()
#4851 - [BUG] Navigation failed because page crashed!
#4854 - [Question]How to judge whether an element visble or not?
#4859 - [Question] How to handle dialog box (promptUserAndPass) which shows up when landing on page
#4867 - [Question] Docker Target directory is expected to be absolute / [email protected] does not support relative path
#4892 - [BUG] Links in Docker docs broken
#5184 - [BUG] codegen: The generated code is incomplete in Windows system
#4922 - [BUG] (Browser.newPage): target is undefined
#5193 - [Bug] macOS notarization fails
#4961 - [BUG][Electron] page.waitForSelector : Passed function is not well-serializable!
#4964 - [BUG]WebKit test failed with page.waitForNavigation() method
#4981 - [BUG] launchPersistentContext hanging on "about:blank"
#4984 - [Feature] Support for Raspberry PI
#4996 - [BUG]install python -m playwright install on windows7 Python3.8.7, got this error message:(node:5848) UnhandledPromiseRejectionWarning: Error: connect ETIMEDOUT 13.107.24 6.13:443
#5029 - Header and footer are unusually small
#5034 - [Question] New browser windows are opened instead of tabs on every newPage()
#5051 - [BUG] Browser context is closing too long
#5052 - [Question] Is it possible to scroll element into view until it's visible and can be clicked?
#5058 - [Question] Usage advice for script injection and execution
#5061 - SSO Login Question: (Refer Issue #5053)
#5062 - [Feature]Socket connect timeout should be confiugrable
#5065 - [BUG] Malformed URL leads to UnhandledPromiseRejection
#5066 - [BUG] yarn install results in Error: unexpected end of file during archive extraction (Zlib.zlibOnError)
#5067 - [DEVOPS] automate chromium builds
#5083 - [Feature] elementHandle.$ query in whole page instead of the given element
#5084 - [BUG] Error: Unsupported platform: freebsd
#5085 - [BUG] Fix documentation regarding Java
#5087 - [Feature] Add debug log when calling to waitForResponse/waitForRequest
#5091 - [Question] Download with headless: true works fine , but with headless: false not; plw 1.8.0

Commits (319)

d23129b - chore: mark v1.9.0
096ddab - fix(inspector): hide drawer when recording (#5548)
cadcd53 - docs(why-playwright): fix link to downloads doc (#5505)
75ee727 - docs(api): fix api reference links for textContent (#5498)
74ae013 - test(webkit); enable test to scroll twice (#5550)
4ae4c3c - browser(webkit): fix response.requestHeaders instrumentation in libsoup after latest roll (#5549)
8316f41 - browser(webkit): roll to 02-22 (#5547)
b42c369 - fix(codegen): replace html lib with createElement (#5531)
eb9c8ce - feat(chromium): roll Chromium to Dev @ Feb 19, 2021 (#5536)
c3ee1cf - chore(docs): use shared template for waitFroNavigation.url (#5520)
a891bec - chore: remove //browser_patches/buildbots folder (#5535)
b41a0c2 - feat(webkit): roll WebKit to r1438 (#5540)
6e61cde - test: add test to make sure that 'download' attr is respected (#5538)
65bf44d - docs(inspector): add initial inspector docs (#5541)
791c8da - feat: roll firefox to r1234 (#5539)
6ec77dc - fix(inspector): fix the wait for event error rendering (#5517)
eb3efb3 - fix: do not ship broken symlinks in webkit for mac (#5512)
496aeeb - browser(firefox): follow-up with crash reporter disabling (#5534)
f10d0a8 - devops: do not create non-removable folders on windows (#5533)
1e327d4 - fix(bindings): unflake TestBrowserContextExposeFunction.shouldWork in java (#5532)
600f731 - feat(inspector): render api names from metainfo (#5530)
d6ac3e6 - browser(webkit): honor Set-Cookie header from intercepted requests (mac) (#5529)
058ce60 - docs: combine text sections in selectors doc (#5528)
f154a82 - feat(inspector): send api names along with metainfo (#5518)
46c8c29 - fix(logs): restore pw:browser logs after launch has finished (#5527)
e2a935b - devops: fix nits in browser compilation infrastructure (#5526)
c57f1fc - devops(chromium): missing depot tools in prepare_checkout.sh script (#5525)
57c7a70 - test: mark test as "fixme" on chromium (#5524)
5f9acfa - feat(webkit): bump to 1436 (#5513)
bba9fab - browser(firefox): roll Firefox to beta @ Feb 19, 2021 (#5521)
7ed1d88 - browser(chromium): build Chromium Dev revision (#5522)
6841da1 - docs: always use number for polling option in java (#5519)
cbcc609 - fix: return non-secure cookies with HTTPS URLs (#5507)
a9c91b0 - test: fix test sanitization (#5515)
18ce956 - devops: fix firefox build (#5516)
b2d9af5 - browser(firefox): properly initialize debugging pipe on windows (#5514)
48f7a37 - docs(csharp): trimming to avoid broken refs (#5330)
bb2b296 - feat(inspector): pause on page/context close (#5319)
8a9048c - feat(inspector): selector input (#5502)
a9faa9c - test(webkit): add new scrolling tests to ensure correct webkit behavior (#5496)
846fd71 - browser(webkit): fix scrolling in mobile viewports (#5497)
9b73edf - chore(docs): fix invalid markdown reference (#5479)
15833ee - feat(inspector): render params and durations in log (#5489)
da135c2a - fix(trace viewer): follow up with recent instrumentation changes (#5488)
3248c24 - feat(inspector): collapse completed items (#5484)
dc51536 - feat(waitForResponse): print regex pattern when waiting for request/response (#5485)
8c18b90 - devops: refactor chromium automation scripts (#5486)
b2227c1 - feat(inspector): allow selecting file (#5483)
8f3a6c6 - chore(docs): improve xmldoc inline code parsing (#5480)
cc749fe - fix(android): added recent apps button (#5331)
30e68f6 - chore: simplify code generation (#5466)
b6bd7c0 - feat(chromium): roll Chromium to r851527 (#5434)
7971bb0 - devops: verify clean tree on bots after build (#5354)
f2b25fe - fix: do not rely on $PATH when resolving executables (#5475)
6b40d75 - fix: allow setting input files for detached elements (#5467)
4f1d84d - browser(webkit): respect download attribute (#5474)
d0352cf - feat(firefox): roll Firefox to r1230 (#5473)
027f2ba - devops: enable goma.sh debugging info
822f7cb - browser(firefox): respect Set-Cookie header from fulfilled request (#5456)
9dd443e - chore(docs): add ability to generate xmldocs (#5164)
0c7da44 - test(inspector): add some tests (#5461)
1f3449c - fix(download): do not stall BrowserContext.close waiting for downloads (#5424)
8b9a2af - feat(inspector): render errors (#5459)
ae2ffb3 - feat(inspector): instrument wait for event (#5457)
e7b431d - devops: fix test triggering (#5458)
ecd15e6 - fix(inspector): restore point highlight (#5455)
0782b25 - test: fix recorder downloads test (#5454)
3c87737 - feat: add replay log (#5452)
6326d6f - devops: properly trigger tests on internal test runners (#5453)
291b6d0 - docs: use frameByUrl to find frame by URL (#5451)
529e398 - d...

Read more

v1.8.1

10 Feb 20:28
970e230
Compare
Choose a tag to compare

Highlights

page.reload() and page.isVisible() fixes.

Browser Versions

  • Chromium 90.0.4392.0
  • Mozilla Firefox 85.0b5
  • WebKit 14.1
Issues Closed (1)

#5111 - [BUG] Frames crashes everything

Commits (3)

970e230 - chore: mark 1.8.1
a6f62f1 - fix(isVisible): do not wait for the selector to be resolved
a1c6ab2 - fix(reload): do not throw when reload is racing with navigation

v1.8.0

20 Jan 22:51
0e216bc
Compare
Choose a tag to compare

Highlights

Browser Versions

  • Chromium 90.0.4392.0
  • Mozilla Firefox 85.0b5
  • WebKit 14.1

New APIs

Issues Closed (41)

#2816 - [Feature] Performance measurement
#2877 - [Feature] A special locator to visually locate an element
#4552 - I would like browser logs when my test fails for my failing test
#4424 - [Docs] Clarify distinction between logger option and console logs
#4511 - [REGRESSION]: Memory leak related to route interception
#4549 - playwright.helper.Error: Navigation failed because page crashed!
#4562 - [BUG] Annotate deprecated API methods and properties as such in TS types
#4584 - [BUG] proxies are flaky on webkit + big sur + m1
#4684 - page.url() not getting current url immediately
#4737 - [BUG] page.waitForEvent('dialog') is not working
#4738 - [Question] Running playwright from inside browser.
#4748 - [Internal] Make server error messages consistent and language-agnostic
#4764 - [BUG] [PW 1.7.0] [WebKit] page.waitForSelector: Protocol error (Runtime.evaluate): The page has been closed.
#4774 - [REGRESSION] Custom selectors no longer able to be last in group
#4775 - [Feature] Playwright does not support chromium on mac11.1
#4782 - [Question] Wait for image loaded.
#4788 - [Question]UnhandledPromiseRejectionWarning EVERYTIME
#4789 - [BUG] Firefox does not isolate proxy credentials between contexts
#4799 - [Docs] Broken links on "Running Playwright in Docker" page
#4800 - [BUG] - FileNotFoundError: [Errno 2] No such file or directory:python3.9/site-packages/playwright/driver/playwright-cli'
#4804 - [BUG] waitForSelector doesn't throw
#4805 - [BUG] waitForSelector timeout doesn't apply
#4806 - [Question] Intermittent waitForResponse timeouts when looping
#4808 - [Question] Access browser binaries from node_modules/playwright directory?
#4811 - [BUG]Screenshot quality parameter setting error
#4813 - [BUG] Missing dependencies in Docker image to play video in Webkit.
#4814 - [Question] How does Playwright handle a big list of pages?
#4816 - [Feature] element.isVisible/isClickable/etc
#4818 - [Question] Docs page color is wierd in night mode chrome
#4820 - [BUG] No usable sandbox!
#4822 - [Question] How to disable bringing page to front during launching.
#4823 - [Question] Where can I find default args used by playwright?
#4824 - [Feature] Perform actionability checks manually
#4833 - [BUG] request.postData() output is distorted on webkit
#4847 - [Question] Cannot launch chrome again after close the previous one
#4849 - [Question] page.click() and CSS extension: visible - documentation confusion
#4853 - [Question]How to get the text of an element?
#4856 - [BUG] Possible click element logic issue in combination with detach
#4862 - [Question] How does Playwright communicate with browsers?
#4863 - [Question]Please give an example of Sync dialog, thank you
#4865 - [BUG] Issue with chained selectors -- text selector doesn't work

Commits (193)

f10f170 - docs: add file chooser example, remove links to js samples (#5054)
449bcdc - browser(webkit): roll to 01-19 (#5064)
263f164 - feat(trace viewer): improve source tab (#5038)
c567f94 - chore: mark tot as 1.9.0-next (#5059)
d00c5cf - feat(webkit): bump to 1423 (#5057)
615954b - fix(dom): make selectOption wait for options (#5036)
19acf99 - docs: minor updates to selectors.md (#5055)
0586c25 - feat(text selector): normalize whitespace for quoted match (#5049)
9e3bd78 - docs: update selectors doc to be more like a guide (#5048)
9caa8e8 - test: add test for multiple arguments in :has() (#5047)
01fb3a6 - docs: extract handles, screenshots, videos docs (#5045)
0a7b917 - feat(chromium): bump to 844399 (#5044)
d05c091 - chore: roll chromium to 844399 (#5043)
17e953c - chore: make generate_types not depend on the source (#5040)
1fc02e8 - docs: add dialogs and downloads docs (#5042)
2db02c9 - docs(python): update installation docs (#5039)
fdfea2b - browser(webkit): add another missing include to fix mac after roll to 01-15 (#5037)
afaec55 - feat(trace): show dialogs, navigations and misc events (#5025)
e67d563 - docs: don't use lang suffix in the intro url (#5035)
41e394b - docs: allow overriding return types (#5031)
940cf35 - browser(webkit): add missing include on mac after roll to 01-15 (#5033)
0ab6a53 - browser(webkit): roll to 01-15 (#5032)
6e94c11 - docs: prepare docs for tabbed snippets (#5026)
56ba0b3 - docs: brush up some python docs (#5027)
b45905a - feat(trace viewer): small improvements (#5007)
7701176 - docs: allow lang-specific sh snippets (#5024)
de5d671 - chore: restore lockfile v1 (#5023)
19b58d4 - chore: bump chromium to r843427 (#5022)
e85f278 - docs: more python docs and snippets (#5021)
61b0dbb - devops: start downloading firefox arm builds on Apple Silicon. (#5019)
5dcb7bb - docs: declare expect_navigation as returning Response (#5020)
ff20b9d - devops: support frequent minor releases of MacOS BigSur. (#5016)
1648d23 - docs: add python snippets for api classes (follow up) (#5018)
3ed9f2d - chore: disable v1 flakiness dashboard (#5015)
38dac2f - chore: bump electron version to 11 (#4968)
8354a91 - docs: add python snippets for api classes (#5011)
5408e26 - docs: add python snippets for class Page (#5010)
0a999bf - fix(driver): remove path trickery from install command (#5008)
e3ebba5 - chore: cleanup code that is not used by cli anymore (#5005)
7ff86a8 - chore: add publish-driver-release workflow (#5006)
5c3f483 - fix(cli): do not extend injected script on same-document navigations (#5002)
a35617d - chore: bundle proper license file for ffmpeg (#5004)
9a9ac60 - fix: fix the cli tests, generate snake python (#5003)
decf373 - fix(electron): return a ChromiumBrowserContext for electron (#4913)
df53cb2 - docs: fix inline code quoting (#4992)
fcbfbe6f - devops: fix azure function bugs (#4998)
8316dee - devops(flakiness): persist all test reports, aggregated per commit sha (#4991)
29c3432 - fix(cookies): make filtering by url work with subdomains (#4989)
0bf7477 - test(network): add failing test for Set-Cookie in fulfill (#4988)
cac119f - docs: python api review (#4986)
3d25863 - feat(webkit): bump to 1420 (#4980)
d62b661 - docs: rename proximity selectors to position selectors (#4975)
cb6e4a6 - chore: update snippets in python docs (#4976)
7665a6e - devops: support apple silicon builds of Firefox (#4979)
7251919 - fix(connect): provide an error message when ws endpoint is incorrect (#4978)
068ad0f - feat(firefox): roll Firefox to r1225 (#4908)
728846b - fix(launcher): add vcruntime140_1.dll to the list of known deps (#4973)
36650b1 - browser(webkit): fix compile on mac (#4977)
bf64fed - fix(trace viewer): updating default traceStorageDir value (#4962)
56f0120 - browser(webkit): fix mac compilation after roll to 01-11 (#4972)
62c52e8 - browser(webkit): roll to 01-11 (#4971)
5854cad - browser(webkit): fix typo in macro name (#4970)
7a8214c - chore: prepare non-api docs for non-js variants (#4969)
4dbbb47 - docs: document Python's expect_event methods (#4963)
e67d897 - chore: update docs to cover python specifics (#4960)
e990a80 - fix: restore network request title in trace viewer. (#4957)
5a2cfdb - api: add isChecked method (#4953)
3b617b3 - docs: validate member links (#4955)
b7e0b1b - docs: annotate evaluate(pageFunction) js-specific (#4954)
31d980f - chore(webpack): minify injected sources (#4946)
135e034 - feat(cli): small improvements (#4952)
114d58...

Read more

v1.7.1

22 Dec 18:39
bbb411a
Compare
Choose a tag to compare

Highlights

Selectors and arm64 bugfixes.

Browser Versions

  • Chromium 89.0.4344.0
  • Mozilla Firefox 84.0b9
  • WebKit 14.1
Issues Closed (2)

#4742 - [REGRESSION]: css/xpath selector engines don't work when chained with >>
#4774 - [REGRESSION] Custom selectors no longer able to be last in group

Commits (4)

bbb411a - cherrypick(release-1.7): fix(webkit): properly detect arm64 on apple silicon (#4796)
883ed59 - chore: mark v1.7.1 (#4792)
64c8639 - cherrypick(release-1.7): fix(selector): bring back v1 query logic (#4791)
29568e8 - fix(selectors): text engine after capture matches scope (#4749)