Dmitry Gozman
1bb463163b
feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )
...
Fixes #29250 .
2024-03-19 14:01:04 -07: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
Pavel Feldman
9d0430fa26
chore: strengthen linting ( #29669 )
2024-02-26 16:52:28 -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
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
Rui Figueira
b88a008a87
feat(codegen): slider support ( #29087 )
2024-02-01 13:45:19 -08: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
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
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
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
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
Max Schmitt
e551506c9e
Revert "feat(codegen): add range input recording support ( #28767 )" ( #29069 )
2024-01-19 19:47:59 +01: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
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
Pavel Feldman
0a7a10d0f6
feat(vrt): allow providing screenshot style ( #28229 )
2023-11-30 17:42:45 -08:00
Dmitry Gozman
61c089fcbd
feat(recorder): UX updates for assertion tools ( #28198 )
...
- No locator editor.
- No value editor for `toHaveValue`.
- Visual feedback for `toBeVisible`/`toHaveValue`.
- UI tweaks.
2023-11-16 13:19:36 -08:00
Max Schmitt
80bab8afae
fix(electron/android): re-add Element.prototype.checkVisibility check ( #28173 )
...
Regressed in https://github.com/microsoft/playwright/pull/28148 .
2023-11-15 15:10:13 -08:00
Playwright Service
bb241abaff
feat(webkit): roll to r1944 ( #28148 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-11-15 19:34:53 +01:00
Dmitry Gozman
557f3afd74
feat(recorder): assert value as a separate tool ( #28145 )
2023-11-14 15:17:42 -08:00
Dmitry Gozman
0a052cb4d6
feat(recorder): assert visibility tool ( #28142 )
2023-11-14 12:55:34 -08:00
Max Schmitt
2ac1cde879
fix(recorder): resize of assert overlay textarea ( #28137 )
2023-11-14 18:07:27 +01:00
Pavel Feldman
60a37f37ef
chore: allow tabbing from codemirror locator editor ( #28116 )
2023-11-14 08:13:29 -08:00
Dmitry Gozman
36b99c3437
chore(recorder): standby mode, expose setModeRequested in DebugController ( #28117 )
2023-11-13 16:39:14 -08:00
Pavel Feldman
b0f75a6a3a
chore: allow editing locator while matching text ( #28115 )
2023-11-13 15:42:46 -08:00
Pavel Feldman
ae5cdf16f0
chore: allow asserting substring ( #28111 )
2023-11-13 14:38:04 -08:00
Pavel Feldman
cd70d51aa8
chore: remove redundant check for highlight liveness ( #28108 )
...
Closes https://github.com/microsoft/playwright/issues/28002
2023-11-13 11:44:25 -08:00
Pavel Feldman
db38f0d2df
chore: flag text mismatch when editing ( #28106 )
2023-11-13 11:44:06 -08:00
Dmitry Gozman
120f0228c5
feat(selector generator): try improving text candidate with heuristics ( #28074 )
...
- Drop number-like prefixes and/or suffixes.
- Trim long texts to a word boundary around 15-25 character.
2023-11-13 11:30:16 -08:00
Mattias Wallander
c6d154f9c4
feat: Add support for dispatching device motion events ( #28067 )
...
References #27887 .
2023-11-13 08:58:46 -08:00
Pavel Feldman
1b3349d091
chore: use codemirror in the on-hover locator editor ( #28090 )
2023-11-10 22:00:28 -08:00
Pavel Feldman
b004c1a0a7
chore: rework assert dialog ( #28043 )
2023-11-08 20:09:58 -08:00
Max Schmitt
5f527fedb1
fix: JSHandle preview text for non-ascii attributes/children ( #28038 )
...
This surfaced in .NET that the string in the driver got incorrectly cut,
then transferred to .NET as an invalid UTF8 character
[`\ud835`](https://charbase.com/d835-unicode-invalid-character ) which
.NET wasn't able to parse and threw an error.
Drive-by: Move similar function from
`packages/playwright-core/src/client/page.ts` into isomorphic
`stringUtils`.
https://github.com/microsoft/playwright-dotnet/issues/2748
2023-11-09 00:11:01 +01:00
Mattias Wallander
5a9fa69c6d
feat: Add support for dispatching device orientation events ( #27960 )
...
Fixes #27887
2023-11-08 09:50:25 -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
f401a482d2
fix(codegen): consume pointer events alongside mouse events ( #27949 )
...
Fixes #27926 .
2023-11-03 13:41:51 -07:00
Dmitry Gozman
a7fd515626
chore(recorder): use designMode for text selection tool ( #27936 )
...
This allows us to barely support shadow dom, compared to no support at
all.
2023-11-02 13:47:53 -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
Yury Semikhatsky
36c4c24f8a
fix: only convert input files for browser collocated with server ( #27873 )
...
Reference #27452
Fixes #27792
2023-11-01 08:40:12 -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
4d8dd55b90
chore: refactor Recorder, introduce RecorderTool ( #27826 )
2023-10-26 19:42:03 -07:00
Dmitry Gozman
24deac458b
feat(expect): generate toHaveText ( #27824 )
2023-10-26 18:49:14 -07:00
Dmitry Gozman
d1d5fc67dc
fix(recorder): show action point in main frame only ( #27719 )
2023-10-20 20:58:09 -07:00