Commit graph

2463 commits

Author SHA1 Message Date
Playwright Service 034b550810
feat(firefox-beta): roll to r1440 (#29637)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-23 21:03:38 +01:00
Playwright Service 50e7d8ca7a
feat(chromium-tip-of-tree): roll to r1195 (#29588)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-22 17:28:09 +01:00
Playwright Service 85df43520e
feat(chromium): roll to r1105 (#29613)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-22 17:27:59 +01:00
Playwright Service fde5db4eb8
feat(webkit): roll to r1983 (#29615)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-22 16:56:42 +01:00
Yury Semikhatsky 5ca8e17a2d
fix: resend overridden headers on redirect without merging (#29605)
Reference https://github.com/microsoft/playwright/issues/13106
2024-02-22 07:44:14 -08:00
Playwright Service 7c9ca0c7ef
feat(chromium): roll to r1104 (#29595)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-21 16:25:15 +01:00
dependabot[bot] 6c8d81d957
chore(deps): bump ip from 2.0.0 to 2.0.1 in /packages/playwright-core/bundles/utils (#29583) 2024-02-20 20:36:42 +01:00
Jean-François Greffier 6494bb30a0
JUnit codegen (#29424)
Codegen for JUnit

Fixes https://github.com/microsoft/playwright-java/issues/1039

Following JUnit5 integration
https://github.com/microsoft/playwright-java/issues/1369
2024-02-20 11:08:53 -08:00
Pavel Feldman d573c515a3
chore: add test server stub (#29568) 2024-02-20 09:56:33 -08:00
Max Schmitt 84fefdaac6
fix(console-api): locator filter with hasText (#29563)
Relates https://github.com/microsoft/playwright/issues/29546
2024-02-20 17:35:11 +01:00
Playwright Service 023ef97c49
feat(webkit): roll to r1982 (#29570)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-02-20 09:24:50 +01:00
Playwright Service e06f7a881d
feat(webkit): roll to r1981 (#29567)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-19 23:06:00 +01:00
Playwright Service ce8cda006e
feat(webkit): roll to r1980 (#29540)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-19 09:31:03 +01:00
Yury Semikhatsky f3fde992eb
chore: remove --project-grep, add wildcard support (#29537)
Reference #15128
2024-02-16 19:18:00 -08:00
Pavel Feldman 043c5aaffb
chore: follow up to web socket util extraction (#29536) 2024-02-16 18:16:45 -08:00
Sylvain Finot b11b118e02
feat(chromium): expose parameters to generate outline / tagged PDF (#29494)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-02-15 17:28:04 +01:00
Playwright Service a3d62acbdd
feat(chromium): roll to r1103 (#29506)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-15 17:03:00 +01:00
Playwright Service 2be5e97a29
feat(chromium-tip-of-tree): roll to r1194 (#29507)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-15 17:02:47 +01:00
Max Schmitt ce5d970929
docs: make sure to await route.* methods (#29489)
Fixes https://github.com/microsoft/playwright/issues/29471
Follow-up on https://github.com/microsoft/playwright/pull/28745.
2024-02-14 17:57:12 +01:00
Playwright Service 593bf35eb7
feat(webkit): roll to r1979 (#29493)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-14 16:10:57 +01:00
Yury Semikhatsky 2693614c7a
Revert "fix(chromium): best effort 304 status on reload (#29373)" (#29481)
This reverts commit 17bc8f9a15.

Reference https://github.com/microsoft/playwright/issues/28779
Fixes https://github.com/microsoft/playwright/issues/29441
2024-02-13 11:43:04 -08:00
Playwright Service ff4191335d
feat(chromium-tip-of-tree): roll to r1193 (#29473)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-13 14:55:03 +01:00
Max Schmitt 30557ed28c
fix(electron): stalling on delayed process close (#29431) 2024-02-13 10:25:46 +01:00
Max Schmitt fe81790221
fix(accessibility): firefox with aria-invalid element (#29462)
Fixes https://github.com/microsoft/playwright/issues/29459
2024-02-12 12:12:31 -08:00
Max Schmitt 498b8bb269
fix(tracing): do not serialise out-of-process Buffers (#29425) 2024-02-12 21:03:38 +01:00
Dmitry Gozman f0244b8a76
chore: rename handleLocator to addLocatorHandler (#29443) 2024-02-09 15:18:50 -08:00
Playwright Service 32a1d49729
feat(webkit): roll to r1978 (#29421)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-08 19:19:30 +01:00
Dmitry Gozman 61955e55b1
fix(handleLocator): address API review feedback (#29412)
- docs improvements;
- `force: true` ignores `handleLocator`;
- wrapping an internal call;
- more test cases;
- `pw:api` log entries for this API.
2024-02-08 07:39:05 -08:00
Playwright Service a131843c59
feat(chromium-tip-of-tree): roll to r1192 (#29416)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-08 15:41:53 +01:00
Playwright Service 03659e1d2d
feat(chromium): roll to r1102 (#29415)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-08 14:00:50 +01:00
Dmitry Gozman 3abd7c808e
fix(connectOverCDP): send custom headers in /json/version request (#29408)
Fixes #29403.
2024-02-07 17:41:21 -08:00
Dmitry Gozman 6b37a706db
chore(codegen): disable multiple locators choice in UI (#29409)
This feature needs more polish to be released.
2024-02-07 17:08:04 -08:00
Playwright Service 58f580dbde
feat(chromium-tip-of-tree): roll to r1191 (#29401)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-07 19:28:54 +01:00
Yury Semikhatsky 721d84f17a
fix(har): do not throw on -1 status code (#29371)
Fixes https://github.com/microsoft/playwright/issues/29311
2024-02-06 10:17:29 -08:00
Playwright Service cfefac74ab
feat(webkit): roll to r1977 (#29377) 2024-02-06 09:18:46 +01:00
Pavel Feldman 20699c36ba
chore: simplify types handling in toHaveScreenshot (#29374) 2024-02-05 19:07:30 -08:00
Yury Semikhatsky 17bc8f9a15
fix(chromium): best effort 304 status on reload (#29373)
Reference https://github.com/microsoft/playwright/issues/28779
2024-02-05 16:56:42 -08:00
Max Schmitt 47f8ba2a04
feat(electron): expose ElectronApplication console events (#29322)
Fixes https://github.com/microsoft/playwright/issues/5905
2024-02-05 21:30:54 +01:00
Yury Semikhatsky 79e379fc11
chore: do not set metadata.error for expect failure results (#29310)
The metadata.error change was brought back in
https://github.com/microsoft/playwright/pull/29271and it broke java port
as we could have error and result set simulteniously. This PR moves the
logic to the trace recorder instead and keeps the protocol contract
clear that either error or result is present, but not both.
2024-02-02 16:41:08 -08:00
Playwright Service 9e383c8b19
feat(webkit): roll to r1976 (#29326)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-02 18:26:51 +01:00
Playwright Service ab95aabec5
feat(webkit): roll to r1975 (#29320)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-02-02 16:00:51 +01:00
Playwright Service 9ed344a765
feat(webkit): roll to r1974 (#29319)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-02 16:00:14 +01:00
Rui Figueira b88a008a87
feat(codegen): slider support (#29087) 2024-02-01 13:45:19 -08:00
Playwright Service 80189c9daf
feat(chromium-tip-of-tree): roll to r1190 (#29291)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-01 14:42:55 +01:00
Playwright Service b32a539470
feat(chromium): roll to r1101 (#29290)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-01 14:23:40 +01:00
Dmitry Gozman 7cb886ce07
fix(codegen): refresh overlay listeners upon documentElement change (#29277)
This is similar to other listeners that we refresh upon
`onGlobalListenersRemoved`. Covered by sometimes flaky codegen tests.
2024-01-31 17:08:15 -08:00
Playwright Service ad0be80717
feat(webkit): roll to r1973 (#29274)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-02-01 00:31:13 +01:00
Max Schmitt 622153db18
Revert "chore: remove fake error from expect calls (#28112)" (#29271)
This reverts commit 2c3955a28c.

Relates https://github.com/microsoft/playwright-python/issues/2258
2024-01-31 23:43:37 +01:00
Playwright Service 15a20259b9
feat(webkit): roll to r1972 (#29269)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-31 23:43:26 +01:00
Pavel Feldman aff6cf3c83
chore: extract ws server util (#29247) 2024-01-30 14:36:51 -08:00
Dmitry Gozman aeafd44726
chore: strip Authorization header on ws redirect (#29246) 2024-01-30 14:26:25 -08:00
Playwright Service 4c0db7ba78
feat(firefox-beta): roll to r1439 (#29243)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-30 19:44:36 +01:00
Playwright Service 7b440d48f7
feat(chromium-tip-of-tree): roll to r1189 (#29244)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-30 19:43:44 +01:00
Playwright Service 082d4d5552
feat(firefox): roll to r1439 (#29242)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-30 19:05:18 +01:00
Yury Semikhatsky 13550b7329
fix: add new line before sourceURL (#29199)
Reference https://github.com/microsoft/playwright/issues/29116
2024-01-29 15:00:42 -08:00
Yury Semikhatsky ad6e40538a
fix(electron): make sure user arguments go first (#29204) 2024-01-29 15:00:12 -08:00
Pavel Feldman c85308d717
chore: remove deprecated debug controller events (#29203) 2024-01-29 14:58:29 -08:00
Bruno Mańczak 3e2d5b2800
docs: add an example of how to use "+" key as part of a shortcut (#29221) 2024-01-29 14:57:10 -08:00
Max Schmitt 4df4054f19
feat(driver): add option to strip out lone surrogates (#29179)
https://github.com/microsoft/playwright-dotnet/issues/2819
2024-01-29 22:14:55 +01:00
Dmitry Gozman acc72c2663
fix(codegen): assertValue works with disabled input (#29205)
Also add tests for new codegen functionality.

Fixes #29161.
2024-01-27 14:54:22 -08:00
Yury Semikhatsky 82981a8091
fix: interception id not found error in route.continue (#29180)
We stopped catching all exceptions in
https://github.com/microsoft/playwright/pull/28539 in hope that we'll
get loadingFailed even before Fetch.continue/fulfill command's error.
Turns out this is racy and may fail if the test cancels the request
while we are continuing it. The following test could in theory reproduce
it if stars align and the timing is good:

```js
it('page.continue on canceled request', async ({ page }) => {
  let resolveRoute;
  const routePromise = new Promise<Route>(f => resolveRoute = f);
  await page.route('http://test.com/x', resolveRoute);

  const evalPromise = page.evaluate(async () => {
    const abortController = new AbortController();
    (window as any).abortController = abortController;
    return fetch('http://test.com/x', { signal: abortController.signal }).catch(e => 'cancelled');
  });
  const route = await routePromise;
  void page.evaluate(() => (window as any).abortController.abort());
  await new Promise(f => setTimeout(f, 10));
  await route.continue();
  const req = await evalPromise;
  expect(req).toBe('cancelled');
});
```

Fixes https://github.com/microsoft/playwright/issues/29123
2024-01-25 16:54:42 -08:00
Max Schmitt 4c4789c740
chore: validate deps during install (#28932)
Motivation: On Windows we call around 50 times `PrintDeps.exe` which
takes on a very fast machine 500+ms. On Linux we do it around 120 times
(`ldd`) which takes around 150ms.

This change validates the dependencies once on browser install (`npx
playwright install`). In case its failing, it will emit a warning, in
case of a success, it will create a marker file that the binary has been
validated. For future `launch()` calls, we'll read this file and if
exists, we'll not validate again. Otherwise we'll validate again.

Note: If the marker file is older than 30 days, the browser will be
validated again.
2024-01-25 20:55:53 +01:00
Pavel Feldman 6a14b1dc51
chore: automatically detect the dev server (#29176) 2024-01-25 11:46:47 -08:00
Pavel Feldman f7fb1e4d4e
chore(ct): use sticky test server if available (#29136) 2024-01-25 08:36:13 -08:00
Dmitry Gozman f5de6e5538
feat(codegen): generate multiple selectors to choose from (#29154)
When possible, "pick locator" generates:
- default locator;
- locator without any text;
- locator without css `#id`.

Fixes #27875, fixes #5178.
2024-01-25 07:35:58 -08:00
Dmitry Gozman bc83d7084c
fix(chromium): emulate navigator.userAgentData along with UA (#29159)
Fixes #28989, fixes #29139.
2024-01-25 07:34:11 -08:00
Playwright Service 129f5bfdbe
feat(chromium): roll to r1100 (#29167)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-25 15:24:49 +01:00
Playwright Service 6a04ed6a1e
feat(chromium-tip-of-tree): roll to r1188 (#29169)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-25 15:24:33 +01:00
Playwright Service 86c881f206
feat(chromium-tip-of-tree): roll to r1187 (#29153)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-24 18:36:00 +01:00
Max Schmitt ba8d141de8
chore: drop Ubuntu 18.04 (#29145)
This will now yield:

```
root@a85fb37f0c96:/work# npx playwright install
Failed to install browsers
Error: ERROR: Playwright does not support chromium on ubuntu18.04-x64
```

On Ubuntu 18.04.
2024-01-24 17:46:20 +01:00
Pavel Feldman cec2ff1772
chore: split cli processing into cli endpoint and program (#29131) 2024-01-23 15:22:09 -08:00
Dmitry Gozman 1ce3ca25a2
chore(role): cache element list by role (#29130) 2024-01-23 13:45:26 -08:00
Dmitry Gozman 8e607d509f
fix(recorder): disallow external imports (#29129)
Previously, new `Recorder` instance was given an existing
`InjectedScript`. However, we built a separate source for
`InjectedScript` vs `Recorder`, and both bundles contain their own copy
of all helper modules, e.g. `roleUtils`.

This resulted in two copies of helper modules, which is troublesome for
any module-level globals like a top-level cache. Depending on whether
`Recorder` or `InjectedScript` called into the helper, they would access
the different value of a module global, which lead to bugs.

To prevent this, we force any external dependencies to be imported
through the `InjectedScript.utils`.
2024-01-23 11:29:40 -08:00
Dmitry Gozman 5bc5056a1f
chore(role): cache pseudo content calculation (#29115) 2024-01-23 10:09:23 -08:00
Max Schmitt d89ed88679
docs: do not recommend PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD anymore (#29121) 2024-01-23 09:12:47 -08:00
Playwright Service 3e2d7fe7e7
feat(chromium): roll to r1099 (#29120)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-23 13:34:59 +01:00
Dmitry Gozman 9b974e0026
chore: speedup frequent element text normalization (#29113)
We cache `ElementText` for frequent operations, but then call
`normalizeWhitespace` on it every time which burns a lot of CPU.
2024-01-22 21:33:56 -08:00
Yury Semikhatsky b2de9bc865
fix: mock safari.pushNotification (#29107)
Fixes https://github.com/microsoft/playwright/issues/29032
2024-01-22 15:44:13 -08:00
Playwright Service 4e877f270d
feat(webkit): roll to r1970 (#29103)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-22 19:22:11 +01:00
Max Schmitt c3566d259f
chore: better error messages when stable channel installations fail on Windows (#29077)
https://github.com/microsoft/playwright/issues/29004
2024-01-22 18:15:35 +01:00
Dmitry Gozman f3fac6f4e9
feat: page.handleLocator that closes any interstitial pages/dialogs (#29029) 2024-01-19 12:35:00 -08:00
Max Schmitt e551506c9e
Revert "feat(codegen): add range input recording support (#28767)" (#29069) 2024-01-19 19:47:59 +01:00
Playwright Service 057b0dd0ab
feat(firefox-beta): roll to r1438 (#29063)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-19 13:27:53 +01:00
Max Schmitt 4a45724633
fix: open 0.0.0.0 as localhost (#29054)
Fixes https://github.com/microsoft/playwright/issues/29047
2024-01-18 22:21:49 +01:00
Playwright Service 84cf633c92
feat(chromium-tip-of-tree): roll to r1186 (#29044)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-18 21:24:28 +01:00
Playwright Service 7d7198c055
feat(webkit): roll to r1969 (#29050)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-18 11:36:43 -08:00
Pavel Feldman 03815b9eb1
chore: migrate to Node 18 lockFileVersion 3 (#29051) 2024-01-18 11:33:23 -08:00
Dmitry Gozman e6d51cf7bd
chore: refactor actionability check to go through node-side retry (#28982)
This allows to inject a checkpoint in between the actionability checks.

Drive-by: cleanup `InjectedScriptPoll`-related code.
2024-01-16 19:11:41 -08:00
Dmitry Gozman d023829dd5
fix(locator parser): allow escaped quotes in the digest function (#29012)
This supports mixed quotes locators in JavaScript where we are not sure
what quote is the correct one, so we normalize to unescaped single quote
when comparing with the original.

Drive-by: we were allowing single quotes in Python, Java and .NET, but
these are actually not allowed.

Regressed in #27718.
Fixes #28630.
2024-01-16 16:06:02 -08:00
Dmitry Gozman 9b657b54fb
fix(launcher): unregister global process handlers when all browser are closed (#29011)
Otherwise, we forever block SIGTERM and SIGHUP by registering a handler
that does not do anything (due to no browsers to close) and prevents
default handler that exits from running.

Fixes #28091.
2024-01-16 14:41:26 -08:00
Dmitry Gozman 775ef30e43
fix(test runner): make TestCase.id not depend on the path separator (#29010)
Fixes #28991.
2024-01-16 13:32:47 -08:00
Playwright Service ab7d1b5e53
feat(webkit): roll to r1968 (#29009)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-16 20:26:36 +01:00
Playwright Service 25ec071277
feat(chromium-tip-of-tree): roll to r1185 (#29003)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-16 17:35:21 +01:00
Max Schmitt f2ebc53f18
chore: mark version 1.42.0-next (#28973) 2024-01-13 00:20:27 +01:00
Dmitry Gozman 48317af1cc
feat(trace): preserve noscript when javascript is disabled (#28971)
Closes #27504, closes #27532.
2024-01-12 12:11:39 -08:00
Dmitry Gozman 90665ef056
docs: update auto-waiting doc (#28960)
- Replace action names with links to `Locator.click`.
- Remove "Attached" check in favor of "locator resolves to a single
element".
- Replace getter methods in assertion section with auto-retriying
assertions.
- Add missing actions.

---

<img width="837" alt="Screenshot 2024-01-11 at 1 02 34 PM"
src="https://github.com/microsoft/playwright/assets/9881434/1946678d-6a7e-45cf-a299-2f18cb3fb5a5">
2024-01-12 09:33:42 -08:00
Max Schmitt 808359ba6c
fix(driver): add external commands only for JS binding (#28968)
Motivation: Before this change if a language binding invoked the CLI
with `--help` or without any arguments (which will also show the help
text) it was suggesting that test/merge-reports/show-report is something
we support. After this change this does not get shown anymore.
2024-01-12 18:26:00 +01:00
Yury Semikhatsky 8936885a67
fix(chromium): preserve header overrides in redirects (#28962)
Reference https://github.com/microsoft/playwright/issues/28758
2024-01-12 08:55:20 -08:00
Playwright Service 69c9e985bf
feat(webkit): roll to r1967 (#28952)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-12 15:01:47 +01:00
Playwright Service 229ec522ac
feat(chromium-tip-of-tree): roll to r1184 (#28950)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-11 14:38:26 +01:00