Playwright Service
80e725b5a3
feat(chromium): roll to r1113 ( #30364 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-13 14:04:30 +02:00
Max Schmitt
a467312731
fix(snapshotter): remove noscript when javaScriptEnabled is undefined ( #30355 )
2024-04-12 20:26:52 +02:00
Max Schmitt
56a7adeb8a
test: unflake 'should not include trace resources from the previous chunks' test ( #30257 )
2024-04-12 19:48:53 +02:00
Max Schmitt
96053ed0b5
Revert "fix(reuse): reset Origin Private File System API ( #29921 )" ( #30342 )
...
This reverts commit 048d6669fd .
This change caused the crash for
https://github.com/microsoft/playwright/issues/30339#issuecomment-2049870789 .
If we don't execute this code, it does not crash.
Reverting it for now until the Chromium fix lands in Beta/Stable.
2024-04-11 19:07:15 +02:00
Max Schmitt
b2ded9fed1
fix(expect): throw better received error when no element was found ( #29890 )
...
Fixes https://github.com/microsoft/playwright/issues/29873
2024-04-10 10:01:19 +02:00
Playwright Service
4d4308e7b3
feat(chromium): roll to r1112 ( #30235 )
2024-04-04 09:25:57 +02:00
Pavel Feldman
8ee286b366
chore: migrate to the testserver.initialize ( #30226 )
2024-04-03 12:50:56 -07:00
Max Schmitt
43745210a5
fix(trace-viewer): exit if given trace.zip does not exist ( #30222 )
2024-04-03 18:47:03 +02:00
Dmitry Gozman
6d56b453ff
fix(connect): include websocket close reason in the error message ( #30203 )
...
When websocket disconnects during `browserType.connect()` call, the
error looks like this now:
```
browserType.connect: Custom error message received over WebSocket
```
Previously, it was a generic error:
```
browserType.connect: Target page, context or browser has been closed
```
2024-04-01 21:05:33 -07:00
Peng Xiao
cc881fdb1f
fix: content editable retarget ( #29792 )
...
If `contenteditable` is wrapped into a button or `[role=button]`,
`element.fill` will incorrectly retarget the closest button element.
fix https://github.com/microsoft/playwright/issues/29813
2024-04-01 13:03:09 -07:00
Andrey Lushnikov
4781b3c3a8
fix(firefox): disable cache when request interception is enabled ( #30113 )
...
Fixes #30000
2024-03-28 10:25:37 -07:00
Playwright Service
ff6bb7546f
feat(chromium): roll to r1111 ( #30164 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 15:20:52 +01:00
Pavel Feldman
d7710f0c3e
chore: do not exit UI mode upon page reload ( #30135 )
2024-03-26 15:49:44 -07:00
Max Schmitt
aeb403f851
feat(webkit): dedicated macOS-14 build ( #30079 )
...
Fixes https://github.com/microsoft/playwright/issues/30070
2024-03-26 23:05:14 +01:00
Yury Semikhatsky
021c5c108c
chore: revert support of duplicate form data fields in multipart post data ( #30127 )
...
We want to adopt FormData API for the requests.
This is a revert of 4b3c596874 and
a849ea9741
Reference https://github.com/microsoft/playwright/issues/28070
2024-03-26 12:36:35 -07:00
Dmitry Gozman
e4403dd6c8
fix(chromium): race between requestPaused and requestWillBeSent in workers ( #30125 )
...
Workers use page's session for `Fetch` domain and worker's session for
`Network` domain. Therefore, `CRNetworkManager` should keep track of the
right session for each domain separately.
This is covered by currently flaky tests:
- `should report and intercept network from nested worker`,
- `should intercept network activity from worker`,
- `should intercept network activity from worker 2`.
2024-03-26 11:11:09 -07:00
Pavel Feldman
2de8a6b002
chore: move filter params into the clearCookies ( #30111 )
2024-03-26 08:12:26 -07:00
Yury Semikhatsky
a849ea9741
feat(fetch): multiple fields with the same name in post data ( #30104 )
...
Rerefence https://github.com/microsoft/playwright/issues/28070
2024-03-25 15:39:45 -07:00
Playwright Service
05cbb14d28
feat(firefox): roll to r1447 ( #30080 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-25 19:48:38 +01:00
Dmitry Gozman
95d649b406
feat: address api review feedback for 1.43 ( #30066 )
...
- Update docs for `trace: retain-on-first-failure`.
- Update docs for `devtools` option.
- Rename `Locator.enterFrame()` to `Locator.contentFrame()`.
- Rename `FrameLocator.exitFrame()` to `FrameLocator.owner()`.
2024-03-25 07:42:13 -07:00
Pavel Feldman
ee9432b9da
chore: send test params over the wire in ui mode ( #30046 )
2024-03-22 13:49:28 -07:00
Dmitry Gozman
c1400a3db5
Revert "feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )" ( #30064 )
...
This reverts commit 1bb463163b . Decided to
wait for a better VRT story.
References #29250 .
2024-03-22 13:26:22 -07:00
Playwright Service
9ce83e10f4
feat(firefox): roll to r1446 ( #30053 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 13:00:38 +01:00
Playwright Service
b834c0b9ed
feat(webkit): roll to r1991 ( #30049 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 13:00:15 +01:00
Max Schmitt
352cb7fa08
feat(browser): roll Chromium to 1110 ( #30039 )
...
Browser roll bot was broken, got fixed by
3d4e0061bc .
2024-03-21 14:26:42 +01:00
Dmitry Gozman
6f360f7207
feat(trace): do not record events that are not used in the viewer ( #30030 )
...
This is especially useful for network events that are already in the
har, but also get into the trace.
2024-03-20 21:01:17 -07:00
Yury Semikhatsky
69e90f38c7
fix(codegen): import re in python ( #30026 )
...
Fixes https://github.com/microsoft/playwright/issues/30019
2024-03-20 16:38:28 -07:00
Pavel Feldman
0a22a86e2e
chore: prepare to reuse test server from ui mode (5) ( #30005 )
2024-03-19 14:08:21 -07:00
Dmitry Gozman
1bb463163b
feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )
...
Fixes #29250 .
2024-03-19 14:01:04 -07:00
Pavel Feldman
54aca430b0
chore: prepare to reuse test server from ui mode (4) ( #29995 )
2024-03-19 13:00:49 -07:00
Pavel Feldman
c7b074d39e
chore: prepare to reuse test server from ui mode (3) ( #29989 )
2024-03-18 17:14:21 -07:00
Dmitry Gozman
70e6cdac57
feat: enterFrame/exitFrame ( #29992 )
...
This introduces `Locator.enterFrame()` and `FrameLocator.exitFrame()` to
convert between locator and frame locator.
Fixes #29336 .
2024-03-18 13:42:08 -07:00
Pavel Feldman
6faadf5160
chore: prepare to reuse test server from ui mode ( #29965 )
2024-03-18 09:50:11 -07:00
Max Schmitt
048d6669fd
fix(reuse): reset Origin Private File System API ( #29921 )
...
Fixes https://github.com/microsoft/playwright/issues/29901
This clears the Origin Private File System API when using VSCode
extension.
2024-03-15 17:40:46 +01:00
Max Schmitt
5bc6ca6345
fix: allow disposing ElementHandles multiple times ( #29953 )
...
Fixes https://github.com/microsoft/playwright/issues/29945
2024-03-15 16:26:56 +01:00
Max Schmitt
7cbef691ae
fix: throw error if setInputFile does not exist ( #29944 )
...
Fixes https://github.com/microsoft/playwright/issues/29941
2024-03-14 20:27:33 +01:00
Max Schmitt
b158e4ef96
fix: postDataJSON without Content-Type header ( #29918 )
...
Regressed after
38fc74db7c .
Test coverage: Some tests were failing on the flakiness dashboard
2024-03-14 16:48:34 +01:00
Karl Horky
914208c567
chore: fix typo in property name ( #29907 )
2024-03-13 12:22:40 +01:00
Dmitry Gozman
349b25e61a
fix(storageState): try to collect storage state on existing pages first ( #29915 )
...
This helps in a case where navigating to an origin fails for some
reason, for example because a registered service worker loads some
content into the supposedly blank page.
Fixes #29402 .
2024-03-12 19:20:35 -07:00
Max Schmitt
38fc74db7c
fix: postDataJSON with application/x-www-form-urlencoded; charset=UTF-8 ( #29889 )
...
Fixes https://github.com/microsoft/playwright/issues/29872
2024-03-12 17:20:39 +01:00
Dmitry Gozman
88e80cf948
chore(test runner): simplify TimeoutManager and TimeoutRunner ( #29863 )
2024-03-11 15:43:50 -07:00
Dmitry Gozman
875ce1cf09
fix(chromium): use blockedReason as failure reason when available ( #29849 )
...
This covers blocked requests, e.g. mixed-content, that receive
`loadingFailed` with empty `errorText`.
Also, forcefully resolve `allHeaders()` in this case, since we know
there will be no actual network headers.
Fixes #29833 .
2024-03-07 14:07:04 -08:00
Dmitry Gozman
5eb8fea616
chore: rewrite worker main through TestInfoImpl._runAsStage ( #29644 )
2024-03-04 19:36:58 -08:00
Rui Figueira
73ffaf65d7
fix(codegen): fill action prevents omnibox navigation recording ( #29790 )
...
This PR is a fix proposal for a bug when trying to record a omnibox
navigation after a recorded action (e.g., `fill`).
The following test, included in this PR, reproduces the problem:
```ts
test('should record omnibox navigations after recordAction', async ({ page, openRecorder, server }) => {
const recorder = await openRecorder();
await recorder.setContentAndWait(`<textarea></textarea>`);
await Promise.all([
recorder.waitForOutput('JavaScript', 'fill'),
page.locator('textarea').fill('Hello world'),
]);
// for performed actions, 5 seconds is the time needed to ensure they are committed
await page.waitForTimeout(5000);
await page.goto(server.PREFIX + `/empty.html`);
await recorder.waitForOutput('JavaScript', `await page.goto('${server.PREFIX}/empty.html');`);
});
```
After performed actions (e.g., `click`), it successfully records the
navigation as long as there's at least a 5 sec. gap between both
actions. That happens because after that 5 sec. interval the performed
action is automatically commited and therefore the navigation is not
stored as a signal of that action.
The proposed fix for recorded actions also forces that action to be
automatically commited after 5 sec (for testing, I'm using 500ms to
speed up the test execution).
2024-03-04 12:31:03 -08:00
Max Schmitt
ef0a24a1b0
chore: remove chromium-with-symbols build ( #29807 )
2024-03-04 20:12:01 +01:00
PaulTriandafilov
8e48ee714d
feat(playwright-core): add remove cookies api ( #29698 )
2024-03-02 07:27:01 -08:00
Dmitry Gozman
a8c26d235c
Revert "chore(role): cache element list by role ( #29130 )" ( #29765 )
...
This reverts commit 1ce3ca25a2 .
Added a regression test.
Fixes #29760 .
2024-03-01 09:37:28 -08:00
Playwright Service
f8e441a521
feat(chromium): roll to r1107 ( #29762 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-01 16:38:09 +01:00
Dmitry Gozman
0f30cdab23
feat(firefox): roll ff and ff-beta to 1442 ( #29751 )
...
This requires changes in `FFPage`.
Also fixing a new ff-specific test that introduced flakiness on the
bots.
Closes https://github.com/microsoft/playwright/pull/29750
Closes https://github.com/microsoft/playwright/pull/29724
Closes https://github.com/microsoft/playwright/pull/29681
Closes https://github.com/microsoft/playwright/pull/29678
2024-02-29 14:44:45 -08:00
Pavel Feldman
d9a00342c8
fix(HEAD): revert GET->HEAD migration, net-effect was negative ( #29738 )
...
Fixes: https://github.com/microsoft/playwright/issues/29732
2024-02-29 09:02:05 -08:00
Dmitry Gozman
aedd7ca0be
chore: make CRNetworkManager handle multiple sessions ( #29721 )
...
It was already handling worker sessions, but not OOPIFs. As a result,
some functionality was properly implemented only for OOPIFs and not for
workers.
This change removes OOPIFs fanout for network-related calls from CRPage
and moves that to the CRNetworkManager, now also covering workers.
2024-02-28 15:51:27 -08:00
Pavel Feldman
8264bec01e
fix(ff): stop gap for setInputFiles race ( #29696 )
2024-02-27 11:50:24 -08:00
Pavel Feldman
9d0430fa26
chore: strengthen linting ( #29669 )
2024-02-26 16:52:28 -08:00
Playwright Service
9a38aedf09
feat(firefox): roll to r1440 ( #29643 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-24 09:19:46 +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
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 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
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 2c3955a28c .
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