1743 Commits

Author SHA1 Message Date
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
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
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
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
Dmitry Gozman
48317af1cc
feat(trace): preserve noscript when javascript is disabled (#28971)
Closes #27504, closes #27532.
2024-01-12 12:11:39 -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
3ace946fc2
feat(chromium): roll to r1097 (#28949)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-11 14:38:16 +01:00
Yury Semikhatsky
19a4f15eb6
chore: remove redundant checks from network interception (#28922)
We only intercept requests in Playwright so these fields are always
undefined.
2024-01-09 13:35:51 -08:00
Max Schmitt
2ddf3a45f9
chore(firefox): rewrite error message for $HOME directory ownership mismatch (#28921)
Fixes https://github.com/microsoft/playwright/issues/28896
2024-01-09 20:40:39 +01:00
Max Schmitt
feece0f569
fix(deps): check only .dll/.exe files on Windows (#28901)
Fixes https://github.com/microsoft/playwright/issues/28846
2024-01-08 21:53:18 +01:00
Playwright Service
f428f0793f
feat(firefox): roll to r1438 (#28882)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-05 21:11:34 +01:00
Playwright Service
572e656be0
feat(chromium): roll to r1096 (#28878)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-05 13:21:50 +01:00
Max Schmitt
58fa4fce74
fix: use logger in default context with connectOverCDP (#28838)
Fixes https://github.com/microsoft/playwright/issues/28813
2024-01-03 19:49:47 +01:00
Playwright Service
a7c9060731
feat(webkit): roll to r1963 (#28820)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-02 09:37:18 +01:00
Rui Figueira
778828cc43
feat(codegen): add range input recording support (#28767) 2023-12-30 17:22:57 -08:00
Yury Semikhatsky
ff99aa33b0
fix: input events triggered by playwright actions should have composed=true (#28730)
Fixes https://github.com/microsoft/playwright/issues/28726
2023-12-21 15:25:16 -08:00
Max Schmitt
b88b194e9f
feat(run-server): expose --host (#28723) 2023-12-19 23:19:46 +01:00
Yury Semikhatsky
afc1ac7063
fix: errors in evaluate should be JavaScriptErrorInEvaluate (#28706)
Fixes https://github.com/microsoft/playwright/issues/28690
2023-12-19 10:47:43 -08:00
Dmitry Gozman
6b178d22e2
fix: do not produce TargetClosedError: <message> errors (#28704) 2023-12-18 12:34:43 -08:00
Max Schmitt
44c3ad5ceb
chore: make csharp library codegen more csharp like (#28663) 2023-12-15 10:24:26 -08:00
Yury Semikhatsky
d89837c58e
chore: revert noWaitForFinish option, page.close does not wait for ro… (#28658)
…ute handlers

Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 09:00:12 -08:00
Yury Semikhatsky
f8d0204d2f
chore: provide better message for unhandled internal server errors (#28653)
This changes error message from `Error: ` to `Error: Protocol error
(Fetch.continueRequest): Internal server error, session closed.` when
running `npm run ctest -- --repeat-each 100 -x --headed --timeout 3000
--workers 1 library/browsercontext-route.spec.ts:172` prior to
9d91b7caf51003cb5c11ec0cdeb8431ca0411aa9.
2023-12-14 13:49:11 -08:00
Yury Semikhatsky
f28ceffa37
feat: page.unrouteAll and context.unrouteAll (#28635)
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-14 13:48:17 -08:00
Dmitry Gozman
35e8c440c2
fix(dispatchers): separate gc bucket for main frame, increased limit (#28629)
- Keep main frames in a separate bucket, so that page methods that
redirect to the main frame continue to work.
- Increase default dispatchers limit to `10_000`.
- Increase dispatchers limit for `JSHandle`/`ElementHandle` to
`100_000`.

Fixes #28320, #28503.
2023-12-14 10:42:08 -08:00
Playwright Service
d4c66a6295
feat(chromium): roll to r1095 (#28649) 2023-12-14 08:58:59 -08:00
Max Schmitt
9b2585cd4e
fix: 'should collect trace with resources, but no js' test in service mode (#28628) 2023-12-13 11:42:29 -08:00
Yury Semikhatsky
9d91b7caf5
fix(route): silently catch errors when handling route on server (#28612)
This is a follow-up to 119afdf788f4fec0eaae0def91a95aee84971eae Since
continue/fulfill/abort now may throw on the server after page has been
closed, we need to catch the errors manually. On the client it's fixed
by the original change.

This fixes errors in the existing tests:
```
  1) [chromium] › library/browsercontext-route.spec.ts:172:3 › should support Set-Cookie header ────

    Error: 

       at ../packages/playwright-core/src/server/chromium/crConnection.ts:147

      145 |     const id = this._connection._rawSend(this._sessionId, method, params);
      146 |     return new Promise((resolve, reject) => {
    > 147 |       this._callbacks.set(id, { resolve, reject, error: new ProtocolError('error', method) });
          |                                                         ^
      148 |     });
      149 |   }
      150 |

        at /Users/yurys/playwright/packages/playwright-core/src/server/chromium/crConnection.ts:147:57
        at new Promise (<anonymous>)
        at CRSession.send (/Users/yurys/playwright/packages/playwright-core/src/server/chromium/crConnection.ts:146:12)
        at RouteImpl.continue (/Users/yurys/playwright/packages/playwright-core/src/server/chromium/crNetworkManager.ts:566:25)
        at FrameManager.requestStarted (/Users/yurys/playwright/packages/playwright-core/src/server/frames.ts:299:23)
        at CRNetworkManager._onRequest (/Users/yurys/playwright/packages/playwright-core/src/server/chromium/crNetworkManager.ts:314:57)
        at CRNetworkManager._onRequestPaused (/Users/yurys/playwright/packages/playwright-core/src/server/chromium/crNetworkManager.ts:202:12)
        at CRSession.emit (node:events:517:28)
        at /Users/yurys/playwright/packages/playwright-core/src/server/chromium/crConnection.ts:172:14
        at runNextTicks (node:internal/process/task_queues:60:5)
        at processImmediate (node:internal/timers:447:9)
```


![image](https://github.com/microsoft/playwright/assets/9798949/1c436dc2-f113-4ba6-952c-dca5a8c5fa62)

Reference https://github.com/microsoft/playwright/issues/28490
2023-12-13 09:34:20 -08:00
Pavel Feldman
afe90d648e
fix: do not generate api call steps inside named expects (#28609)
Fixes: https://github.com/microsoft/playwright/issues/28528
2023-12-13 09:06:02 -08:00
Yury Semikhatsky
66e056c306
fix: disable PaintHolding to be able to click in oopifs (#28604)
Fixes https://github.com/microsoft/playwright/issues/28023
2023-12-12 12:20:44 -08:00
Pavel Feldman
76ace0fc09
chore: workaround webkit screenshot animation issue (#28582) 2023-12-11 18:20:24 -08:00
Playwright Service
7827838d22
feat(chromium): roll to r1094 (#28560)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-08 14:59:38 -08:00
Andrey Lushnikov
8d3a931377
feat(firefox): roll FF Stable & Beta to 1433 (#28543)
Fixes #28495
2023-12-08 10:48:44 -08:00
Max Schmitt
736c0efd43
chore: use more explicit awaits when returning in client (#28443) 2023-12-07 20:13:35 -08:00
Yury Semikhatsky
119afdf788
fix: throw if fuliflled with unsupported status code (#28539)
If request gets cancelled by the page before we fulfill it, we receive
`loadingFailed` event. In that case we'll ignore interception error if
any, otherwise the error will be propagated to the caller.

Fixes https://github.com/microsoft/playwright/issues/28490
2023-12-07 16:57:39 -08:00
Dmitry Gozman
d587435efa
feat(trace): show target point for raw mouse apis (#28459)
Fixes #27931.
2023-12-07 06:27:49 -08:00
Max Schmitt
2d2c270388
chore: mark outofprocess connection not as remote (#28156) 2023-12-06 17:58:19 -08:00
Playwright Service
4b968412c9
feat(firefox): roll to r1430 (#28489)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-05 13:00:30 -08:00
Max Schmitt
524ed3e269
fix(electron): after v28.0 (#28499)
Fixes https://github.com/microsoft/playwright/issues/28048
Relates https://github.com/electron/electron/issues/40501
2023-12-05 12:46:28 -08:00
Playwright Service
aadc9345fa
feat(webkit): roll to r1951 (#28498)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-12-05 12:28:24 -08:00
Yury Semikhatsky
8f056fbbce
chore: do not wait for route on close if route.continue() threw an error (#28487)
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-05 10:26:17 -08:00
Yury Semikhatsky
74e51d334e
feat: wait for active route handlers on page/context close (#28414)
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-04 16:19:05 -08:00
Yury Semikhatsky
ab68d7b9de
fix(webkit): delay request event until requestIntercepted is received (#28484)
Previously we were wrongly firing `route` event for the request which
are not in fact intercepted (e.g. requests from service worker).

Related https://github.com/microsoft/playwright/pull/28414
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-04 13:02:00 -08:00
Yury Semikhatsky
9a95d9a60c
chore: remove unused request._redirectedFrom (#28485) 2023-12-04 12:38:07 -08:00