Max Schmitt
904801a5eb
test: add initial webview2 tests ( #16827 )
2022-09-07 20:09:22 +02:00
Yury Semikhatsky
fbf9ca5316
fix: avoid using builtins in injected script bundles ( #17145 )
2022-09-06 17:25:02 -07:00
Dmitry Gozman
f0c5810609
feat(assertions): support toBeEditable({ editable }) ( #17065 )
2022-09-06 12:50:45 -07:00
Dmitry Gozman
306ab34aa3
feat(assertions): support toBeEnabled({ enabled }) ( #17058 )
2022-09-06 11:40:34 -07:00
Dmitry Gozman
b734f36f8b
fix(frameElement): should work for frames inside closed shadow root ( #17055 )
2022-09-06 08:52:25 -07:00
Yury Semikhatsky
01d83f1d5e
fix(har): record request overrides to har ( #17027 )
2022-09-04 10:52:20 -07:00
Dmitry Gozman
1b59abb5e1
chore: fix lint in page-goto.spec ( #17052 )
2022-09-02 15:45:01 -07:00
Dmitry Gozman
3548f3f898
feat(firefox): roll ff to 1350, beta to 1353 ( #17006 )
2022-09-02 08:35:29 -07:00
Yury Semikhatsky
da19219323
fix: throw clear message when requested screenshot is too large ( #17025 )
2022-09-01 18:15:49 -07:00
Dmitry Gozman
1dc05bd4c6
test: unflake "should support boolean attribute with options" ( #17024 )
...
Timeout 100ms is too small.
2022-09-01 17:04:54 -07:00
Yury Semikhatsky
f30ac1d678
fix: support toHaveAttribute(name, options) ( #16941 )
2022-08-30 17:53:00 -07:00
Yury Semikhatsky
990167124f
test: enable link preload interception test ( #16935 )
2022-08-30 17:30:01 -07:00
Yury Semikhatsky
077b8a9289
test: link preload interception ( #16908 )
2022-08-30 10:35:55 -07:00
Yury Semikhatsky
1dcd756996
test: proper escaping for exact text match ( #16866 )
2022-08-26 22:16:04 -07:00
Yury Semikhatsky
67d5c13d65
test: text selector with double quotes ( #16865 )
2022-08-26 17:39:33 -07:00
Dmitry Gozman
fea8772d95
fix: emit load/domcontentloaded events as reported by the browser ( #16861 )
...
Instead of requiring all frames in the subtree to receive a particular
event, we rely on the browser's definition of load and DOMContentLoaded.
This changes logic in a few edge cases:
- Some browsers do not emit load event upon window.stop() at all.
- DOMContentLoaded does not wait for subframes, so they might not be
ready when passing `{ waitUntil: 'domcontentloaded' }`.
`networkidle` preserves the old logic.
2022-08-26 13:48:05 -07:00
Yury Semikhatsky
0e95d66878
test: screenshot hides caret in shadow dom ( #16849 )
2022-08-26 12:33:07 -07:00
Dmitry Gozman
aac9df0542
test: update "page.goBack should work for file urls" to match status quo ( #16810 )
...
Chromium works correctly, WebKit mac has a security error, Firefox fails to go back.
2022-08-26 08:56:31 -07:00
Andrey Lushnikov
622c73cc1e
feat: expect(locator).toHaveAttribute to assert attribute presence ( #16767 )
...
This patch changes `expect(locator).toHaveAttribute()` so that the
`value` argument can be omitted. When done so, the method will
assert attribute existance.
Fixes #16517
2022-08-25 05:28:34 -07:00
Ross Wollman
f91e41ef40
test: cannot override cookie header in continue ( #16774 )
...
Repro for #16773 .
2022-08-23 14:06:25 -07:00
Yury Semikhatsky
ff46d8ce8a
test: postBody content-type is inherited from original request ( #16738 )
2022-08-23 08:28:35 -07:00
Max Schmitt
26df4cc00e
test: skip tests for Electron / Android ( #16731 )
2022-08-22 22:20:45 +02:00
Pavel Feldman
2142fde460
test(isVisible): add a couple of basic tests ( #16697 )
2022-08-19 17:40:13 -07:00
Max Schmitt
be33ec817b
feat(webkit): add forced colors media query override ( #16654 )
2022-08-19 14:19:54 +02:00
Playwright Service
1154fffd8b
feat(webkit): roll to r1707 ( #16668 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-19 11:09:39 +02:00
Yury Semikhatsky
52eca0550d
test: page.reload() works with cross-origin redirect ( #16655 )
2022-08-18 17:35:02 -07:00
Max Schmitt
7e2aec7454
chore: align more ESLint rules with VSCode formatting ( #16647 )
2022-08-18 20:12:33 +02:00
Andrey Lushnikov
59562de0ec
fix(pipe): do not store accumulated message as string ( #16641 )
...
Accumulated message must be stored raw; otherwise, unicode encoding
will break while trying to decode them.
Fixes #16367
2022-08-18 07:53:56 -07:00
Playwright Service
3843a15d5f
feat(webkit): roll to r1704 ( #16628 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-18 10:55:11 +02:00
Yury Semikhatsky
94c99314c6
test: mouse drag ( #16623 )
2022-08-17 15:36:14 -07:00
Yury Semikhatsky
8ebf9d7699
test: disable page/page-set-content.spec.ts:126 in webkit ( #16596 )
...
The test started failing on WebKit after WebKit/WebKit@7de67f9 The cause is the same as in other browsers - missing utility context. Disabling the test in WebKit similar to the other browsers in order to prepare for the next webkit roll.
Related: #16536
2022-08-16 15:31:30 -07:00
Dmitry Gozman
0d3b3d08ab
test: add more tests for retarget behavior ( #16513 )
2022-08-12 16:29:13 -07:00
Dmitry Gozman
3ae50861a3
fix(reload): make sure reload() does not pick same-document navigaiton ( #16504 )
...
We lack `documentId` when doing a reload over browser protocols, so
`reload()` waits for the next navigation to finish. Sometimes, the page
might issue a same-document navigation while reload is in progress,
which confuses the reload command.
To fix the issue, just ignore same-document navigations for reload,
because it is always a new document.
2022-08-12 13:48:47 -07:00
Dmitry Gozman
0ff00e5978
test: put existing retarget tests to a separate file ( #16510 )
2022-08-12 12:40:40 -07:00
Dmitry Gozman
3dc1920ce8
feat(expect): toHaveText/toContainText work with text in shadow dom ( #16433 )
2022-08-11 14:10:12 -07:00
Dmitry Gozman
7acbd052e4
test: migrate some expect() tests to be more readable ( #16394 )
...
This moves some expect() matchers tests from test runner tests to page tests,
because these are implemented through a library call anyway.
Makes tests more readbable, faster and easier to test specific details.
2022-08-10 15:10:25 -07:00
Ross Wollman
e20baacc9c
test: fix large string expectations ( #16388 )
2022-08-09 21:39:13 -07:00
Max Schmitt
ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron ( #16383 )
2022-08-09 23:18:15 +02:00
Ross Wollman
5dea817355
test: corrupted large string repro ( #16369 )
...
Repro for #16367 .
2022-08-09 10:44:52 -07:00
Dmitry Gozman
0fa20d5d1e
fix(click): make it work for display:contents elements ( #16356 )
...
After protocol fixes in all browsers, we can now scroll and click display:contents elements.
The only problem is that `elementsFromPoint()` misbehaves in Chromium and Firefox, so we
need a workaround. Hopefully, it will be fixed upstream - shadow dom spec folks think
"it becomes a real compatibility concern".
This needs Chromium 105 roll.
2022-08-08 16:05:09 -07:00
Yury Semikhatsky
e4efc300c7
test: unskip passing firefox tests ( #16233 )
2022-08-03 17:43:00 -07:00
Yury Semikhatsky
165ab9bfa9
test: update macos 12 test expectations ( #16223 )
2022-08-03 14:51:11 -07:00
Max Schmitt
9795a4ba60
test: mark again some Android tests as fixme
2022-08-03 10:51:45 +02:00
Yury Semikhatsky
bdba9dbaf9
test: skip should capture canvas changes on macos <= 11 ( #16182 )
2022-08-02 17:49:19 -07:00
Yury Semikhatsky
0bab5c60c4
test: content-length is recomputed for postBody override ( #16169 )
2022-08-02 13:55:52 -07:00
Max Schmitt
a2fc636f8e
test: unskip working Android tests ( #16171 )
2022-08-02 22:51:10 +02:00
Pavel Feldman
5a79054544
feat(innerloop): allow reusing browsers over the remote connection ( #16065 )
2022-07-31 14:31:17 -07:00
Yury Semikhatsky
d05044f366
test: console messages are dispatched when page has workers ( #16066 )
2022-07-29 16:58:25 -07:00
Dmitry Gozman
809002df60
fix(events): avoid firing lifecycle events twice ( #16055 )
...
Previously, when some iframe started/finished a new navigation, we
could have removed and then re-addded load/domcontentloaded on the
main frame.
Drive-by: unflake wheel test in Firefox.
2022-07-29 12:44:04 -07:00
Dmitry Gozman
829a1b8444
fix(isVisible): make sure isVisible check is atomic ( #16004 )
2022-07-28 14:09:36 -07:00
Max Schmitt
6482ff7a7f
chore: roll Electron to 16.2.8 ( #16017 )
2022-07-28 15:41:32 +02:00
Yury Semikhatsky
a128dda84e
feat(webkit): roll to r1691 ( #16000 )
2022-07-27 16:39:01 -07:00
Dmitry Gozman
607910f6aa
fix(isVisible): do not retarget visibility checks ( #16002 )
...
We used to go to the enclosing button (inherited from click logic), which is unexpected.
2022-07-27 14:02:35 -07:00
Yury Semikhatsky
93b255ce90
test: unflake wheel test ( #16001 )
2022-07-27 13:27:46 -07:00
Yury Semikhatsky
24ed337e1e
test: wheel event is dispatched to svg element ( #15967 )
2022-07-26 14:21:36 -07:00
Pavel Feldman
9a00c7319b
test: add a passing test for issue ( #15928 )
2022-07-25 15:31:00 -07:00
Dmitry Gozman
4bec6309df
fix(lifecycle): recalculate lifecycle on iframe detach ( #15812 )
...
It could be that iframe was blocking some event, like load or networkidle,
and we never updated the lifecycle after the iframe was detached. This
lead to goto and other navigation commands to never resolve.
2022-07-22 19:44:02 -07:00
Dmitry Gozman
f22d611ec5
test: rebaseline page-event-crash test ( #15817 )
2022-07-20 16:12:54 -07:00
Max Schmitt
501b24a078
test: android test enhancements ( #15797 )
2022-07-20 18:27:08 +02:00
Playwright Service
919bf1f805
feat(chromium-tip-of-tree): roll to r1026 ( #15795 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-19 23:20:37 +02:00
Dmitry Gozman
7396a20277
test: display:contents should be scrollable into view ( #15765 )
2022-07-18 13:36:45 -07:00
Yury Semikhatsky
cb81d23ad6
fix(selectors): max hasText regex against nested nodes ( #15638 )
2022-07-14 08:23:11 -07:00
Yury Semikhatsky
3436e64b75
feat: dispatch wheel event ( #15593 )
2022-07-12 17:17:45 -07:00
Pavel Feldman
3939b9f36e
chore: migrate component testing to server-side page reuse ( #15477 )
2022-07-12 14:30:24 -07:00
Yury Semikhatsky
008a85b143
feat(webkit): roll to r1681 ( #15577 )
2022-07-12 14:07:56 -07:00
Yury Semikhatsky
87531289e2
test: case insensitive regex in hasText ( #15540 )
2022-07-11 14:24:08 -07:00
Yury Semikhatsky
2850aae924
fix(webkit): use new protocol methods for bindings ( #15503 )
2022-07-08 15:11:29 -07:00
Yury Semikhatsky
5f42725358
feat(webkit): roll to r1674 ( #15384 )
...
Also reverted screenshot test changes from 4de14e7
as the breaking change was reverted upstream in Revert [251706@main] getComputedStyle(img).height returns string of a rounded int not a float WebKit/WebKit#1902
2022-07-08 11:07:06 -07:00
Playwright Service
adf03eaa4c
feat(chromium-tip-of-tree): roll to r1023 ( #15447 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-07 19:21:58 +02:00
Andrey Lushnikov
ddad16faf8
test: enable test for page unhandled error in ff ( #15451 )
...
Fixes #14165
2022-07-07 08:17:57 -07:00
Playwright Service
72c3574943
feat(firefox-beta): roll to r1335 ( #15433 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-07-07 05:49:40 -07:00
Yury Semikhatsky
00d5d26f3b
test: relax expectation to work for webkit ( #15397 )
2022-07-05 22:15:40 -07:00
Andrey Lushnikov
530867e8ab
browser(firefox): report unhandled rejections for Firefox ( #15391 )
...
References #14165
2022-07-05 15:46:28 -07:00
Ross Wollman
8cdc4513f1
test: repro for load event fired too often ( #15320 )
...
Repro derived from #15086 . This does not look like a recent regression (if any at all) as it reproduces in both 1.22 and 1.23.
2022-07-05 11:09:36 -07:00
Sean Doyle
ef5a56ce18
feat(evaluate): serialized URL
instances ( #15023 )
...
Add support for returning [URL][] instances from `page.evaluate` calls.
Follow the patterns established by `Date` and `RegExp` serialization.
[URL]: https://developer.mozilla.org/en-US/docs/Web/API/URL
2022-07-05 17:53:02 +02:00
Dmitry Gozman
71dcad3b2e
test: fix some flaky failures ( #15314 )
...
- Never use open shadow root for highlight. This messes up
our selectors that accidentally match internal preview elements.
- Remove failing electron test that we do not care about.
- Skip `channels.spec.ts` in non-default mode.
2022-07-01 13:57:33 -07:00
Yury Semikhatsky
4de14e7d2c
feat(webkit): roll to r1673 ( #15276 )
2022-06-30 12:07:33 -07:00
Dmitry Gozman
f0b3b280a5
test: increase small timeouts to accomodate two workers ( #15257 )
2022-06-30 09:05:39 -07:00
Max Schmitt
b0bb99f413
test: unflake React.js and Vue tests ( #15264 )
...
React takes time to render on overbooked machines. Let's use web-first assertions to test that they work as expected.
Error: expect(received).toBe(expected) // Object.is equality
Expected: 1
Received: 0
at /home/runner/work/playwright/playwright/tests/page/selectors-react.spec.ts:34:71
<img width="887" alt="image" src="https://user-images.githubusercontent.com/17984549/176618419-7653e5d8-4853-4618-af3b-2698827879d2.png ">
2022-06-30 07:00:05 -07:00
Dmitry Gozman
da9d68265b
test: disable network sizes tests on old electron ( #15252 )
2022-06-29 17:50:42 -07:00
Max Schmitt
b3c31f5b13
fix: do not throw on removeListener without listener ( #15224 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-29 13:53:13 +02:00
Dmitry Gozman
8220ab1379
feat(firefox): roll ff 1328 and ff-beta 1330 ( #15185 )
2022-06-29 03:04:46 -07:00
Max Schmitt
e34fa4feeb
fix(evaluate): fallback to toJSON if it exists when serializing ( #15188 )
...
* fix(evaluate): fallback to toJSON if it exists when serializing
* fix test in ff
* window.performance test
2022-06-29 08:07:32 +02:00
Yury Semikhatsky
53404ad167
test: request method is overridden ( #15089 )
2022-06-24 16:26:12 -07:00
Dmitry Gozman
660516d22a
fix(network): make allHeaders wait until all headers are available ( #15094 )
...
fix(network): make allHeaders wait until all header are available
Before, calling `allHeaders()` from `page.on('request')` would yield
provisional headers instead.
With these changes:
- In Firefox, all headers are available immediately.
- In Chromium, all headers are available upon requestWillBeSentExtraInfo.
- In WebKit, all headers are available upon responseReceived.
- In all browsers, intercepted requests use "provisional" headers
as all headers, since there is no network stack to change the headers.
Drive-by: migrated Chromium to `hasExtraInfo` flags that simplifies
the logic quite a bit.
2022-06-24 13:51:09 -07:00
Pavel Feldman
ae6f48c4b8
fix(route): match against updated url while chaining ( #15112 )
2022-06-24 10:48:16 -07:00
Dmitry Gozman
033c250f6d
fix(har): remove types/har.d.ts, update har.ts per spec ( #15046 )
...
Drive-by: typo fix in `notFound` option name.
2022-06-22 12:16:29 -07:00
Max Schmitt
d40761541f
test: update accessibility test expectations ( #15029 )
2022-06-22 09:20:51 +02:00
Ross Wollman
25bc4c4ac7
tests: async fallback handlers ( #15027 )
2022-06-21 16:53:36 -07:00
Yury Semikhatsky
f2b3491705
test: skip page-click-scroll on linux headed too ( #15025 )
2022-06-21 14:51:23 -07:00
Pavel Feldman
3fa5d1d8ec
test(har): suppress route after failure on android & electron
2022-06-21 09:16:50 -07:00
Dmitry Gozman
e3da3ebfa4
feat(har): do not expose HAR types, remove HARResponse fulfill ( #14992 )
2022-06-20 15:19:54 -07:00
Pavel Feldman
e9069bef6b
fix(body): fetch body explicitly for prefetched scripts ( #14941 )
2022-06-16 22:07:43 -07:00
Dmitry Gozman
cdb862767f
fix(page): "load" event should fire before "waitForLoadState" resolves ( #14897 )
...
Currently, `loadstate` and `load` are two separate events in the protocol,
and are fired in this order. As a result, `waitForLoadState()` sometimes
resolves before the `'load'` event is fired, which is unexpected.
Also fixes a flaky test that assumed `load` event comes after `domcontentloaded`
for the empty page, which is not always a case in Chromium.
2022-06-16 09:35:53 -07:00
Yury Semikhatsky
c349c1d57f
feat: newContext.har ( #14892 )
...
Replaced {Page,BrowserContext}.(un)routeFromHar with browser.newContext.har.
2022-06-15 16:35:44 -07:00
Pavel Feldman
225ab68d1c
fix(test): fix the route test ( #14890 )
2022-06-15 16:15:45 -07:00
Yury Semikhatsky
259c8d64a5
feat: Page.routeFromHar ( #14870 )
2022-06-15 08:41:46 -07:00
Yury Semikhatsky
e00a26a11d
feat(route): fulfill with HARResponse ( #14865 )
2022-06-14 15:07:22 -07:00
Pavel Feldman
9cf068ad06
feat(fallback): allow falling back w/ overrides ( #14849 )
2022-06-13 17:56:16 -07:00
Pavel Feldman
dcdd3c3cdb
feat(route): explicitly fall back to the next handler ( #14834 )
2022-06-13 12:30:51 -07:00