Pavel Feldman
116fb349ce
chore: allow configuring test id attribute for codegen ( #22716 )
...
Fixes: https://github.com/microsoft/playwright/issues/22653
2023-04-29 12:04:33 -07:00
Max Schmitt
f6aa9f49ce
chore: make evaluate work with busted Array.prototype.map/push ( #22528 )
...
Fixes https://github.com/microsoft/playwright/issues/22460
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-04-21 19:52:13 +02:00
Dmitry Gozman
08cef43e82
feat(locator): remove locator.and and locator.not ( #22223 )
...
Not shipping for now, after API review.
2023-04-05 16:28:13 -07:00
Dmitry Gozman
35afb056ea
feat(locator): filter({ hasNotText }) ( #22222 )
...
The opposite of `filter({ hasText })`.
2023-04-05 14:13:28 -07:00
Dmitry Gozman
bc1de5f28d
feat(locator): filter({ hasNot }) ( #22219 )
...
This is the opposite of `filter({ has })`.
2023-04-05 12:45:46 -07:00
Dmitry Gozman
1fbefa694f
fix(role): update accessible name calculation for native buttons ( #22124 )
...
There is a new section in the spec:
https://w3c.github.io/html-aam/#button-element-accessible-name-computation
Fixes #21808 .
2023-03-31 14:17:18 -07:00
Dmitry Gozman
539d9873c2
feat: rename Locator.filter(locator) to Locator.and ( #22101 )
2023-03-30 14:41:30 -07:00
Dmitry Gozman
e6148bb725
feat: Locator.not(locator) ( #22066 )
2023-03-30 08:52:30 -07:00
Pavel Feldman
968abd27d5
chore: do not use attributes for trace target annotation ( #22075 )
...
Fixes: https://github.com/microsoft/playwright/issues/22004
2023-03-29 23:17:17 -07:00
Dmitry Gozman
548e4a0c0f
fix(role): account for unslotted elements being hidden for aria ( #22070 )
...
When element is not assigned to any slot in the shadow root, it is not
rendered and is considered hidden for ARIA in all browsers.
In Chromium/Firefox we use `Element.checkVisibility` that already
handles this, but in WebKit we have to check it manually.
Fixes #21487 .
2023-03-29 17:08:05 -07:00
Dmitry Gozman
6929214dbf
feat(expect): expect(locator).toBeAttached() ( #22067 )
...
Fixes #13467 .
2023-03-29 11:09:17 -07:00
Dmitry Gozman
6a2b4ed142
fix(role): use <title> for elements inside svg ( #22043 )
...
Follows svg-aam mapping:
https://www.w3.org/TR/svg-aam-1.0/#mapping_additional_nd
Fixes #21486 .
2023-03-28 15:52:16 -07:00
Dmitry Gozman
525097d465
feat: Locator.filter(locator) ( #21975 )
...
Produces a locator that matches both locators.
Implemented through `internal:and` selector.
Fixes #19551 .
2023-03-27 14:29:30 -07:00
Dmitry Gozman
d10fac4f6a
feat: Locator.or(locator) ( #21884 )
2023-03-22 15:28:59 -07:00
Pavel Feldman
c45d8749b0
chore: split trace events into phases ( #21696 )
2023-03-15 22:33:40 -07:00
Dmitry Gozman
bde2e90973
fix(selector generator): do not produce has-text="foo"s ( #21679 )
...
There is no locator counterpart for it. Instead, produce a regex.
Also fix locator generator to not produce incorrect locator in this
case.
Fixes #21649 .
2023-03-15 13:43:42 -07:00
Dmitry Gozman
ccd5d7fd10
fix(hit target): workaround webkit elementsFromPoint bug ( #21642 )
...
Fixes #21596 .
2023-03-13 19:33:56 -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
Pavel Feldman
47427e87ec
chore: do not use module.exports in the injected esm files ( #21412 )
...
Follow up to #17145
2023-03-05 20:01:35 -08:00
Pavel Feldman
c17eea7a3c
chore: fix xpath-in-iframe ( #21367 )
...
Fixes https://github.com/microsoft/playwright/issues/21364
2023-03-03 09:13:25 -08:00
Andrey Lushnikov
1b441ef4f0
fix: stricter condition for Firefox codegen tests workaround ( #20998 )
...
This patch fixes the following tests on WebKit @ Darwin:
- library/inspector/cli-codegen-2.spec.ts:197:7 › cli codegen › should
download files
- library/inspector/cli-codegen-2.spec.ts:428:7 › cli codegen › should
update hover model on action
2023-02-17 12:19:46 -08:00
Pavel Feldman
d7a0b3bb4e
chore: implement pick locator in trace viewer ( #20965 )
...
Fixes https://github.com/microsoft/playwright/issues/7853
2023-02-17 11:19:53 -08:00
Andrey Lushnikov
1db04f2839
fix: simplify protocol for toBeInViewport ( #20960 )
2023-02-16 11:02:19 -08:00
Andrey Lushnikov
5f9e2f3db9
chore: fix inspector cli firefox tests flakiness ( #20919 )
2023-02-15 09:12:37 -08:00
Andrey Lushnikov
72942e81d5
chore: fixes to toBeInViewport ( #20870 )
2023-02-13 15:21:40 -08:00
Dmitry Gozman
6b69d23f44
fix(actions): ignore indeterminate for isChecked api ( #20834 )
...
Fixes #20190 .
2023-02-10 18:56:45 -08:00
Dmitry Gozman
789b1c75e6
fix(expect): report received when timedOut during oneShot ( #20806 )
2023-02-10 14:59:21 -08:00
Andrey Lushnikov
68e170ef89
feat: implement expect(locator).toBeInViewport() ( #20668 )
...
The method accepts a `ratio` option to assert the ratio
of the element in viewport. `ratio` defaults to `Number.MIN_VALUE`.
NOTE: this reverts commit d950f5b6ee and
adds `ratio` option support + does the rename.
Fixes #8740
2023-02-10 04:33:22 -08:00
Dmitry Gozman
fbccc8ef64
fix(role): closed <details> are considered hidden ( #20726 )
...
Fixes #20610 .
2023-02-07 15:10:18 -08:00
Dmitry Gozman
d950f5b6ee
chore: remove toIntersectViewport for the next release ( #20232 )
...
Mostly reverts #19901 .
2023-01-19 15:04:09 -08:00
Max Schmitt
a7495c3326
fix: use no internal selectors for frame locators ( #19964 )
...
Fixes https://github.com/microsoft/playwright/issues/19406
2023-01-11 21:53:19 +01:00
Andrey Lushnikov
2a49c5e498
feat(expect): introduce expect(locator).toIntersectViewport() ( #19901 )
...
This is a new web-first assertion that should be used like this:
```ts
test('should work', async ({ page }) => {
const locator = page.locator('body');
// New web-first assertion.
await expect(locator).toIntersectViewport();
// The same functionality.
await expect.poll(() => locator.viewportRatio()).toBeGreaterThan(0);
});
```
Fixes #8740
2023-01-06 16:56:24 -08:00
Dmitry Gozman
0fba4d5611
chore: migrate waitForFunction to not use rerunnable task ( #19730 )
2022-12-27 17:22:44 -08:00
Dmitry Gozman
0b223b9036
fix(hit target): account for iframes with padding ( #19732 )
...
Padding on iframes moves the `documentElement` inside the iframe, so we
should account for it when converting coordinates between frames.
Fixes #19613 .
2022-12-27 16:59:34 -08:00
Dmitry Gozman
24f2ccb4ca
feat(getByLabel): support aria-label ( #19726 )
...
References #19284 .
2022-12-27 12:43:55 -08:00
Dmitry Gozman
0087bfac23
fix(role): update allowsNameFromContent to closer align with blink/gecko ( #19692 )
2022-12-27 09:06:46 -08:00
Pavel Feldman
e61a8c6592
fix(generator): penalize for the selector length ( #19672 )
2022-12-22 20:54:04 -08:00
Dmitry Gozman
e12cf19012
chore: refactor frame.expect to not use rerunnable task ( #19626 )
2022-12-21 15:31:08 -08:00
Dmitry Gozman
ae2b1ac5e8
chore: move some injected code to InjectedScript ( #19609 )
2022-12-20 17:26:54 -08:00
Dmitry Gozman
1263bc3edd
feat(console api): first/last/nth ( #19485 )
2022-12-15 11:17:59 -08:00
Dmitry Gozman
a27f1f744f
feat(getByLabel): support aria-labelledby ( #19456 )
...
Testing library also treats them equally.
Fixes #19284 .
2022-12-14 13:51:05 -08:00
Dmitry Gozman
3c17a2603a
feat(console api): support locator.filter ( #19389 )
2022-12-09 15:25:12 -08:00
Max Schmitt
92b3995101
chore(recorder): align toolbar buttons correctly ( #19357 )
2022-12-08 17:33:18 +01:00
Dmitry Gozman
bdaf11a568
chore: refactor roleEngine to allow alternative representation ( #19344 )
2022-12-07 16:49:20 -08:00
Pavel Feldman
7aa3935dcc
chore: match selected options by both value and label ( #19316 )
2022-12-07 09:04:32 -08:00
Dmitry Gozman
4784dae10f
fix(role): accessibleName computation should walk the flat dom tree ( #19301 )
...
- When visiting `<slot>` element, descend into assigned nodes.
- When node has `assignedSlot`, skip it during regular traversal.
Fixes #18989 .
2022-12-06 09:31:26 -08:00
Dmitry Gozman
48182a4eb2
chore: refactor code around text selectors ( #19278 )
2022-12-05 14:08:54 -08:00
Max Schmitt
3565d97a36
feat(recorder): make it work with [contenteditable] ( #19066 )
...
https://github.com/microsoft/playwright/issues/19029
2022-12-01 12:41:03 -08:00
Pavel Feldman
5ac426b3d5
chore: expose utility script to inner evaluates ( #19147 )
2022-11-29 16:57:11 -08:00
Pavel Feldman
85467d1b7d
chore: generate get by title ( #19119 )
2022-11-28 19:55:34 -08:00