1743 Commits

Author SHA1 Message Date
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
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
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
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
Yury Semikhatsky
2693614c7a
Revert "fix(chromium): best effort 304 status on reload (#29373)" (#29481)
This reverts commit 17bc8f9a15b56bb59adec925ed503d2f109a7be3.

Reference https://github.com/microsoft/playwright/issues/28779
Fixes https://github.com/microsoft/playwright/issues/29441
2024-02-13 11:43:04 -08: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
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
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
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
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
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
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
Max Schmitt
622153db18
Revert "chore: remove fake error from expect calls (#28112)" (#29271)
This reverts commit 2c3955a28c2af6b97a430dfc97fe756d40fcfbda.

Relates https://github.com/microsoft/playwright-python/issues/2258
2024-01-31 23:43:37 +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
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
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
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
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