Please backport client side changes: - [x] https://github.com/microsoft/playwright/commit/622c73cc1e677834ebdc27e95c89ff101bdccf54 (feat: expect(locator).toHaveAttribute to assert attribute presence (#16767)) - [x] https://github.com/microsoft/playwright/commit/a07a4a25a26e2fa6a976fb2ff174f25b24414da6 (chore: make parent scope explicit (#16819)) - [x] https://github.com/microsoft/playwright/commit/f30ac1d67827fbcf3f8be7a851ef81b761842c52 (fix: support toHaveAttribute(name, options) (#16941)) - [x] https://github.com/microsoft/playwright/commit/306ab34aa3bcdfbb2369e1c698a161565bacc275 (feat(assertions): support toBeEnabled({ enabled }) (#17058)) - [x] https://github.com/microsoft/playwright/commit/f0c581060959bf680d2165f38e29743388d03b21 (feat(assertions): support toBeEditable({ editable }) (#17065)) - [x] https://github.com/microsoft/playwright/commit/bca13bc35aead0122b0609ea18a0769864616c29 (feat(assertions): support toBeVisible({ visible }) (#17207)) - [x] https://github.com/microsoft/playwright/commit/17b203affbc373fd5c7d8e643285e1262350cc67 (feat: added follow and redirect arguments to fetch (#17033)) - [x] https://github.com/microsoft/playwright/commit/c91df61ca33c133046425d40b45dfc25ec331673 (chore: optionally connect instead of launching (#17174)) - [x] https://github.com/microsoft/playwright/commit/8d639ae50e123296fb7ec737d5e1104a5ffb9ec1 (chore: revert toHaveAttribute type sig and overloads (#17406)) - [x] unskip wk by searching for https://bugs.webkit.org/show_bug.cgi?id=225281 - [x] https://github.com/microsoft/playwright/commit/43304e980d1164c55cca8b871fd76546a133013e (feat: show browser.close() stack in "Browser has been closed" error (#17376)) - [x] https://github.com/microsoft/playwright/commit/df143031e7eac11460bcd658dc3bb5a8951ccd64 (chore: move protocol and trace types into the top-level packages (#17486)) - [x] https://github.com/microsoft/playwright/commit/f5d708981957a6f63b6bad17405bfb5cb7eb285b (fix: accept post data params for request.get and request.head (#17566)) - [x] https://github.com/microsoft/playwright/commit/72a24973f3246c952de918f607ca370443f8d4c3 (fix: ignore timing data when request served from memory cache (#17595)) - [x] https://github.com/microsoft/playwright/commit/06e73b414f118af2070f978e394c3ad8a2109f49 (chore: move connect utility into localUtils (#17590)) - [x] https://github.com/microsoft/playwright/commit/d9a28bd2442fdf7c4d46fa07778241851fb53b9c (feat(api): introduce get/getByText/getByRole (#17577)) - [x] https://github.com/microsoft/playwright/commit/d8f67eb75dab132a3b487b10c2451574515b17a5 (feat(api): introduce getByTestId (#17645)) - [x] https://github.com/microsoft/playwright/commit/2a85806cc0a903f676036af7f5fab603ac45205e (chore: follow up to getTestById, escape it (#17650)) - [x] https://github.com/microsoft/playwright/commit/e3a2316013eb8959e3d83ecebd77dea48410c6f5 (feat(api): add getByLabelText (#17684)) - [x] https://github.com/microsoft/playwright/commit/b4ee84fb0c40c2e4ee0c75062f2d3134fbb5698b (chore(api): remove locator.get() (#17709)) - [x] https://github.com/microsoft/playwright/commit/083fb4401c4db6dd97cfcf48e238cbba167701ca (feat(api): add getByPlaceholderText (#17722)) - [x] https://github.com/microsoft/playwright/commit/bfb8a43ece9b5d96e9e0a74a5c7d4f37d38211fe (feat(api): all getByTitle, getByAltText (#17724)) - [x] https://github.com/microsoft/playwright/commit/8810b55504f768c244d2ca1ecb8e5352d00069e5 (feat(api): shorted getByLabel, getByPlaceholder (#17816)) - [x] https://github.com/microsoft/playwright/commit/a9c02b975365a1b4e7d15cce5e6136ce42bf24e9 (fix(locators): properly escape various locator methods (#17798)) - [x] https://github.com/microsoft/playwright/commit/2bcd9ce9ae8eabf25356dfa8f367a68bb6b1e51c (chore: internal selectors (#17827)) - [x] https://github.com/microsoft/playwright/commit/ff15fcf91189ea91b4557bbee03bca89cb9fc3fe (chore: hide selector factories (#17844)) - [x] https://github.com/microsoft/playwright/commit/8b018f6b4154782f7dc525e3df94d7374b001880 (chore: make role name case-insensitive (#17888)) - [x] https://github.com/microsoft/playwright/commit/1b5c2f9aba2221157a572e53c2b2d12181f06dfe (fix(trace): show waitForLoadState when event has already fired (#17826)) - [x] https://github.com/microsoft/playwright/commit/64e80f0460d1f4d000d5f9ed7018ea0a8c329a77 (chore: beautify error message (#18002)) - [x] https://github.com/microsoft/playwright/commit/304a4ee8ec81ec5b80e28ffefa74f60453a02959 (chore: migrate to the internal:text selector (#18135)) - [x] https://github.com/microsoft/playwright/commit/84daeafb3a850233504bf716b469c9bc636a87e6 (chore: use internal locator for role (#18187)) - [x] https://github.com/microsoft/playwright/commit/48c44f2c787221523badd666ba25162dc17da4fc (fix(selectors): hasText and getByText exact match should consider full text (#18260)) - [x] https://github.com/microsoft/playwright/commit/d3948d1308b39406dd2da561da18251ff5369b42 (chore: enable debug controller testing (#18270)) - [x] https://github.com/microsoft/playwright/commit/805312b7227b10b1bff9cdda9fe4c421fef3b182 (feat(android): add Android.{launchServer,connect} (#18263)) - [x] https://github.com/microsoft/playwright/commit/329b3eadb4f5a73b8a663a1f41a5302aebb0bff1 (feat: locator.blur() (#18303)) - [x] https://github.com/microsoft/playwright/commit/0fe1998c72d57d77551abc472ab7ece3d1a98c90 (feat(api): add clear() (#18296)) - [x] https://github.com/microsoft/playwright/commit/e25537f94193fe74174698f65b66d3bf3586f41d (feat(android): add AndroidDevice.close event (#18306)) - [x] https://github.com/microsoft/playwright/commit/a7f5f2d7a1dcc231aeb328fb068fb4ce68dc000d (chore: allow not overriding media when creating context (#18413)) - [x] https://github.com/microsoft/playwright/commit/8538f61a72a53c672231cbddc3cbdd3ab248535a (feat(containers): implement global network tethering for playwright server (#17719))
Please backport client side changes: