Ross Wollman
9387327a97
docs: Service Worker examples and explanations ( #15595 )
...
Resolves #15582 .
2022-07-13 16:42:46 -07:00
Pavel Feldman
d02914fa3a
chore: relax transpilation criteria to allow ems imports of .vue files ( #15592 )
2022-07-13 16:11:38 -07:00
Pavel Feldman
3939b9f36e
chore: migrate component testing to server-side page reuse ( #15477 )
2022-07-12 14:30:24 -07:00
Ross Wollman
8858162692
fix: Service Workers+Interception: missing page-level Network events ( #15549 )
...
Fixes #15474 .
Notes:
* page-level requests that are also handled by a SW's fetch handler, should not be interceptable at the page-level
* `Network.requestWillBeSent` does not provide enough metadata for Playwright to fire the `request` event at that time, so it does it as soon as it gets to the end of the request lifecycle
2022-07-12 13:23:35 -07:00
Ross Wollman
60b34e9091
test: page-level request/response events with SW fetch handlers and interception ( #15544 )
...
Relates #15474 .
2022-07-11 16:32:42 -07:00
Ross Wollman
6219e945d5
test: cover Service Worker update ( #15537 )
2022-07-11 13:57:41 -07:00
Ross Wollman
2ee235ff1b
test: fix flaky SW tests ( #15536 )
...
The Service Worker tests had some races in them that only were apparent
on the bots. To repro, I ran the tests with:
```
xvfb-run taskset -c 0 npm run ctest -- chromium.spec.ts --headed --reporter=line --repeat-each 10 --workers=1
```
Just because Playwright has a SW, does not mean the worker has fully loaded
it's main/import scripts.
2022-07-11 13:56:38 -07:00
Pavel Feldman
5fc637e44a
chore: experimental resetForReuse ( #15432 )
2022-07-11 13:10:08 -07:00
Meir Blachman
a5571c9981
test: service worker main request/response should be marked correctly ( #15482 )
2022-07-11 12:29:49 -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
Max Schmitt
86a65a03e4
chore: add CI to default user agent ( #15450 )
2022-07-07 21:43:47 +02:00
jfgreffier
efec0261a1
feat(inspector): add keyboard shortcuts ( #12014 ) ( #15326 )
2022-07-07 11:25:48 -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
Dmitry Gozman
0142bdce76
test: mark driver mode as remote ( #15402 )
...
Otherwise we are passing buffers as objects, not as base64.
2022-07-06 09:20:07 -07:00
Andrey Lushnikov
3b269d0ed7
browser(ff-beta): roll Firefox-Beta to 103.0b5 ( #15394 )
2022-07-05 15:47:35 -07:00
Dmitry Gozman
d60b8aba23
fix(codegen): handle more context options ( #15319 )
...
The following options now work across languages:
- `recordHar`
- `serviceWorkers`
In addition, object properties are now sorted alphabetically.
Drive-by: fixed `--target` help message to include all available targets.
2022-07-05 13:30:46 -07: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
Ross Wollman
6cb3236acd
feat(chromium): Service Worker Network Instrumentation and Inspection ( #14716 )
...
Adds Chromium support for Service Worker Networking (interception/routing, Request/Response events, and HAR).
Resolves #1090 .
Depends on #14714 and #14714 .
Supercedes #14321 .
Follow up #14711 .
Landed upstream patches:
- https://chromium-review.googlesource.com/c/chromium/src/+/3510917
- https://chromium-review.googlesource.com/c/chromium/src/+/3526571
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3566669
- https://chromium-review.googlesource.com/c/chromium/src/+/3544685
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3610924
- https://chromium-review.googlesource.com/c/chromium/src/+/3689949
2022-07-01 12:49:43 -07:00
Dmitry Gozman
82032be368
chore(server): validate/convert protocol both ways ( #14811 )
...
Previously, we only validated/converted on the way to the server,
but not from the server.
Validating both ways catches issues earlier, and allows us to
perform automatic conversions, for example only converting
buffers to base64 when sending over wire.
2022-07-01 09:58:07 -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
f2ccd45cfd
test: unskip viewport size test ( #15268 )
2022-06-30 15:58:11 +02:00
Pavel Feldman
6a8d835145
chore: allow updating har while routing ( #15197 )
2022-06-28 15:09:36 -07:00
Yury Semikhatsky
bcb013d240
test: goForward is flaky in firefox ( #15182 )
2022-06-28 09:15:54 -07:00
Playwright Service
fab12c70f7
feat(chromium): roll to r1012 ( #15111 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-27 10:01:10 +02:00
Dmitry Gozman
2f11807552
fix(click): no element should intercept events over the target frame ( #15043 )
...
When target element is inside a non-main frame, there could be an
overlay in some of the parent frames that intercepts pointer events.
However, we never detected this case.
2022-06-24 13:17:25 -07:00
Pavel Feldman
ae6f48c4b8
fix(route): match against updated url while chaining ( #15112 )
2022-06-24 10:48:16 -07:00
Pavel Feldman
1ce1246a0e
test: stress runners ( #15078 )
2022-06-23 15:55:12 -07:00
Max Schmitt
88695be397
test: unflake launcher CR extensions test ( #15064 )
...
chore: unflake launcher CR extensions test
2022-06-23 09:36:33 +02:00
Pavel Feldman
7bd72716f9
feat(har): introduce the slim mode ( #15053 )
2022-06-22 14:44:12 -07:00
Yury Semikhatsky
4f5954c302
test: API request trace has postData ( #15041 )
2022-06-22 09:13:29 -07:00
Max Schmitt
fb441faab1
fix: request/response events with backgroundPages ( #15032 )
2022-06-22 17:23:51 +02:00
Pavel Feldman
9525bedc1f
feat(har): re-add routeFromHAR ( #15024 )
2022-06-21 22:12:37 -07:00
Ross Wollman
25bc4c4ac7
tests: async fallback handlers ( #15027 )
2022-06-21 16:53:36 -07:00
Playwright Service
c0c1ada9fe
feat(webkit): roll to r1667 ( #14960 )
2022-06-21 14:04:52 -07:00
Dmitry Gozman
6af6fab84a
fix(har): internal redirect in renderer-initiated navigations ( #15000 )
...
fix(har): internal redirect in renderer-initiated navigations
2022-06-21 11:01:01 -07:00
Pavel Feldman
883e4d449a
test(har): add more har tests ( #14997 )
2022-06-20 17:22:32 -07:00
Dmitry Gozman
5397394653
feature(har): add testOptions.har ( #14991 )
...
Can now be used with `test.use({ har })`.
Also added more tests for latest har features.
2022-06-20 13:37:31 -07:00
Pavel Feldman
e5372c3421
chore: move har router into local utils ( #14967 )
2022-06-18 20:24:55 -07:00
Yury Semikhatsky
ed6b14f0f4
fix(har): restart redirected navigation ( #14939 )
2022-06-17 21:17:30 -07:00
Pavel Feldman
be64e9ce66
chore(har): attach resources for .zip hars ( #14938 )
2022-06-16 18:27:25 -07:00
Dmitry Gozman
2e646ef92a
test: fix multiple focus highlights in ff codegen tests ( #14937 )
2022-06-16 17:49:08 -07:00
Pavel Feldman
245c33a5d4
feat(har): allow storing content as separate files ( #14934 )
2022-06-16 16:33:32 -07:00
Playwright Service
c17dbe3ab3
feat(chromium-tip-of-tree): roll to r1016 ( #14912 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-16 19:36:37 +02: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
Yury Semikhatsky
259c8d64a5
feat: Page.routeFromHar ( #14870 )
2022-06-15 08:41:46 -07:00
Dmitry Gozman
e640f553b5
fix(connectOverCDP): make sure downloads work in default context ( #14864 )
2022-06-14 12:36:35 -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
Dmitry Gozman
05c56f5942
test: fix video tests on headed mac ( #14841 )
2022-06-13 11:53:31 -07:00
Dmitry Gozman
7c0bff15ca
feat(fulfill): improve fulfilling from har ( #14789 )
...
- `har` option is now an object `{ path, fallback }`.
- Allows falling back to `abort()`, `continue()` or throwing.
- Matches based on url + method.
- Follows redirects in the HAR file.
- Nice error/stack when throwing.
- Tests.
2022-06-10 14:26:45 -07:00
Dmitry Gozman
868e00253f
feat(har): store textual content without base64 encoding ( #14772 )
2022-06-10 14:10:52 -07:00
Pavel Feldman
7a568a2952
feat(route): chain routes ( #14771 )
2022-06-10 09:06:39 -07:00
Playwright Service
a98394033c
feat(chromium-tip-of-tree): roll to r1014 ( #14742 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-10 15:59:49 +02:00
Yury Semikhatsky
873307a39d
test(firefox): skip more video tests when tracing is on ( #14768 )
2022-06-09 14:21:21 -07:00
Dmitry Gozman
652ec2f1fa
test: split accname, fix select preventing context closure
2022-06-09 13:58:22 -07:00
Dmitry Gozman
e4c60d47b1
test: fix pause.spec on tracing bots ( #14766 )
2022-06-09 13:34:01 -07:00
Pavel Feldman
833d332fa3
test(ff): fix headed tests ( #14764 )
2022-06-09 12:56:07 -07:00
Max Schmitt
3853014fa7
chore: add ubuntu 22 support ( #14588 )
2022-06-09 13:20:18 +02:00
Dmitry Gozman
e975aef961
feat(route): fulfill from har ( #14720 )
...
feat(route): fulfill from har
This allows to use pre-recorded HAR file to fulfill routes.
2022-06-08 20:29:03 -07:00
Pavel Feldman
13762c82f9
tests: nuke the failing/flaky test ( #14724 )
2022-06-08 17:21:19 -08:00
Pavel Feldman
ac9e71b9e6
tests(video): fix firefox video tests ( #14723 )
2022-06-08 16:55:30 -08:00
Ross Wollman
85d03714d9
feat: add allow/block serviceWorkers option ( #14714 )
...
Adds cross-browser support for easily allowing/blocking Service Workers via a Context option.
Includes plumbing for Playwright Test's `use`.
Resolves #14522 .
Relates #1090 .
Supercedes #14321 .
2022-06-08 18:27:51 -04:00
Pavel Feldman
48ab172bda
tests(fixit): garden win/webkit/input tests ( #14721 )
...
Bumping images to 300+ to work around the non-sensible minimal size.
2022-06-08 14:13:39 -08:00
Yury Semikhatsky
beb276a2be
test: close context created in the test ( #14719 )
2022-06-08 14:16:09 -07:00
Dmitry Gozman
6c739eb345
feat(cli): option to record har ( #14696 )
...
`npx playwright open --save-har=file.har` produces a HAR file that
can be later inspected or used for mocks.
`--save-har-glob="**/*.{png,woff2}"` option can be used to
produce a smaller har that only contains entries matching the glob.
2022-06-08 10:59:50 -07:00
Yury Semikhatsky
7f026dd64c
feat(webkit): roll to r1658 ( #14709 )
...
Language override behavior changed upstream in WebKit/WebKit@039ebd9
New logic is closer to the actual behavior of WebKit on macOS, meaning that when the user changes system language the actual locale changes according to some weird OS rules:
ru-RU => navigator.language === 'ru'
fr-CH => navigator.language === 'fr-FR'
es-MX => navigator.language === 'es-MX'
Our locale emulation is aligned with that, so setting locale to fr-CH will result in fr-FR etc.
2022-06-08 10:16:49 -07:00
Dmitry Gozman
fdcdd58d7f
feat(har): introduce urlFilter ( #14693 )
...
This is a glob or regex pattern that filters entries recorder in the HAR.
2022-06-07 18:09:47 -07:00
Sébastien Règne
4c2fc6b6eb
feat(browser): add Browser.BrowserType() method ( #14468 )
2022-06-06 09:46:08 -07:00
Yury Semikhatsky
7e130d0c3b
test: firefox does not throttle rAF in the opener anymore ( #14635 )
2022-06-06 09:18:30 -07:00
Dmitry Gozman
40bfdb0f4e
fix(codegen): use name attribute for frame elements ( #14609 )
2022-06-02 21:14:01 -07:00
Yury Semikhatsky
00b8d9f3db
test: opener tab does not throttle rAF ( #14564 )
2022-06-01 20:24:25 -07:00
Dmitry Gozman
c4581e54c0
fix(click): detect iframe overlays that cover target element ( #13876 )
...
This restores the old hit target check, in addition to the new
hit target interceptor.
This way, we got some coverage for iframes and other quirky cases,
but keep the bullet-proof hit target check in place.
2022-06-01 15:23:41 -07:00
Dmitry Gozman
dbcf039717
chore: remove experimental types ( #14560 )
2022-06-01 15:22:43 -07:00
Yury Semikhatsky
d1a3f3306c
fix: respect min allowed firefox width in video tests ( #14558 )
...
In firefox browser window min width is 450, setting viewport to smaller value in the tests led to unexpected image in the video.
References #14405
2022-06-01 14:21:00 -07:00
Playwright Service
f087e39c01
feat(chromium): roll to r1008 ( #14448 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-05-30 15:04:05 +02:00
Yury Semikhatsky
abced7223c
fix: filechooser interception in OOPIFs ( #14432 )
2022-05-27 13:04:58 -07:00
Pavel Feldman
919d3eaf42
test(permissions): split expectations between tot and beta
2022-05-25 08:58:15 -07:00
Pavel Feldman
29f880153e
test: mark ff video tests as failing ( #14406 )
2022-05-25 08:55:03 -07:00
Pavel Feldman
bfab9222a6
test(video): add video scale test ( #14395 )
2022-05-25 08:45:22 -07:00
Pavel Feldman
19237c9490
chore: partially revert #14225
2022-05-24 10:57:38 -07:00
Pavel Feldman
71a55c74da
fix(leak): do not retain test fixtures in worker fixtures ( #14363 )
2022-05-23 16:54:56 -07:00
Pavel Feldman
a1324bd935
fix(route): support route w/ async handler & times ( #14317 )
2022-05-21 21:55:46 -07:00
Andrey Lushnikov
9a73dfe773
feat(chromium-tip-of-tree): roll Chromium TOT to 1008 ( #14279 )
2022-05-19 09:29:44 -07:00
Andrey Lushnikov
fd452058bb
test: try to unflake video spec ( #14288 )
2022-05-19 09:22:18 -07:00
Andrey Lushnikov
34429a222e
tests: mark certain tests as failing on Firefox Headed ( #14286 )
...
References #14285
2022-05-19 09:06:31 -07:00
github-actions[bot]
d6780c5b29
feat(chromium-tip-of-tree): roll to r1007 ( #14225 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-19 07:10:18 -07:00
Pavel Feldman
d5ea1b38f0
fix(recorder): remove waitForNavigation from codegen ( #14166 )
2022-05-18 10:02:09 -07:00
Dmitry Gozman
83d82fa466
test: make "outerWidth and outerHeight" test work on small screens ( #14124 )
2022-05-12 18:46:03 +01:00
Andrey Lushnikov
1afd559330
test: disable fission-related failure for firefox ( #14097 )
2022-05-11 07:06:52 -07:00
Dmitry Gozman
b753ff8686
chore: split injected utils into proper files ( #14093 )
2022-05-11 13:49:12 +01:00
Andrey Lushnikov
ddcce7a63a
devops: fix headlessness reporting to flakiness dashboard ( #14069 )
2022-05-10 09:03:47 -07:00
Pavel Feldman
1658172b2c
chore: run headed on all OSs ( #14042 )
2022-05-09 12:55:59 -07:00
Max Schmitt
04fafcabd8
fix: leaking server side objects ( #13991 )
2022-05-09 17:34:00 +01:00
Pavel Feldman
a052211dbf
chore: do not reset internal bindings for reuse ( #14019 )
2022-05-09 07:44:20 -07:00
Ronie Martinez
c9429283d7
chore(codegen): rename script.js to example.py for Python tests ( #13945 )
2022-05-04 16:15:09 -07:00
Max Schmitt
0c2371cba9
tests: typo in tests and redundant tc ( #13931 )
2022-05-04 17:44:50 +01:00
Dmitry Gozman
9e0aa67d28
feat(codegen): brush up context options in pytest codegen ( #13924 )
2022-05-04 11:14:53 +01:00
Ronie Martinez
2c597f06bd
feat(codegen): pytest support in codegen ( #13746 )
...
feat(codegen): pytest support in codegen
2022-05-04 09:41:20 +01:00
Pavel Feldman
29fd1d86df
chore: hide plugins for now ( #13908 )
2022-05-03 14:25:56 -07:00