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
Pavel Feldman
b807c974c3
chore: allow passing path to property in toHaveJSProperty ( #27495 )
...
Fixes https://github.com/microsoft/playwright/issues/27487
2023-10-06 15:47:07 -07:00
Jim Hays
dcc8dcca73
Fix various typos ( Fixes #27396 ) ( #27391 )
...
Fixes https://github.com/microsoft/playwright/issues/27396
2023-10-04 19:56:42 -07:00
Yury Semikhatsky
ac48a47d33
feat: toHaveAttribute without value ( #27418 )
...
This time not doing it in other languages due to unjustified generator
complexity.
Fixes #27341
2023-10-04 09:27:28 -07:00
Pavel Feldman
ae08d03d75
fix(role): compute <output> accessible name from labels ( #27415 )
...
Fixes: https://github.com/microsoft/playwright/issues/27403
2023-10-03 13:01:13 -07:00
Pavel Feldman
d65da74b8f
fix(trace): allow typing in selector w/ frames ( #26919 )
2023-09-06 16:14:40 -07:00
Pavel Feldman
b4012df160
fix(trace): make locator picker work for iframes ( #26883 )
...
Fixes https://github.com/microsoft/playwright/issues/26878
2023-09-06 09:44:47 -07:00
Dmitry Gozman
741c649d56
fix(trace viewer): make sure target inside shadow dom is highlighted ( #26823 )
...
References #24532 .
2023-08-31 12:46:49 -07:00
Dmitry Gozman
0ecc13038f
fix(textContent): make it work for ShadowRoot ( #26690 )
...
It used to work, but regressed in v1.36.
Fixes #26636 .
2023-08-24 12:59:42 -07:00
Dmitry Gozman
44d3770559
fix(selector generator): escape all tag names in css selectors ( #26659 )
...
Fixes #26657 .
2023-08-23 12:32:08 -07:00
Pavel Feldman
33d62d9a97
chore: do not use relative xpath when querying from document ( #24405 )
...
Fixes https://github.com/microsoft/playwright/issues/24399
2023-07-25 12:55:35 -07:00
Dmitry Gozman
97d55e275d
fix(locator): locator(locator) method uses internal:chain instead of >> ( #24235 )
...
Usually, we can just chain two locators with `>>` to implement
`Locator.locator(locator)`. However, this does not play nicely with more
advanced inner locators like `or` and `and`:
```ts
const child = page.locator('input').or(page.locator('button'));
page.locator('parent').locator(child);
```
One would expect the above to locate "input or button" inside a
"parent". However, currently it locates "input inside a parent" or
"button", because it's translated to `parent >> input >>
internal:or="button"`.
To fix this, we have to wrap inner locator into `internal:chain` and
query it separately from the parent.
Fixes #23724 .
2023-07-14 12:21:45 -07:00
Dmitry Gozman
5821c547aa
fix(selector generator): use the same label definition as getByLabel ( #23846 )
...
This extracts `getElementLabels` helper function to be used both for
generating and querying.
2023-06-22 08:34:08 -07:00
Dmitry Gozman
fe5c9dad4d
fix(locators): allow identical frameLocators inside and/or/has ( #23740 )
...
So, the following will work:
```
page.frameLocator('iframe').locator('span').or(page.frameLoactor('iframe').locator('div'))
```
The following will not work, because frame locators are not exactly the
same:
```
page.frameLocator('#iframe1').locator('span').or(page.frameLoactor('#iframe2').locator('div'))
```
Also improve the error message to be more readable and include the
locator.
Fixes #23697 .
2023-06-19 15:22:26 -07:00
Max Schmitt
0f9f863183
fix(codegen): generate no Enter keyboard events for textareas ( #23775 )
...
Fixes https://github.com/microsoft/playwright/issues/23774
2023-06-19 17:07:37 +02:00
Dmitry Gozman
de422b5afb
chore: speedup multiple roleUtils calls ( #23745 )
...
When generating a selector, we tend to match by role and call various
roleUtils methods multiple times.
Apply the usual pattern for "nested operations counter" and aggressively
cache the results.
2023-06-16 11:39:39 -07:00
Dmitry Gozman
d11bc88784
chore(codegen): do not use accessible name for non-text selectors ( #23717 )
...
Accessible name usually includes text, so we don't want it for non-text
selectors, e.g. for `expect()` selectors.
2023-06-15 12:30:18 -07:00
Dmitry Gozman
5b2e8a6a7a
chore: optional root for generateSelector ( #23692 )
2023-06-13 21:25:39 -07:00