Joe-Hendley
afa0bf2247
feat: increase length of printed html tags ( #31105 )
...
resolves https://github.com/microsoft/playwright/issues/30977 by
increasing the printed length of HTML tags from 50 -> 500 as suggested
by @dgozman
2024-05-31 10:45:56 -07:00
Pavel Feldman
170c457a61
feat(timers): a stab at fake timers ( #31075 )
2024-05-30 09:38:27 -07:00
Max Schmitt
b06c1dfff1
Revert "fix(highlight): highlight Top Layer elements ( #30001 )" ( #30800 )
...
This reverts commit a9322226623ee010be08380ff13c9243a044e923.
Closes https://github.com/microsoft/playwright/pull/30797 - maybe there
is a better way to get the page height?
`document.documentElement.scrollHeight` seems to not work on Firefox.
Relates https://github.com/microsoft/playwright/issues/30770
2024-05-14 17:23:52 +01:00
Dmitry Gozman
8334191b94
fix(selector generator): properly escape re used in has-text ( #30767 )
...
Fixes #30499 .
2024-05-13 12:40:46 -07:00
Viktor Szépe
150cbcbdf3
chore: fix typos ( #30645 )
2024-05-08 19:40:03 +01:00
Saswat Das
7c826719ec
chore: remove redundant parameters from isElementStyleVisibilityVisible ( #30637 )
2024-05-08 17:45:53 +01:00
Dmitry Gozman
fd92509dda
fix(role): extract tagName safely ( #30636 )
...
Fixes #30616 .
2024-05-02 09:42:19 -07:00
Dmitry Gozman
6d20da568e
feat: expect(locator).toHaveRole(role) ( #30555 )
...
References #13517 . Fixes #18332 .
2024-04-25 15:26:10 -07:00
Rui Figueira
c80b851422
fix(codegen): prevent csp directive violations ( #30366 )
2024-04-23 07:33:12 -07:00
Dmitry Gozman
4a275b8eca
feat: expect(locator).toHaveAccessibleDescription ( #30463 )
...
References #18332 .
2024-04-22 12:33:30 -07:00
Max Schmitt
a932222662
fix(highlight): highlight Top Layer elements ( #30001 )
2024-04-20 08:51:16 +02:00
Dmitry Gozman
9b6627a063
feat(role): roll and pass WPT accname tests, calculate description ( #30434 )
...
There are new "non-manual" WPT accname tests that we now mostly pass,
which required a few tweeks in calculating role and name.
Also implemented accessible description computation, which is just a
small addition on top of accessible name, and passed respective wpt
tests.
References #18332 .
2024-04-19 12:49:49 -07:00
Dmitry Gozman
eea1f9984f
feat: expect(locator).toHaveAccessibleName ( #30420 )
...
References #18332 .
2024-04-18 12:28:55 -07:00
Dmitry Gozman
103ec90751
fix(role): align presentation role conflict resolution with the spec ( #30408 )
...
See
https://www.w3.org/TR/wai-aria-1.2/#conflict_resolution_presentation_none
Fixes #26809 .
2024-04-18 08:53:31 -07:00
Dmitry Gozman
984182bd53
fix(role): embedded control inside the target element ( #30403 )
...
According to the spec, such controls should use the native value as long
as they have "aria-label". The relevant spec section is 2D.
However, there is an open issue that claims this should always apply,
and all browsers and wpt test actually do that:
https://github.com/w3c/accname/issues/64 .
Fixes #28848 .
2024-04-17 12:25:08 -07:00
Dmitry Gozman
b72e3a3eba
fix(role): explicitly hidden aria-labelledby should be recursively traversed ( #30402 )
...
The accessible name computation spec has changed to explicitly mention
this case:
Step 2A. Hidden Not Referenced. If the current node is hidden and is:
- Not part of an aria-labelledby or aria-describedby traversal, where
the node directly referenced by that relation was hidden.
- Nor part of a native host language text alternative element (e.g.
label in HTML) or attribute traversal, where the root of that traversal
was hidden.
See https://w3c.github.io/accname/#computation-steps . Chromium, Firefox
and Safari all agree with the spec.
Fixes #29796 .
2024-04-17 11:22:09 -07: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
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
Dmitry Gozman
c1400a3db5
Revert "feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )" ( #30064 )
...
This reverts commit 1bb463163b4efef507a4b8d8feeb48e49e4a756e. Decided to
wait for a better VRT story.
References #29250 .
2024-03-22 13:26:22 -07:00
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 1ce3ca25a2676ca773a736035699cf3fe0c35d0d.
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