Pavel Feldman
74a8e59096
chore: allow recorder rewrite annotations ( #32381 )
2024-08-29 14:16:01 -07:00
Pavel Feldman
ec681ca78c
chore: pass explicit recorder app factory ( #32349 )
2024-08-27 20:24:19 -07:00
Pavel Feldman
0b5456d00b
chore: perform action based on frame path ( #32347 )
2024-08-27 17:17:57 -07:00
Pavel Feldman
a1df11011c
chore: split recorder into files ( #32345 )
2024-08-27 14:10:21 -07:00
Pavel Feldman
6f55b57e5a
chore: move codegen into its own folder ( #32330 )
2024-08-26 15:24:02 -07:00
Pavel Feldman
4340d153df
chore: deprecate locator.frameLocator() ( #32306 )
2024-08-26 10:28:54 -07:00
Pavel Feldman
37eb66df10
chore: extract performAction in recorder ( #32279 )
2024-08-23 10:19:44 -07:00
Dmitry Gozman
f8eef3897c
chore: move urlMatch to isomorphic ( #32142 )
...
To be reused in injected code.
2024-08-13 12:47:02 -07:00
Max Schmitt
0d575b4ef6
chore: less 'as any' in html-reporter ( #32117 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Simon Knott <info@simonknott.de>
2024-08-12 15:17:42 +02:00
Max Schmitt
878a6a499b
chore: prefer executablePath for page.pause() ( #31985 )
...
Motivation: For scenarios where
[`findChromiumChannel`](f17de8222f/packages/playwright-core/src/server/registry/index.ts (L1016) )
throws (no branded browser and no normal browser is installed) we were
[silently
catching](f17de8222f/packages/playwright-core/src/server/recorder.ts (L79) )
when calling `page.pause()`.
This patch does not invoke `findChromiumChannel` when the
inspectedContext is Chromium based and has an `executablePath`
specified.
Note this was already fixed by #6214 , but regressed since then.
Fixes https://github.com/microsoft/playwright/issues/31967
2024-08-02 11:18:51 +02:00
Dmitry Gozman
c906448fe2
fix(recorder): do not ignore signals except for navigation ( #30994 )
...
When a signal arrives late enough, after the last action was committed
in 5 seconds, we should still account for it. This includes downloads,
popups and dialogs, but not navigations.
Exposed by a flaky test "should record open in a new tab with url".
2024-05-23 17:40:39 -07:00
Rui Figueira
cf3ff6531a
chore: make NodeSnapshot type recursive and more ( #30619 )
...
Also, deviceDescriptors are now imported with ESM import instead of require()
2024-05-08 11:08:40 -07:00
Pavel Feldman
96f3d19819
feat(ctrl_or_meta): add a universal ctrl-meta modifier ( #30572 )
...
Fixes https://github.com/microsoft/playwright/issues/12168
2024-04-29 08:15:12 -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
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
Dmitry Gozman
1bb463163b
feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )
...
Fixes #29250 .
2024-03-19 14:01:04 -07: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
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
Max Schmitt
44c3ad5ceb
chore: make csharp library codegen more csharp like ( #28663 )
2023-12-15 10:24:26 -08:00
Yury Semikhatsky
9d91b7caf5
fix(route): silently catch errors when handling route on server ( #28612 )
...
This is a follow-up to 119afdf788 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)
```

Reference https://github.com/microsoft/playwright/issues/28490
2023-12-13 09:34:20 -08:00
Dmitry Gozman
0a052cb4d6
feat(recorder): assert visibility tool ( #28142 )
2023-11-14 12:55:34 -08:00
Dmitry Gozman
16aee8b5d0
fix(codegen): comment-out generated expects for library scripts ( #28118 )
...
- reverts "fix(codegen): generate expect import for library
(https://github.com/microsoft/playwright/pull/28107 )";
- comments-out generated expects.
2023-11-13 16:56:27 -08:00
Dmitry Gozman
36b99c3437
chore(recorder): standby mode, expose setModeRequested in DebugController ( #28117 )
2023-11-13 16:39:14 -08:00
Max Schmitt
8b1c637c16
fix(codegen): generate expect import for library ( #28107 )
2023-11-13 21:54:30 +01:00
Pavel Feldman
b004c1a0a7
chore: rework assert dialog ( #28043 )
2023-11-08 20:09:58 -08:00
Pavel Feldman
061ded19b6
chore: place overlay inside the glass pane ( #28026 )
2023-11-07 19:36:12 -08:00
Pavel Feldman
eeda25c47f
chore(recorder): glue the overlay to the top ( #28021 )
2023-11-07 12:58:41 -08:00
Dmitry Gozman
810382c074
chore(recorder): more UX fixes for text assertions ( #27995 )
2023-11-06 16:40:33 -08:00
Dmitry Gozman
ffd2e02aa3
feat(recorder): various UX fixes ( #27967 )
2023-11-04 21:18:27 -07:00
Dmitry Gozman
07da88dcf1
feat(recorder): generate toHaveValue/toBeEmpty/toBeChecked ( #27913 )
2023-11-01 21:17:25 -07:00
Dmitry Gozman
3dedbced13
feat(recorder): in-page overlay ( #27904 )
2023-11-01 15:56:49 -07:00
Max Schmitt
59b8cf008e
fix(codegen): don't generate page.frame() calls anymore ( #27820 )
...
Fixes https://github.com/microsoft/playwright/issues/27650
2023-10-30 21:56:45 +01:00
Dmitry Gozman
24deac458b
feat(expect): generate toHaveText ( #27824 )
2023-10-26 18:49:14 -07:00
Pavel Feldman
a54dbfdadf
chore: plumb the target close reason when test fails ( #27640 )
2023-10-16 20:32:13 -07:00
Max Schmitt
d79dad09e8
fix(ui-mode/tv): do not open new tab on macOS ( #26877 )
...
Fixes https://github.com/microsoft/playwright/issues/9434
2023-09-06 22:57:29 +02:00
Marcin Strzyz
192b697488
chore: remove old webpack folder structure ( #26560 )
2023-08-19 16:16:44 -07:00
Max Schmitt
1a1ff6c671
chore: move launchApp into separate function ( #26499 )
...
https://github.com/microsoft/playwright/pull/26407#discussion_r1290727547
2023-08-16 18:13:40 +02:00
Dmitry Gozman
14a1eaa474
chore: add Playwright to attribution ( #23447 )
...
This makes it easier to plumb all kinds of options around.
2023-06-01 17:54:43 -07:00
Dmitry Gozman
6bb5c0a549
fix: make evaluate not wait for scheduled navigations ( #23402 )
...
Fixes #23141 .
2023-05-31 14:08:44 -07:00
Pavel Feldman
631edc9744
chore(internal): generate code in jsonl ( #23124 )
2023-05-20 10:15:33 -07:00
Andrey Lushnikov
8bb708be70
test: unflake inspector-cli tests ( #22347 )
...
This patch:
- changes the `childProcess` fixture to reliably SIGKILL all descendants
(children and grand-children, regardless of their process group).
This is achieved using the `ps` command to build the process tree, and
then send
`SIGKILL` to the descendant process groups.
- changes the `runCLI` fixture to **not** auto-close codegen by default;
the `childProcess` fixture will clean up all processes. This makes
sure that all `runCLI.waitFor()` commands actually wait until the
necessary
output.
- for a handful of tests that do actually want to auto-close codegen,
introduce an optional `autoCloseWhen` flag for the `runCLI` fixture
that makes sure to close the codegen once a certain output was reached.
2023-04-12 09:37:24 -07:00
Pavel Feldman
d4e0ef7f1a
chore: explicitly send route's requestUrl for tracing ( #21940 )
2023-03-23 14:57:03 -07:00
Pavel Feldman
543c812d2f
chore(ui): queue watch runs ( #21809 )
2023-03-20 13:45:35 -07:00
Pavel Feldman
f151c45c91
chore: do not pass chromium args when running carlo-alike apps ( #21782 )
2023-03-19 12:04:45 -07:00
Pavel Feldman
cffb6ac269
chore: move sever/isomorphic to utils/ to use it in client ( #21445 )
2023-03-06 18:49:14 -08:00
Dmitry Gozman
d458e84f5b
feat(route): match pattern on the server side ( #20410 )
...
This avoids client-side roundtrip for requests that are not handled by
any route.
Fixes #19607 .
2023-01-27 10:43:19 -08:00
Dmitry Gozman
d294c5da33
chore: roll stable-test-runner to 1.28.1 ( #19310 )
...
This required `allowJs: false` in our `tsconfig.json` due to the
following error:
```
Error: Cannot find module './utilsBundleImpl'
Require stack:
- <playwright>/packages/playwright-core/src/utilsBundle.ts
- <playwright>/packages/playwright-test/lib/reporters/html.js
- <playwright>/tests/playwright-test/reporter-html.spec.ts
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/loader.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/runner.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/playwright-core/lib/cli/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/playwright-core/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/cli.js
at ../../packages/playwright-core/src/utilsBundle.ts:20
18 | import path from 'path';
19 |
> 20 | export const colors: typeof import('../bundles/utils/node_modules/colors/safe') = require('./utilsBundleImpl').colors;
| ^
21 | export const debug: typeof import('../bundles/utils/node_modules/@types/debug') = require('./utilsBundleImpl').debug;
22 | export const getProxyForUrl: typeof import('../bundles/utils/node_modules/@types/proxy-from-env').getProxyForUrl = require('./utilsBundleImpl').getProxyForUrl;
23 | export const HttpsProxyAgent: typeof import('../bundles/utils/node_modules/https-proxy-agent').HttpsProxyAgent = require('./utilsBundleImpl').HttpsProxyAgent;
at Object.<anonymous> (<playwright>/packages/playwright-core/src/utilsBundle.ts:20:83)
at Object.<anonymous> (<playwright>/packages/playwright-test/src/reporters/html.ts:17:1)
```
2022-12-06 15:46:19 -08:00
Dmitry Gozman
0be4fa768a
fix(codegen): do not generate Promise.all ( #19182 )
...
Drive-by: fix `download`, `dialog` and `popup` signals to use different
variable names in all languages.
2022-12-02 17:33:01 -08:00
Pavel Feldman
d5eb74fa5d
chore: allow toggling recorder/traceviewer color modes ( #18718 )
...
Fixes: https://github.com/microsoft/playwright/issues/18700
2022-11-10 17:20:09 -08:00
Pavel Feldman
67c9624924
chore: send structured codegen info to the debug controller ( #18491 )
2022-11-01 18:02:14 -07:00