Pavel Feldman
5ae2017a5b
chore: always import type ( #13365 )
2022-04-06 14:57:14 -07:00
Pavel Feldman
1c3db811f5
chore: move to folder-based deps lists ( #13361 )
2022-04-06 14:40:19 -07:00
Dmitry Gozman
faaac318f4
chore: remove elementsFromPoint workaround ( #13184 )
...
The issue was fixed upstream in r982637.
2022-04-05 19:37:07 -07:00
Pavel Feldman
6ca58e18cb
fix(electron): better support for custom schemas ( #13329 )
2022-04-05 16:10:12 -07:00
github-actions[bot]
67c251f483
feat(chromium): roll to r1000 ( #13327 )
...
References #13198
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-05 11:05:01 -07:00
Max Schmitt
844ecbe2eb
chore: better Electron error message when no executable path is given ( #13318 )
2022-04-05 18:45:21 +02:00
Pavel Feldman
23d9dbc011
chore: rewrite non-web protocol for Electron tracing ( #13305 )
2022-04-04 20:56:04 -07:00
Pavel Feldman
1bebc28aed
chore: reset page/context for reuse in component tests ( #13264 )
2022-04-04 12:39:43 -07:00
Pavel Feldman
8232497c88
feat(electron): expose app process(), detach on exit ( #13280 )
2022-04-04 11:50:46 -07:00
Pavel Feldman
b0103566c9
fix(addInitScript): tolerate trailing comments ( #13275 )
2022-04-03 18:47:12 -07:00
Pavel Feldman
bcb12fcf7f
chore: mark public methods on server as such ( #13271 )
2022-04-02 19:02:27 -07:00
kaivean
5d2e8918d8
feat(android): add androidDevice.options.omitDriverInstall ( #13249 )
2022-04-02 16:00:38 -07:00
Dmitry Gozman
a200fe3528
feat(screenshot): rename "size" option to "scale" ( #13254 )
...
Drive-by: fix `caret` handling in `toHaveScreenshot`.
2022-04-01 12:28:40 -07:00
Dmitry Gozman
356fc35b85
feat(role selector): allow unquoted name attribute ( #13224 )
...
- This supports `role=button[name=Hello]` similarly to CSS selectors.
- Does not change `_react` or `_vue` behavior that insist on quoting the string.
- Uses CSS notion of "identifier" characters.
2022-04-01 10:08:02 -07:00
Yury Semikhatsky
7d7fe3c618
fix(route): remove cors option, compare origin ( #13231 )
2022-03-31 19:21:21 -07:00
Dmitry Gozman
9fc95dda84
fix(screenshot): do not stall on hideHiglight attempt 2 ( #13222 )
...
It turns out that "non stalling evaluate" can stall in Chromium
in some weird conditions, like `document.open` after some weird
`iframe.src` value.
We now only hide highlight in those frames where we did install
highlight in the first place.
2022-03-31 15:33:29 -07:00
Dmitry Gozman
e5182259b1
feat(role selector): docs and minor fixes ( #13203 )
...
- Added docs to `selectors.md`.
- `[pressed]` and `[checked]` do not match `"mixed"` states.
- Disallow `[name]` shorthand without a value.
- Renamed `includeHidden` to `include-hidden`.
2022-03-31 13:06:39 -07:00
Dmitry Gozman
a8d4a8aa52
fix(text selector): ignore non-leading quote when parsing ( #13170 )
...
Previously, any unpaired quote in the text selector "escaped"
everything till the end of the selector string, and so any
subsequent chained selectors, including ">>" separator were ignored.
An example of misbehaving selector: `text=19" >> nth=1`.
Now, when text selector contains a non-leading quote, selector parser
does not assume it should escape ">>" separator and correctly
tokenizes all selectors from the chain.
Note that this behavior is a workaround for the fact that our
text selectors is somewhat poorly defined in this area. That said,
this workaround seems to be safe enough. It still does not work for
unpaired leading quotes like this: `text="19 >> nth=1`.
2022-03-30 09:33:32 -07:00
Andrey Lushnikov
a9989852d5
feat(vrt): new option "caret" for taking screenshots ( #13164 )
...
This has two values:
- `"hide"` to hide input caret for taking screenshot
- `"initial"` to keep caret behavior unchanged
Defaults to `"hide"`.
Fixes #12643
2022-03-29 17:48:13 -07:00
Dmitry Gozman
eb09306db2
feat(connect): add connectOptions.timeout ( #13163 )
2022-03-29 15:03:43 -07:00
Dmitry Gozman
6b48631eed
feat(role): add more tests for accessible name ( #13154 )
2022-03-29 11:59:44 -07:00
github-actions[bot]
54f6e5db19
feat(firefox): roll to r1322 ( #13150 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-29 11:28:20 -07:00
Pavel Feldman
1961959dcb
chore: migrate injected scripts to esbuild ( #13143 )
2022-03-28 23:10:17 -07:00
Dmitry Gozman
01a39e5b4c
test(role): add tests for implicit role calculation ( #13132 )
2022-03-28 15:22:50 -07:00
Dmitry Gozman
8c19f71c36
feat(selectors): role selector engine ( #12999 )
...
This introduces `role=button[name="Click me"][pressed]` attribute-style
role selector. It is only available under `env.PLAYWRIGHT_EXPERIMENTAL_FEATURES`.
Supported attributes:
- `role` is required, for example `role=button`;
- `name` is accessible name, supports matching operators and regular expressions:
`role=button[name=/Click(me)?/]`;
- `checked` boolean/mixed, for example `role=checkbox[checked=false]`;
- `selected` boolean, for example `role=option[selected]`;
- `expanded` boolean, for example `role=button[expanded=true]`;
- `disabled` boolean, for example `role=button[disabled]`;
- `level` number, for example `role=heading[level=3]`;
- `pressed` boolean/mixed, for example `role=button[pressed="mixed"]`;
- `includeHidden` - by default, only non-hidden elements are considered.
Passing `role=button[includeHidden]` matches hidden elements as well.
2022-03-28 09:24:58 -07:00
Yury Semikhatsky
5734c18ef8
feat(route): add cors header in route.fulfill ( #12943 )
2022-03-25 14:56:57 -07:00
Pavel Feldman
6b81e76c2b
chore: migrate trace-viewer and recorder to vite ( #13076 )
2022-03-25 14:12:00 -07:00
Yury Semikhatsky
97e8ead57c
feat: large files upload in ff and wk ( #12937 )
2022-03-25 13:26:12 -07:00
Yury Semikhatsky
136c4e10e6
Revert "chore: align setInputFiles in webkit with other browsers ( #13011 )" ( #13021 )
...
This reverts commit 7fe763c1fc .
2022-03-24 07:46:37 -07:00
Yury Semikhatsky
7fe763c1fc
chore: align setInputFiles in webkit with other browsers ( #13011 )
2022-03-23 16:07:47 -07:00
Ross Wollman
39376cccd8
fix: allow unnamed cookies ( #12991 )
...
Fixes #12808 .
2022-03-23 15:50:43 -07:00
github-actions[bot]
53b84541ab
feat(chromium): roll to r983172 ( #12995 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-23 20:34:23 +01:00
github-actions[bot]
2d5762c842
feat(webkit): roll to r1620 ( #12971 )
2022-03-23 11:30:42 -07:00
Max Schmitt
b69d0566bb
chore: disable Chromium CertificateTransparencyComponentUpdater feature ( #12992 )
2022-03-23 19:14:22 +01:00
Dmitry Gozman
722302799e
feat(selectors): support regular expressions in attribute selectors ( #12960 )
...
Supports inline regex in addition to string: `_react=BookItem[author = /Ann?a/i]`.
This is similar to `text=` selector, but applies to `_react` and `_vue`
selectors. In the future, will also apply to `role=` selector.
2022-03-22 17:00:56 -07:00
Brian Rhoten
fb83d4b42c
fix(codegen): do not consider empty attributes for selector generation ( #12880 )
...
Co-authored-by: Brian Rhoten <brhoten@appriss.com>
2022-03-22 13:56:33 -07:00
Brandon Walderman
7db40071a8
fix(selenium): Use ms:edgeOptions with Edge. ( #12933 )
2022-03-22 12:46:00 -07:00
Dmitry Gozman
4b877213a1
fix(tracing): preserve control values without modifying DOM ( #12939 )
...
Previously, we preserved input/textarea values by providing
`value` attribute or text child. This produces DOM that does not
actually match the original page.
This change starts using special attributes to modify values
directly when rendering.
Same treatment is also applied to options in `select` and
`checked` property of checkboxes and radio buttons.
2022-03-21 18:51:48 -07:00
Dmitry Gozman
dea6528c0c
feat(aria): introduce role utils ( #12916 )
...
This includes aria role and accessible name computation.
Accessible name is covered by wpt tests.
2022-03-21 17:26:45 -07:00
Andrey Lushnikov
7f51336068
fix: allow toMatchSnapshot to use text comparator for text data ( #12934 )
...
This was regressed awhile ago.
In v1.17 we shipped the following code: 30e15ad36f/packages/playwright-test/src/matchers/golden.ts (L122-L131)
`toMatchSnapshot` should fallback to text comparator in case of
unknown extension and string data.
Fixes #12862
2022-03-21 16:42:21 -07:00
github-actions[bot]
478a75401a
feat(webkit): roll to r1619 ( #12905 )
2022-03-21 15:15:56 -07:00
Andrey Lushnikov
c18077c0de
feat(toHaveScreenshot): align screenshot generation & comparison ( #12812 )
...
This patch aligns the strategies that are used to generate new
screnshot expectations and to compare screenshot expectations against
baseline.
With this patch, `toHaveScreenshot` will:
- when generating a new expectation: will wait for 2 consecutive
screenshots to match and accept the last one as expectation.
- when given an expectation:
* will compare first screenshot against expectation. If matches,
resolve successfully
* if first screenshot doesn't match, then wait for 2 consecutive
screenshots to match and then compare last screenshot with the
expectation.
An example of a new detailed call log:
```
1) a.spec.ts:3:1 › should work ===================================================================
Error: Screenshot comparison failed:
20000 pixels (ratio 0.03 of all image pixels) are different
Call log:
- expect.toHaveScreenshot with timeout 5000ms
- verifying given screenshot expectation
- fast-path: checking first screenshot to match expectation
- taking page screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts in all frames are loaded
- fast-path failed: first screenshot did not match expectation - 20000 pixels (ratio 0.03 of all image pixels) are different
- waiting for 2 consecutive screenshots to match
- waiting 100ms before taking screenshot
- taking page screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts in all frames are loaded
- 2 consecutive screenshots matched
- final screenshot did not match expectation - 20000 pixels (ratio 0.03 of all image pixels) are different
- 20000 pixels (ratio 0.03 of all image pixels) are different
Expected: /Users/andreylushnikov/tmp/test-results/a-should-work/should-work-1-expected.png
Received: /Users/andreylushnikov/tmp/test-results/a-should-work/should-work-1-actual.png
Diff: /Users/andreylushnikov/tmp/test-results/a-should-work/should-work-1-diff.png
3 | test('should work', async ({ page }) => {
4 | await page.goto('file:///Users/andreylushnikov/prog/playwright/tests/assets/rotate-z.html');
> 5 | await expect(page).toHaveScreenshot();
| ^
6 | });
7 |
```
2022-03-21 15:10:33 -07:00
github-actions[bot]
9a60067fc2
feat(chromium): roll to r982481 ( #12903 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-19 13:06:55 +01:00
Pavel Feldman
e044bae888
chore: make count() work with _vue selectors ( #12899 )
2022-03-18 21:22:33 -07:00
Dmitry Gozman
85b01056b6
fix(click): workaround elementsFromPoint issue in Chromium ( #12888 )
...
Block elements inside elements are not returned correctly
from `document.elementsFromPoint(x, y)` in some cases.
See https://bugs.chromium.org/p/chromium/issues/detail?id=1307458 for details.
2022-03-18 18:20:48 -07:00
Pavel Feldman
98ed81dc00
chore: do not initialize full sessions for pages used in session restore ( #12886 )
2022-03-18 18:17:37 -07:00
Max Schmitt
dd32956ccc
chore: improve handling with missing xserver ( #12724 )
2022-03-18 22:39:11 +01:00
Yury Semikhatsky
a8d80621b2
feat(chromium): large file uploads ( #12860 )
2022-03-18 09:00:52 -07:00
Pavel Feldman
c7d6f96328
chore: disambiguate internal flags ( #12866 )
2022-03-17 18:27:33 -07:00
Yury Semikhatsky
1284ab8101
feat(webkit): bump to 1617, freeze macOS 10.15 ( #12790 )
2022-03-15 16:09:56 -07:00
Dmitry Gozman
f8c4cb3d24
fix(screenshot): do not stall on hideHighlight ( #12764 )
2022-03-15 14:13:45 -07:00
github-actions[bot]
08c29b305b
feat(chromium): roll to r980398 ( #12757 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-14 18:51:46 -07:00
Yury Semikhatsky
990224bde4
Revert "feat(webkit): bump to 1617 ( #12738 )" ( #12760 )
...
This reverts commit 77824ee19e .
2022-03-14 17:08:32 -07:00
Yury Semikhatsky
77824ee19e
feat(webkit): bump to 1617 ( #12738 )
2022-03-14 15:11:21 -07:00
Max Schmitt
adcd32fc6e
fix(expect): toHaveCSS with custom CSS properties ( #12709 )
2022-03-12 09:32:40 -08:00
github-actions[bot]
ffc8031bad
feat(chromium): roll to r980066 ( #12705 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-12 09:07:57 +01:00
Andrey Lushnikov
ef4b34fb7a
feat(toHaveScreenshot): enhance messaging in case of failures ( #12677 )
...
This patch:
- adds call logs to track screenshot timeouts, e.g. due to
waiting for web fonts
- makes sure all snapshot expectations have `.png` extension
- throws a polite error when given a buffer or a string instead of a
page or a locator
- removes stray NL between error description and call log
- makes sure `apiName` is always correct (and adds a test for it)
2022-03-11 22:40:28 -08:00
Andrey Lushnikov
65b9cba143
chore: follow-up to animations default option ( #12669 )
...
This is a follow-up to 42765804bc
that was landed without bots.
I ran the bots manually on Linux & Mac.
2022-03-10 17:26:50 -08:00
Andrey Lushnikov
49e66c7f08
feat(screenshot): introduce new "fonts" option for screenshots ( #12661 )
...
This option will wait for webfonts to load before taking screenshots.
2022-03-10 16:54:36 -08:00
Dmitry Gozman
a388bb2302
feat(screenshot): size:'css'|'device' option ( #12634 )
...
With this experimental option, screenshot dimensions are in CSS pixels,
not physical device pixels, effectively ignoring the device scale factor.
2022-03-10 13:07:10 -08:00
Dmitry Gozman
62a032baa0
chore: remove env.PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK ( #12605 )
2022-03-08 16:42:39 -08:00
github-actions[bot]
04e03728b8
feat(chromium): roll to r978106 ( #12585 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-03-08 21:05:56 +01:00
Andrey Lushnikov
497b51ad8c
fix(toHaveScreenshot): fix initial screenshot time ( #12576 )
...
Instead of being taken immediately, first screenshot was actually
taken after 1 second.
2022-03-08 09:30:14 -08:00
github-actions[bot]
18e6aa3f15
feat(firefox): roll to r1319 ( #12587 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-08 09:19:00 -08:00
github-actions[bot]
702536d962
feat(webkit): roll to r1616 ( #12541 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2022-03-06 12:22:47 +01:00
Andrey Lushnikov
6dac01aec7
fix: implement log scale back-off for screenshots ( #12504 )
...
References https://github.com/microsoft/playwright/issues/12441
2022-03-04 18:17:57 -08:00
github-actions[bot]
adb2847d84
feat(firefox): roll to r1318 ( #12537 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-04 17:29:35 -08:00
Karan Shah
fd1a1a2b1c
feat(android): Adding custom port parameter to connect to different adb server port ( #12220 )
2022-03-04 20:27:25 +01:00
Andrey Lushnikov
b45c788a33
fix(disable-animations): rename boolean to enum ( #12503 )
...
Enums are more flexible in the long run since they let us easily
extend API.
References #12441
2022-03-04 11:02:59 -08:00
github-actions[bot]
ab40d934ad
feat(chromium): roll to r976882 ( #12516 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-04 14:48:25 +01:00
Max Schmitt
b2e3357613
chore: throw error if setCookies expires value is not valid ( #12470 )
2022-03-02 23:10:40 +01:00
Yury Semikhatsky
2d7ec26dc2
fix(fetch): send secure cookies for http://localhost requests ( #12450 )
2022-03-02 09:33:30 -08:00
Pavel Feldman
61a6cdde70
feat(api): expose locator.highlight ( #12420 )
2022-03-01 13:56:21 -08:00
Max Schmitt
e0e6b66cbe
chore(android): align android context options with mixin ( #12401 )
2022-03-01 18:11:38 +01:00
Max Schmitt
d2ae6a9db2
fix: isDisabled check with option/optgroup ( #12437 )
2022-03-01 18:10:16 +01:00
github-actions[bot]
5efd7fb356
feat(chromium): roll to r975608 ( #12425 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-01 09:22:47 +01:00
Mateusz Burzyński
eaa98ce53a
feat(keyboard): support simple copy-pasting using meta+c/v ( #10828 )
...
It's a straightforward change to support new, common, keyboard commands
Note that I've tested this locally with Chrome on my Mac but it seems that CI doesn't want to pass Chrome tests - it's running on ubuntu though. Does this mean that I should introduce per-platform editing commands? At the moment there is only a single [`macEditingCommands`](0ed33522c5/packages/playwright-core/src/server/macEditingCommands.ts ) file.
References https://github.com/microsoft/playwright/issues/12000
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-02-28 13:43:43 -08:00
Andrey Lushnikov
396d920145
feat(test-runner): implement expect(pageOrLocator).toHaveScreenshot ( #12242 )
...
Fixes #9938
2022-02-28 12:25:59 -08:00
github-actions[bot]
80a38a39c2
feat(chromium): roll to r974924 ( #12377 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-26 07:52:27 +01:00
nswbmw
b47c95c20c
feat: add iPhone 12 Mini ( #11429 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-02-25 12:15:58 +01:00
Max Schmitt
0b55950d6a
chore: fix Android tests ( #12325 )
2022-02-24 06:57:32 +01:00
github-actions[bot]
cbe075135c
feat(chromium): roll to r973391 ( #12279 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-22 11:33:25 +01:00
github-actions[bot]
222033d6b2
feat(chromium): roll to r972766 ( #12248 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-21 11:30:30 +01:00
Pavel Feldman
b8cf5ac661
fix(electron): do not attach external debugger when running Electron tests ( #12250 )
2022-02-19 17:46:26 -08:00
Andrey Lushnikov
18fdf927b7
chore: simplify screenshot option handling ( #12245 )
...
#9938
2022-02-18 21:34:56 -08:00
Dmitry Gozman
a7ef1da5e9
fix(selenium): support MicrosoftEdge ( #12235 )
2022-02-18 14:44:15 -08:00
github-actions[bot]
0518176f4a
feat(chromium): roll to r969391 ( #12228 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-18 18:54:58 +01:00
Dmitry Gozman
15043801cb
chore: use transport for BrowserType.connect ( #12196 )
...
This gives us logging, ECONNRESET error handling and proper cleanup.
2022-02-17 20:48:14 -08:00
Andrey Lushnikov
c98d595bea
fix: support hiding caret in case of matching style rule ( #12172 )
2022-02-17 14:05:56 -08:00
Max Schmitt
4115235f4d
feat(codegen): use web-first page assertions to match URL ( #12177 )
2022-02-17 20:52:35 +01:00
Max Schmitt
a667d94d45
chore(codegen): do not over-escape spaces ( #12155 )
2022-02-17 01:01:46 +01:00
Max Schmitt
92045b7faf
feat(codgen): support radio buttons ( #12157 )
2022-02-16 19:10:00 +01:00
Yury Semikhatsky
08fd8d0762
fix(tracing): do not capture iframes in head ( #12126 )
2022-02-16 09:09:15 -08:00
Pavel Feldman
d4deefbad3
feat(firefox): roll to r1317 ( #12120 )
2022-02-15 21:55:52 -08:00
Yury Semikhatsky
f15610b874
fix(fetch): always return non-empty body regardless of request method ( #12102 )
2022-02-15 09:06:21 -08:00
Andrey Lushnikov
363b8a6970
feat: support mask option in screenshot methods ( #12072 )
...
Fixes https://github.com/microsoft/playwright/issues/10162
2022-02-15 07:05:05 -08:00
Andrey Lushnikov
6c89f160e8
fix(highlight): drive-by fixes to selector highlight ( #12083 )
2022-02-14 10:32:18 -08:00
Dmitry Gozman
fb00991a78
chore: intercept socks proxy in the driver ( #12021 )
2022-02-13 14:03:47 -08:00
Yury Semikhatsky
abd7084bcc
fix: match default font families in headless chromium ( #11340 )
2022-02-11 09:06:17 -08:00
Pavel Feldman
da2cecbea0
chore: don't close page in generated test ( #12022 )
2022-02-11 08:11:24 -08:00
Pavel Feldman
5ab7bc3a59
chore: headless mode for codegen ( #12020 )
2022-02-10 21:23:16 -08:00
Dmitry Gozman
2bc19ae076
chore: extract SocksProxy to a spearate file ( #12011 )
2022-02-10 13:04:19 -08:00
Mateusz Burzyński
b0cd5b1420
feat(mouse): set .buttons correctly for basic mouse commands in Chrome ( #10698 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-02-09 20:48:16 -08:00
Andrey Lushnikov
6f87955243
feat: introduce disableAnimations option for screenshots ( #11870 )
...
This option stops all kinds of CSS animations while doing screenshot:
- CSS animations
- CSS transitions
- Web Animations
Animations get different treatment depending on animation duration:
- finite animations are fast-forwarded to its end, issuing the
`transitionend` event.
- Infinite animations are resetted to its beginning, and then
resumed after the screenshot.
References #9938 , fixes #11912
2022-02-09 12:52:11 -08:00
Darío Kondratiuk
48cc41f3e7
feat: add key support on react engine ( #11970 )
...
I've got [this question](https://stackoverflow.com/questions/71050193/react-locator-example/71052432#71052432 ) on StackOverflow. And although, in that case, the `key` was part of the `props` attributes. That might not always be true.
I am bringing this to the tell to see what you think about this.
I'm also fixing a typo :)
2022-02-09 11:33:15 -08:00
Pavel Feldman
9f35a97a55
chore(chrome): tolerate unknown target types ( #11936 )
2022-02-08 09:46:05 -08:00
Yury Semikhatsky
1e00218ead
feat(tracing): suport loading multiple files in trace viewer ( #11880 )
2022-02-07 17:05:42 -08:00
Pavel Feldman
c3c99a5f66
chore: shift left the inspector window.
2022-02-07 10:41:33 -08:00
Dmitry Gozman
f82e09be04
feat(codegen): generate locators and frame locators ( #11873 )
2022-02-04 19:27:45 -08:00
Dmitry Gozman
c45dacc834
feat(codegen): make selector generator strict ( #11856 )
...
This is required to migrate to locators.
2022-02-04 07:34:23 -08:00
Andrey Lushnikov
547a32885b
feat: hide blinking cursor when making screenshots ( #11854 )
...
References #9938
2022-02-03 21:44:23 -08:00
github-actions[bot]
f96b1dd43b
feat(webkit): roll to r1609 ( #11824 )
2022-02-03 08:20:39 -08:00
Pavel Feldman
1215057ca1
chore: use ipc transport for out-of-process driver ( #11826 )
2022-02-02 21:26:45 -08:00
Dmitry Gozman
f587a43932
feat(locator): "has" option ( #11411 )
...
This introduces `locator('div', { has: locator })` syntax that matches elements containing other elements.
Can be used together with `hasText`.
Internally, has selector engine takes an inner selector escaped with double-quotes:
`div >> has="li >> span >> text=Foo" >> span`.
2022-02-02 16:55:50 -08:00
github-actions[bot]
fba523a9d0
feat(chromium): roll to r965416 ( #11802 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-02-02 11:39:10 +01:00
Max Schmitt
028afb167b
chore: bump production dependencies ( #11787 )
2022-02-01 21:27:34 +01:00
Caio Agiani
b6b60decdf
fix: typos ( #11789 )
2022-02-01 11:09:41 -08:00
Dmitry Gozman
0b04c7d504
fix(drag&drop): relax layout shift logic when dropping ( #11760 )
...
When element that is being dragged stays under the mouse,
it prevents the hit target check on drop from working,
because drop target is overlayed by the dragged element.
To workaround this, we perform a one-time hit target check
before moving for the drop, as we used to.
2022-01-31 16:21:35 -08:00
Yury Semikhatsky
401cd9c0ee
fix(fetch): do not throw on empty response body with br encoding ( #11708 )
2022-01-28 12:58:58 -08:00
Yury Semikhatsky
84248f6e48
fix(webkit): handle will/didCheckPolicyForNavigation ( #11631 )
2022-01-27 14:58:43 -08:00
Yury Semikhatsky
480338d5f3
fix: create traces dir in /tmp instead of cwd ( #11699 )
2022-01-27 14:58:17 -08:00
Yury Semikhatsky
d305a2ab3f
fix: throw in route.continue if it is called twice ( #11701 )
2022-01-27 14:58:02 -08:00
hackerman
872a4be752
fix(server): handle = in cookie values correctly ( #11613 )
2022-01-26 11:27:43 -08:00
Andrey Lushnikov
6a7a2971f2
fix(chromium): close all javascript dialogs when closing context ( #11614 )
...
Fixes #11581
2022-01-25 13:52:18 -08:00
Yury Semikhatsky
62bf59e310
browser(webkit): removed unused will/didCheckNewWindowPolicy ( #11626 )
2022-01-25 12:30:11 -08:00
Ross Wollman
64e7557fb9
fix: falsey behavior in route.continue, page.post, testInfo.attach ( #11421 )
...
In several of the Playwright APIs, falsey values were not handled correctly. This changeset adds tests (and some fixes):
- route.continue: If options.postData was the empty string, the continue failed to override the post data.
- page.post (application/json with options.data: false|''|0|null): Raw falsey values were getting dropped (i.e. you can't do the equivalent of curl --header application/json … -d 'false'). This has been fixed with most values across all browsers, but an additional fix is needed for 'null' which the channel serializer treats extra specially.
- testInfo.attach: This didn't get reported as an error when options.path was the empty string, but should have been.
#11413 (and its fix #11414 ) inspired this search as they are the same
class of bug.
2022-01-24 15:06:36 -08:00
github-actions[bot]
5382a794fe
feat(chromium): roll to r960211 ( #11487 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-01-24 08:40:45 -08:00
Yury Semikhatsky
ab9d5a0dc4
chore(tracing): add tracing to APIRequestContext ( #11502 )
2022-01-22 11:25:13 -08:00
Yury Semikhatsky
295d0a65c3
fix(har): do not hang on cached resources ( #11556 )
2022-01-21 16:31:00 -08:00
Max Schmitt
fb139cefac
fix: playwright.locator.hasText RegExp flag serialisation in Console API ( #11516 )
2022-01-21 01:05:37 +01:00
Pavel Feldman
a65f7066d5
fix(webkit): improve orientation detection ( #11481 )
2022-01-19 10:07:38 -08:00
Dmitry Gozman
6928c84ac2
chore: move some files out of server/common ( #11466 )
...
This is a directory for sharing code between Node and Web.
2022-01-18 19:13:51 -08:00
github-actions[bot]
bfe7b7cc20
feat(firefox): roll to r1314 ( #11459 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-18 09:28:04 -08:00
Pavel Feldman
815e121445
feat(highlight): update highlight from raf ( #11443 )
2022-01-17 18:33:35 -08:00
Yury Semikhatsky
cfb86a74fa
fix(webkit): filechooer interception after process swap ( #11415 )
2022-01-14 17:33:07 -08:00
Max Schmitt
fb22c859d6
chore: add browser like UA to browser fetcher ( #11006 )
...
Drive-by: unify all Playwright user agents across the board.
Co-authored-by: Andrey Lushnikov <lushnikov@chromium.org>
2022-01-14 02:46:17 -08:00
Pavel Feldman
feb7148b3f
chore: don't write into stdout from the test runner, use reporters instead ( #11367 )
2022-01-12 19:52:40 -08:00
Pavel Feldman
853757930d
chore: don't log twice twice ( #11361 )
2022-01-12 11:37:49 -08:00
Pavel Feldman
a12e76b52b
chore: implement locator._highlight / playwright._hideHighlight ( #11339 )
2022-01-12 07:37:48 -08:00
Dmitry Gozman
359d523ec3
fix(selectors): allow :scope with additional css ( #11338 )
2022-01-11 18:40:29 -08:00
Dmitry Gozman
807f70bccf
fix(electron): remove timeout from electronApp.close ( #11336 )
...
We do not have a timeout for any other close method, such as
browserContext.close or browser.close, and hitting default
30 seconds is very realistic with large Electron apps.
2022-01-11 17:12:18 -08:00
github-actions[bot]
d31f13468a
feat(webkit): roll to r1592 ( #11261 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-01-10 05:02:07 -08:00
github-actions[bot]
a423a4a9ed
feat(chromium): roll to r956323 ( #11268 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-09 20:44:07 -05:00
Pavel Feldman
dc07fa6da6
fix(locator.count): do not touch main workd when computing count ( #11256 )
2022-01-07 15:52:14 -08:00
Yury Semikhatsky
37a97c4201
feat(tracing): capture network failures ( #11237 )
2022-01-07 11:22:01 -08:00
Pavel Feldman
e1772f15b5
fix(click): don't fail on stale context while clicking ( #11228 )
2022-01-06 15:15:11 -08:00
Dmitry Gozman
be896848bb
fix(selectors): properly determine visibility of display:contents ( #11212 )
2022-01-05 16:54:15 -08:00
Dmitry Gozman
1dbbcd1b37
fix(codegen): polyfill CSS.escape ( #11181 )
...
Some site (for example, fb.com) delete CSS.escape, so we should use the polyfill.
2022-01-04 17:24:53 -08:00
github-actions[bot]
0332b2a7a9
feat(chromium): roll to r954870 ( #11163 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-04 04:54:59 -08:00
Dmitry Gozman
976dedda45
feat(input): restore modified layout shift check ( #11032 )
...
This changes previous layout shift attempt (see #9546 )
to account for more valid usecases:
- On the first event that is intercepted we enforce the hit target. This
is similar to the current mode that checks hit target before the action,
but is better timed.
- On subsequent events we assume that everything is fine. This covers more
scenarios like react rerender, glass pane on mousedown, detach on mouseup.
This check is enabled by default, with `process.env.PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK`
to opt out.
2022-01-03 17:46:04 -08:00
github-actions[bot]
c0201f26b5
feat(chromium): roll to r954674 ( #11147 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-03 09:48:35 -08:00
github-actions[bot]
d43f78f384
feat(firefox): roll to r1312 ( #11124 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-12-29 17:47:32 -08:00
github-actions[bot]
db47b3e392
feat(chromium): roll to r953978 ( #11097 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-27 10:13:18 -07:00
github-actions[bot]
97a43b4bed
feat(chromium): roll to r952821 ( #11040 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-22 09:14:23 -08:00
github-actions[bot]
16ae0af0fd
feat(chromium): roll to r952597 ( #11010 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-18 10:59:42 -08:00
Yury Semikhatsky
eb9c8a8f06
fix(tracing): check if source exists before adding to zip ( #10986 )
2021-12-17 11:52:28 -08:00
Dmitry Gozman
0d277fa589
fix(selenium): allow setting additional capabilities ( #11000 )
...
Also clarify docs about Selenium v4.
2021-12-17 11:33:24 -08:00
musou1500
7d39d345c2
fix(tracing): trace frame ( #10846 )
2021-12-17 10:43:19 -08:00
Dmitry Gozman
dd57843404
fix(inspector): do not show internal calls ( #10982 )
...
Also mark setDefault{Navigation,}Timeout as always internal.
2021-12-16 17:17:24 -08:00
Yury Semikhatsky
707befd6f7
fix(fetch): basic authentication without realm ( #10979 )
2021-12-16 13:40:52 -08:00
Yury Semikhatsky
921aa02ce4
feat(webkit): roll to r1588 ( #10976 )
2021-12-16 12:43:57 -08:00
Yury Semikhatsky
7c3629b72a
feat: export tagged pdf by default ( #10915 )
2021-12-16 11:46:02 -08:00
github-actions[bot]
b606b5b8a0
feat(firefox): roll to r1311 ( #10963 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-15 21:47:58 -08:00
Yury Semikhatsky
230e0b7049
fix(wheel): throw on wheel access in mobile WebKit ( #10946 )
2021-12-15 11:57:28 -08:00
github-actions[bot]
0b86fbde90
feat(chromium): roll to r950899 ( #10930 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-12-15 11:23:01 -08:00
Pavel Feldman
04e82ce71c
feat(api): make withText an option ( #10922 )
2021-12-14 15:37:31 -08:00
Max Schmitt
67b16497cc
chore: move setting PW User-Agent on connectOverCDP to the server side ( #10899 )
2021-12-13 17:20:04 -08:00
Yury Semikhatsky
a2a8967bed
chore: create trace.zip in driver for local runs ( #10868 )
2021-12-13 14:40:29 -08:00
Dmitry Gozman
9f2a040241
fix(chromium): workaround enable-automation infobar ( #10869 )
2021-12-13 10:35:39 -08:00
musou1500
81ab6b3fde
fix(tracing): overwrite attr value specifies charset other than utf-8 ( #10848 )
2021-12-12 14:54:00 -08:00
Mateusz Burzyński
8b5e146b90
test(mouse): add a test for pointerdown event with custom button ( #10697 )
2021-12-12 10:01:45 -08:00
Yury Semikhatsky
aaa8b07770
chore(tracing): collect source names on server ( #10862 )
2021-12-10 14:07:22 -08:00
Ross Wollman
fde427d890
feat(proxy): unify local network proxy behavior ( #10719 )
...
When configuring a proxy, Chromium requires a magic tokens to get some
local network requests to go through the proxy. This has tripped up a
few users, so we make the behavior default to the expected: proxy
everything including the local requests. This matches the other vendors
as well.
NB: This can be disabled via
`PLAYWRIGHT_DISABLE_FORCED_CHROMIUM_PROXIED_LOOPBACK=1`
Supercedes: #8345
Fixes : #10631
2021-12-10 14:01:56 -08:00
Max Schmitt
0b120c7f03
fix: use HTTP/2.0 instead of h2 as Response.httpVersion ( #10812 )
2021-12-10 11:24:52 -08:00
Dmitry Gozman
a52c6219a7
fix(inspector): do not swallow keyup when not recording ( #10842 )
2021-12-09 17:15:38 -08:00
Dmitry Gozman
1d50db809d
fix(snapshot): render sandboxed iframes and svg iframes ( #10835 )
2021-12-09 17:10:31 -08:00
Dmitry Gozman
4996e184bf
fix(electron): make recordVideo work ( #10810 )
2021-12-08 17:34:50 -08:00
github-actions[bot]
287a2eaee8
feat(webkit): roll to r1586 ( #10775 )
2021-12-08 07:52:25 -08:00
Max Schmitt
5ba7903ba0
devops: migrate from master to main branch ( #10303 )
2021-12-07 22:58:33 -08:00
Pavel Feldman
c9220801e7
feat(cli): add locator methods to the cli api ( #10746 )
2021-12-07 12:32:11 -08:00
Andrey Lushnikov
a89fe3ec5c
fix: support shadow DOM with Vue and React selectors ( #10742 )
...
There were two issues:
- we did not find VDom roots inside shadow DOM
- we incorrectly relied on DOM's `contain` method to determine if
VDom's rendered node belongs to requested scope.
Fixes #10123
2021-12-07 11:23:37 -08:00
Dmitry Gozman
ec74fa6a76
feat(fill): support color and range input types ( #10736 )
2021-12-06 15:43:10 -08:00
Pavel Feldman
7765131a14
feat(acceptDownload): revert acceptDownload ( #10709 )
2021-12-06 09:25:24 -08:00
github-actions[bot]
3a1201eb61
feat(chromium): roll to r947661 ( #10712 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-04 08:00:55 -08:00
Yury Semikhatsky
b7ba039436
fix: make APIRequest tracing work on node 16 ( #10705 )
2021-12-03 15:46:57 -08:00
Pavel Feldman
aef0444ff5
fix(focus): make sure strictness is respected ( #10685 )
2021-12-03 10:22:50 -08:00
Pavel Feldman
f583f1604c
feat(locator.withText): allow narrowing locators to those with text ( #10688 )
2021-12-03 09:27:06 -08:00
Yury Semikhatsky
8afd0b7d6a
feat(tracing): trace context APIRequest calls ( #10684 )
2021-12-02 15:53:47 -08:00
Pavel Feldman
5bde171657
fix(chromium): disable AutoExpandDetailsElement as it breaks the web ( #10679 )
2021-12-02 13:04:15 -08:00
Pavel Feldman
31e0a63fcd
feat(toBeChecked): allow passing checked: false ( #10665 )
2021-12-02 10:31:26 -08:00
Pavel Feldman
2ac9c08d0c
feat(inputValue): allow on labels, retarget ( #10666 )
2021-12-02 10:31:06 -08:00
Pavel Feldman
b9731a904e
chore: add validations into check_deps ( #10661 )
2021-12-01 18:14:13 -08:00
Dmitry Gozman
6e00af3b2e
fix(click): revert layout shift logic ( #10653 )
2021-12-01 12:54:20 -08:00
Pavel Feldman
127dacf5d4
fix(toHaveText): normalize zero width white space ( #10623 )
2021-12-01 09:21:21 -08:00
Yury Semikhatsky
d66b7aab3b
feat(expext): toBeOK for APIResponse ( #10596 )
2021-11-30 18:12:19 -08:00
Pavel Feldman
11cbdcf58a
fix(tracing): fix tracing + debugger test ( #10619 )
2021-11-30 17:32:29 -08:00
Henric Trotzig
1bfc473bc8
chore(chromium): Capture off-screen content without resizing viewport ( #10606 )
2021-11-30 14:11:15 -08:00
github-actions[bot]
bdfe92f8a7
feat(chromium): roll to r945826 ( #10597 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-30 21:58:28 +01:00
Max Schmitt
e7f1fd5c56
chore: escape CSS selectors in codegen correctly ( #10608 )
2021-11-30 21:13:41 +01:00
Pavel Feldman
3997671ab7
fix(selectors): do not hide selector errors ( #10595 )
2021-11-29 17:13:24 -08:00
github-actions[bot]
f7da3c31f9
feat(chromium): roll to r945495 ( #10560 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-27 08:53:11 +01:00
Dmitry Gozman
b8b6c7a220
fix(chromium): websocket handshake comes twice ( #10518 )
...
Sometimes we get "Network.webSocketWillSendHandshakeRequest" in Chromium.
Perhaps websocket is restarted because of chrome.webRequest extensions api?
Or maybe the handshake response was a redirect?
This reports websocket twice and triggers an assert.
2021-11-24 10:46:32 -08:00
Max Schmitt
85197e68c9
chore: support range requests in trace viewer http server ( #10434 )
2021-11-23 21:37:55 +01:00
Pavel Feldman
206a877cea
fix(trace-viewer): multiple iframe and UX fixes ( #10486 )
2021-11-23 11:36:18 -08:00
Max Schmitt
5a8010cf4f
fix: noncompliant Firefox User-Agents ( #10492 )
2021-11-23 18:56:22 +01:00
github-actions[bot]
2d4982e052
feat(chromium): roll to r943925 ( #10484 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-23 11:21:15 +01:00
Joel Einbinder
6d3bb458f9
fix(firefox): round down mouse coordinates ( #10483 )
2021-11-23 02:55:32 -05:00
Dmitry Gozman
7d3672899f
fix(tracing): race in stopChunk ( #10481 )
...
Consider the following scenario:
- Tracing is started.
- API call is made (e.g. page.waitForResponse), almost finishes, and
enters onAfterCall where it starts a snapshot.
- tracing.stopChunk is called, and waits for existing actions to finish.
However, it does so by calling onAfterCall one more time.
- tracing.stopChunk removes instrumentation listener and returns
to the client.
- Client starts zipping files.
- Original API call finishes the snapshot and saves it to the trace file.
This results in trace file being written to while the zip is still working.
2021-11-22 20:08:09 -08:00
Joel Einbinder
06ab3c0fda
feat: consider fieldset and aria-disabled when checking if an element is enabled ( #9927 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-22 20:25:06 +01:00
github-actions[bot]
2290232339
feat(chromium): roll to r943346 ( #10452 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-21 00:43:30 +01:00
Yury Semikhatsky
9c23a78c32
chore: throw instead of returning error from fetch ( #10451 )
2021-11-19 20:32:29 -08:00
Max Schmitt
b8b0d7139c
chore: bump ESLint to version 8 ( #10433 )
2021-11-19 18:48:33 +01:00
github-actions[bot]
24cc266de0
feat(chromium): roll to r941965 ( #10372 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-18 18:46:44 +01:00
Yury Semikhatsky
0ca10da166
fix: compute file field mime type on the server ( #10394 )
2021-11-17 18:12:26 -08:00
Dmitry Gozman
ce2c0c59a7
feat(expect): show expect timeout in the error message ( #10388 )
...
Makes it easier to understand that expect does indeed have a separate timeout.
```
Error: expect(received).toHaveCount(expected) // deep equality
Expected: 0
Received: 1
Call log:
- expect.toHaveCount with timeout 500ms
- waiting for selector "span"
- selector resolved to 1 element
- unexpected value "1"
- selector resolved to 1 element
- unexpected value "1"
- selector resolved to 1 element
- unexpected value "1"
```
2021-11-17 17:28:30 -08:00
Yury Semikhatsky
7746cb52a7
fix: do not send Fetch.continueRequest twice for auth requests ( #10382 )
2021-11-17 11:42:06 -08:00
Andrey Lushnikov
93dbcefa46
fix: disable 'AcceptCHFrame' chromium field trial ( #10380 )
...
References #10376
2021-11-17 10:41:53 -08:00
Dmitry Gozman
6a46711347
fix(chromium): race between loadingFailed and requestPaused ( #10289 )
2021-11-12 19:06:53 -08:00
Pavel Feldman
b0723c0621
fix(webkit): disable accelerated compositing on windows ( #10264 )
2021-11-12 08:50:25 -08:00
Max Schmitt
8fe3ea7972
chore: add trace viewer file upload error handling ( #10243 )
2021-11-11 21:31:19 +01:00
Yury Semikhatsky
fbb3c88f3c
fix(fetch): smarter JSON.stringify for application/json requests ( #10245 )
2021-11-11 11:12:24 -08:00
Dmitry Gozman
9ec3e7cd52
fix(click): account for detached elements and iframe overlays ( #10206 )
2021-11-10 12:14:06 -08:00
Pavel Feldman
03fee2f593
feat(trace-viewer): add metainfo tab ( #10205 )
2021-11-09 22:13:51 -08:00
Dmitry Gozman
75efeb1e08
fix: resolve ip using grid/api/testsession endpoint ( #10196 )
...
For Selenium 4, we use se:cdp ws proxy, pointing it to the hub url.
For Selenium 3, we use grid api to try and get the target node ip.
2021-11-09 14:41:13 -08:00
Max Schmitt
d25b0f70bc
chore: api testing test nits ( #10180 )
2021-11-09 14:11:42 -08:00
github-actions[bot]
5b604acedb
feat(chromium): roll to r939194 ( #10165 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-08 20:05:39 -08:00
Pavel Feldman
4553d76fce
api(frame-locator): introduce frame locators ( #10102 )
2021-11-08 09:58:24 -08:00
github-actions[bot]
cc72299cbc
feat(chromium): roll to r938553 ( #10112 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-07 17:50:03 +01:00
Andrey Lushnikov
51a7567907
codegen: use import instead of require for codegen tests ( #10104 )
2021-11-05 19:01:54 -07:00
Dmitry Gozman
61ff52704c
feat(input): perform hit target check during input ( #9546 )
...
This replaces previous `checkHitTarget` heuristic that took place before the action
with a new `setupHitTargetInterceptor` that works during the action:
- Before the action we set up capturing listeners on the window.
- During the action we ensure that event target is the element we expect to interact with.
- After the action we clear the listeners.
This should catch the "layout shift" issues where things move
between action point calculation and the actual action.
Possible issues:
- **Risk:** `{ trial: true }` might dispatch move events like `mousemove` or `pointerout`,
because we do actually move the mouse but prevent all other events.
- **Timing**: The timing of "hit target check" has moved, so this may affect different web pages
in different ways, for example expose more races. In this case, we should retry the click as before.
- **No risk**: There is still a possibility of mis-targeting with iframes shifting around,
because we only intercept in the target frame. This behavior does not change.
There is an opt-out environment variable PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK that reverts to previous behavior.
2021-11-05 17:31:28 -07:00
Pavel Feldman
f3fd3ebc37
chore(frame-selector): add more tests, use frame logic in element handle ( #10097 )
2021-11-05 16:36:01 -07:00
Pavel Feldman
f19864890f
feat(iframe): make iframe selectors work w/ element handles ( #10063 )
2021-11-05 11:06:04 -07:00
Max Schmitt
84d2ee3929
chore: fix connectOverCDP on Windows when proxy is used ( #10080 )
2021-11-05 17:38:13 +01:00
Max Schmitt
c5b19351f6
chore: rename Fetch Request/Response to API ( #10087 )
2021-11-05 16:27:49 +01:00
github-actions[bot]
8a6e4bd350
feat(firefox): roll to r1302 ( #10062 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-04 16:12:59 -07:00
github-actions[bot]
c6e0ecc38c
feat(firefox): roll to r1301 ( #10058 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-04 14:50:36 -07:00
Pavel Feldman
78e99249a3
feat(frame-selector): intial implementation ( #10018 )
2021-11-04 13:28:35 -07:00
github-actions[bot]
9b4d9460eb
feat(chromium): roll to r936784 ( #9986 )
2021-11-04 12:35:31 -07:00
github-actions[bot]
a1f5131501
feat(webkit): roll to r1572 ( #10030 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-04 12:07:03 +01:00
Yury Semikhatsky
bce9a8187d
fix(fetch): post data for delete request ( #10019 )
2021-11-03 13:26:15 -07:00
Dmitry Gozman
c373986ca0
fix(evaluate): reject all context operations when frame detaches ( #9987 )
2021-11-03 10:44:50 -07:00
Pavel Feldman
2ae2136810
chore: do not carry selector next to parsed selector ( #10004 )
2021-11-03 08:35:01 -07:00
Yury Semikhatsky
5abb5d74ea
chore: delete legacy response interception code ( #9995 )
2021-11-02 17:48:38 -07:00
Pavel Feldman
6a30c90590
feat(trace-viewer): render wall time for each action ( #9982 )
2021-11-02 12:16:12 -07:00
github-actions[bot]
87174e9ed7
feat(webkit): roll to r1570 ( #9954 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-02 09:32:00 +01:00
Pavel Feldman
56ca3a18f5
feat(trace-viewer): show test name ( #9957 )
2021-11-01 21:23:35 -07:00
Yury Semikhatsky
13cc266b37
feat: add "commit" to possible waitUntil options ( #9892 )
2021-11-01 17:12:19 -07:00
Dmitry Gozman
9cfbc0c171
chore(expect): simplify expect array edge cases ( #9942 )
2021-11-01 16:42:13 -07:00
Dmitry Gozman
4e52b64619
chore: simplify polls and evaluates in dom.ts ( #9941 )
2021-11-01 15:59:47 -07:00
Dmitry Gozman
50f7477906
chore: use progress.continuePolling instead of passing it around ( #9929 )
2021-11-01 13:57:13 -07:00
Dmitry Gozman
4ff69529d4
chore: detect document open for inspector ( #9901 )
...
To be used later for other global event listeners.
2021-10-30 16:06:52 -07:00
Dmitry Gozman
b244f035bc
chore: small cleanups around actions ( #9895 )
2021-10-29 22:27:57 -07:00
Pavel Feldman
94c33da946
feat(trace): throttle the screencast ( #9893 )
2021-10-29 18:20:17 -07:00
Dmitry Gozman
cea61691fa
fix(connectOverCDP): ensure cleanup when remote ws closes ( #9873 )
2021-10-29 10:35:24 -07:00
Yury Semikhatsky
1886897e5c
fix(matchers): support builtin types ( #9865 )
2021-10-28 18:45:59 -07:00
Pavel Feldman
75ac579fac
fix(toHaveCount): another edge case fix ( #9860 )
2021-10-28 16:04:21 -07:00
Pavel Feldman
2e4722d460
test: migrate to upstream fixtures ( #9835 )
2021-10-28 08:31:30 -07:00
Dmitry Gozman
4743036bbe
fix: guard against undefined contexts ( #9826 )
...
We do not create contexts when we are unable to attribute them to a frame or they come from a stale oopif.
Async hop in the binding method can also cause the context to be destroyed already.
Reproduced with codegen.
2021-10-27 13:28:52 -07:00
Max Schmitt
be64b5f6e2
chore: add missing dynamic sdkLanguage based CLI invocations ( #9817 )
2021-10-27 18:58:13 +02:00
github-actions[bot]
1c88079755
feat(chromium): roll to r934379 ( #9793 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-27 12:39:57 +02:00
Yury Semikhatsky
dd0dae623b
fix(fetch): ignoreHTTPSErrors after redirects ( #9806 )
2021-10-26 23:20:52 -07:00
Pavel Feldman
5451808df1
chore: append sources to traces ( #9736 )
2021-10-25 18:56:57 -07:00
Dmitry Gozman
7527ad27d3
fix(snapshot): empty adopted stylesheet should not prevent node refs ( #9731 )
...
We never marked empty stylesheets as "stale", so we never computed
css text for them. This prevented node reuse, because empty string
is not equal to undefined.
2021-10-23 16:26:46 -07:00
Pavel Feldman
f08c22b467
fix(trace-viewer): show source files in local version ( #9732 )
2021-10-23 11:23:39 -07:00
Yury Semikhatsky
d183d364a0
fix(fetch): remove content-length from redirected post requests ( #9728 )
2021-10-22 16:52:49 -07:00
Pavel Feldman
ea7a294924
fix(trace-viewer): restore dragndrop ( #9697 )
2021-10-21 22:06:24 -07:00
Pavel Feldman
299dffbdb3
fix(expect): fix toHaveCount(0) ( #9690 )
2021-10-21 14:46:54 -07:00
Pavel Feldman
225145fc3e
fix(expect): do not fail on navigated frames while polling ( #9659 )
2021-10-20 13:01:05 -07:00
Pavel Feldman
ba57be99a9
fix(infobar): account for infobar in headed mode ( #9627 )
2021-10-19 15:36:17 -07:00
Yury Semikhatsky
4f7d53ac66
fix(fetch): abort requests when context is disposed ( #9601 )
2021-10-18 19:41:56 -07:00
Pavel Feldman
ff16ac0351
chore(html): html report polish ( #9600 )
2021-10-18 18:33:38 -07:00
Yury Semikhatsky
fd81982c33
fix(selectors): combine visible with other selectors ( #9585 )
2021-10-18 10:47:37 -07:00
Yury Semikhatsky
3e054e9ad6
feat(webkit): bump to r1564 ( #9557 )
2021-10-15 17:22:41 -07:00
Yury Semikhatsky
a186278f2e
fix(selectors): empty text matcher ( #9548 )
2021-10-15 17:00:45 -07:00
Pavel Feldman
811d02dbe8
feat(trace): add web manifest ( #9482 )
2021-10-15 16:33:09 -07:00
Pavel Feldman
e31b96cc26
feat(tracing): make context.request appear in the trace ( #9555 )
2021-10-15 15:22:49 -07:00
Dmitry Gozman
4ce765c3ae
feat(trace): highlight targets for accessors and expects ( #9527 )
2021-10-15 15:07:15 -07:00
Max Schmitt
2d3d733af7
chore(codegen): use offsetX instead of clientX for positioned clicks ( #9521 )
2021-10-15 22:21:19 +02:00
Andrey Lushnikov
7a187d9994
feat: support socks proxy in Fetch API ( #9545 )
2021-10-15 11:33:21 -07:00
Maximilian Hils
84a70eae2f
Create userDataDir if it does not exist ( #9483 )
2021-10-14 11:19:52 -07:00
Max Schmitt
96be17463e
feat(codgen): support positioned clicks in a canvas ( #9503 )
2021-10-14 17:37:29 +02:00
Max Schmitt
1c7a7fcf23
fix: electron launcher ( #9504 )
...
Broken-since: #9446
2021-10-14 16:45:52 +02:00
Andrey Lushnikov
4fa6d1e723
feat(firefox): roll to r1296 ( #9494 )
2021-10-14 11:35:39 +02:00
Pavel Feldman
bb77912aee
chore: don't include babel compiled files in webpack bundles ( #9491 )
2021-10-13 19:27:50 -07:00
Pavel Feldman
cd99ad0da2
feat(trace): allow multiple traces in a single app, gc traces ( #9478 )
2021-10-13 13:31:54 -07:00
Dmitry Gozman
64a3099655
chore(expect): simplify expect implementation ( #9459 )
2021-10-13 08:56:57 -07:00
Pavel Feldman
c0945d9d00
chore(trace): make trace viewer a pwa ( #9438 )
2021-10-12 14:42:50 -07:00
Max Schmitt
2210426a6b
chore(electron): show helpful error when no x11 server is available ( #9446 )
2021-10-12 17:42:39 +02:00
Pavel Feldman
9dfc0a3394
chore: make sw global in trace viewer ( #9431 )
2021-10-11 20:52:28 -07:00
Pavel Feldman
876e08315b
fix(expect): continue polling in array-based matchers, fix edge cases ( #9430 )
2021-10-11 14:01:09 -07:00
github-actions[bot]
9e0ee0e37e
feat(chromium): roll to r930007 ( #9428 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-11 17:02:46 +02:00
Joel Einbinder
c89d5a50dd
chore: migrate to monorepo ( #9421 )
2021-10-11 16:52:17 +02:00