Dmitry Gozman
6fe31ab52c
feat: support alternative quotes in js parseLocator() ( #27718 )
...
Fixes #27707 .
2023-10-20 08:42:29 -07:00
Yury Semikhatsky
bd58c0d5d2
fix: preserve lastModified timestamp in setInputFiles ( #27671 )
...
Fixes #27452
2023-10-18 14:05:09 -07:00
Playwright Service
5262e5ab35
feat(chromium-tip-of-tree): roll to r1159 ( #27605 )
2023-10-17 22:41:23 +02:00
Pavel Feldman
d4296dbff4
chore: break dowload.path() to throw ( #27662 )
2023-10-17 12:56:56 -07:00
Max Schmitt
0a49c3dbb9
chore: bump @babel dependencies ( #27632 )
...
This fixes:
```
Run npm audit --omit dev
# npm audit report
@babel/traverse <7.23.2
Severity: critical
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-[6](https://github.com/microsoft/playwright/actions/runs/6535308689/job/17744452034?pr=27631#step:10:7)[7](https://github.com/microsoft/playwright/actions/runs/6535308689/job/17744452034?pr=27631#step:10:8)hx-6x53-jw[9](https://github.com/microsoft/playwright/actions/runs/6535308689/job/17744452034?pr=27631#step:10:10)2
fix available via `npm audit fix`
node_modules/@babel/traverse
1 critical severity vulnerability
To address all issues, run:
npm audit fix
Error: Process completed with exit code 1.
```
2023-10-17 20:52:41 +02:00
Yury Semikhatsky
4e845e7b1d
fix(fetch): JSON.stringify on client ( #27644 )
...
Fixes https://github.com/microsoft/playwright/issues/27602
2023-10-16 16:33:49 -07:00
Dmitry Gozman
e8b4c03e54
fix(chromium): do not cancel downloads when intercepting ( #27638 )
...
Fixes #27575 .
2023-10-16 15:12:52 -07:00
Yury Semikhatsky
b2dc0d2fbd
test: unskip "should keep selection in multiple pages" ( #27611 )
...
https://github.com/microsoft/playwright/pull/27609 fixed the
functionality in WebKit.
Fixes https://github.com/microsoft/playwright/issues/27475
2023-10-16 09:47:05 -07:00
Dmitry Gozman
fc32ca676b
feat: check client version on the server ( #27585 )
2023-10-13 21:02:30 -07:00
Yury Semikhatsky
80c408023e
test: unflake "should fail without credentials" ( #27606 )
...
Speculative fix. The test marked as failed => we reuse the browser
without closing the context.
2023-10-13 14:15:12 -07:00
Yury Semikhatsky
d6adfee7c0
test: update expectation on windows for "should reject if launched br… ( #27603 )
...
…owser fails immediately"
The test has been failing on Windows since
f212fd1a83
2023-10-13 14:02:55 -07:00
Yury Semikhatsky
bc59565d77
fix(webkit): support clipboard.readText ( #27581 )
...
Reference #27475
2023-10-13 09:10:35 -07:00
Yury Semikhatsky
9d76c09ddb
test: preserve selection when switching pages ( #27578 )
...
Reference https://github.com/microsoft/playwright/issues/27475
2023-10-12 12:52:06 -07:00
Pavel Feldman
f212fd1a83
chore: unify target closed errors ( #27540 )
2023-10-12 11:05:34 -07:00
Dmitry Gozman
a5be8ce86a
test: unflake some more tests ( #27546 )
2023-10-11 10:34:11 -07:00
Dmitry Gozman
d05c865389
test: unflake a few tests ( #27519 )
2023-10-10 09:14:58 -07:00
Dmitry Gozman
40ba5ebc1d
test: unflake a launcher test in driver mode ( #27518 )
2023-10-09 14:52:05 -07:00
Dmitry Gozman
e8523abea5
test: mark some --headless=new tests as fixme ( #27516 )
2023-10-09 14:07:22 -07:00
Dmitry Gozman
0717b386f9
test: disable some failing tests ( #27463 )
2023-10-05 15:00:08 -07:00
Jim Hays
dcc8dcca73
Fix various typos ( Fixes #27396 ) ( #27391 )
...
Fixes https://github.com/microsoft/playwright/issues/27396
2023-10-04 19:56:42 -07:00
Pavel Feldman
13cca1db3d
test: add a test for cdp w/ trace ( #27410 )
...
Closes https://github.com/microsoft/playwright/issues/27409
2023-10-03 13:00:35 -07:00
Dmitry Gozman
55c4bb97af
chore: extract CDPSession on the server side, remove duplicate code ( #27349 )
...
This makes sure that protocol calls after target close are rejected
correctly.
2023-09-29 12:50:02 -07:00
Dmitry Gozman
81694b7401
test: unflake some tests ( #27354 )
2023-09-29 10:45:31 -07:00
Dmitry Gozman
c8143748e6
chore: remove Page._didDisconnect ( #27317 )
...
Instead of having `didClose` based on page creation/destruction and
`didDisconnect` based on session lifetime, we make session lifetime
being managed by the `CRPage`/`FFPage`/`WKPage` instead.
2023-09-27 14:09:56 -07:00
Pavel Feldman
20f20e9fba
chore: use stock image matcher in library tests ( #27319 )
2023-09-26 18:46:21 -07:00
Dmitry Gozman
9a5356f93b
fix(snapshot): invalidate style sheet upon CSSGroupingRule changes ( #27296 )
...
Previously, snapshotter listened to CSSStyleSheet modifications, but one
can also modify the list of rules inside CSSGroupingRule.
Fixes #27288 .
2023-09-25 14:34:17 -07:00
Dmitry Gozman
0f72ef0584
fix(streams): avoid leaking event listeners ( #27291 )
...
Fixes #26998 .
2023-09-25 10:59:14 -07:00
Yury Semikhatsky
0bc55fac91
test: unskip "should capture full viewport" ( #27233 )
...
This is fixed by
https://github.com/microsoft/playwright-browsers/pull/643
Fixes https://github.com/microsoft/playwright-browsers/issues/637
2023-09-21 11:20:18 -07:00
Dmitry Gozman
2af7d672ef
fix(tracing): bump trace version to V5, migrate V4 traces to consoleMessage.args ( #27162 )
...
This moves the fix in #27095 from `modernize` to `appendEvent`. The
reason is that `trace V4` is used both for older traces that do not have
`consoleMessage.args` and the new ones with `args`. Since we do not call
`modernize` for traces of the same version, the original fix does not
help in this case.
Fixes #27144 .
2023-09-19 16:21:09 -07:00
Yury Semikhatsky
88038f1b00
fix: do not throw from fetch when response has invalid cookie ( #27192 )
...
Cookie value is limited by 4096 characters in the browsers. If
setCookies failed we try setting each cookie individually just in case
only some of them are bad.
Fixes https://github.com/microsoft/playwright/issues/27165
2023-09-19 16:18:16 -07:00
Yury Semikhatsky
8964587d18
test: update webkit test expectations after last roll ( #27155 )
...
https://github.com/microsoft/playwright/issues/26992 was fixed by
https://github.com/microsoft/playwright-browsers/pull/635 .
Reference https://github.com/microsoft/playwright-browsers/issues/637
Fixes https://github.com/microsoft/playwright/issues/26992
2023-09-18 09:57:18 -07:00
Pavel Feldman
527d260cbf
chore: hide tracing calls from traces ( #27096 )
2023-09-15 12:55:49 -07:00
Andrey Lushnikov
a34030be80
browser(firefox): support relative paths for firefox videos ( #27099 )
...
Firefox protocol requires absolute paths for video recording.
Fixes https://github.com/microsoft/playwright/issues/27086
2023-09-15 10:26:20 -07:00
Dmitry Gozman
b3edf8e562
fix(har): handle invalid Expires/Max-Age ( #27098 )
...
Fixes #27073 .
2023-09-14 17:06:56 -07:00
Andrey Lushnikov
64bf2a624f
test: fix webkit test on Darwin ( #27029 )
2023-09-12 15:01:44 -07:00
Yury Semikhatsky
700b310150
fix(fetch): restore from empty storage state ( #27025 )
...
Fixes #26833
2023-09-12 13:11:18 -07:00
Dmitry Gozman
d9eabda09d
fix(locators): escape quotes in regular expressions ( #27002 )
...
Fixes #26974 .
2023-09-11 15:49:04 -07:00
Dmitry Gozman
186f86905c
chore: make @playwright/test depend on playwright ( #26946 )
2023-09-08 14:23:35 -07:00
Yury Semikhatsky
0213fef484
test: unskip passing test ( #26960 )
...
The functionality was fixed in
[webkit](https://github.com/microsoft/playwright-browsers/pull/625 ) and
should be available with [recent
roll](https://github.com/microsoft/playwright/pull/26953 ).
Fixes #26876
2023-09-08 12:57:32 -07:00
Yury Semikhatsky
fd28e8d801
test: reset view scale after navigation ( #26939 )
...
Failing test for #26876
2023-09-08 08:58:07 -07:00
Pavel Feldman
167c35ca66
chore: store scroll positions in trace viewer ( #26938 )
2023-09-07 17:14:39 -07:00
Playwright Service
bcf59ed721
feat(webkit): roll to r1905 ( #26909 )
2023-09-07 07:41:46 +02:00
Pavel Feldman
61a1924328
chore: align recorder drawer with trace viewer ( #26922 )
2023-09-06 17:13:25 -07:00
Pavel Feldman
d65da74b8f
fix(trace): allow typing in selector w/ frames ( #26919 )
2023-09-06 16:14:40 -07:00
Max Schmitt
f71df9fb50
chore: introduce sdkLanguage based userDataDir misuse error ( #26894 )
...
Fixes https://github.com/microsoft/playwright-python/issues/2059
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-09-06 22:58:44 +02:00
Dmitry Gozman
361038c950
feat: rename PageError to WebError ( #26913 )
2023-09-06 12:40:53 -07:00
Pavel Feldman
b4012df160
fix(trace): make locator picker work for iframes ( #26883 )
...
Fixes https://github.com/microsoft/playwright/issues/26878
2023-09-06 09:44:47 -07:00
Dmitry Gozman
740472ce8f
fix(trace viewer): retain currentSrc of all images ( #26841 )
...
When `<source>` or `srcset=` are involved, the actual image src is
determinted at runtime based on factors like `devicePixelRatio` and
media queries that depend on width/height.
Since these factors may differ in the Trace Viewer itself, we should
preserve the `currentSrc`, use it as an actual `src`, and disable
various `<source>` and `srcset=`.
2023-09-05 12:48:07 -07:00
Pavel Feldman
8c494e2519
chore: add log/error tabs and counters ( #26843 )
2023-09-01 20:12:05 -07:00
Yury Semikhatsky
ce3e0dcf84
test: unskip test in headless ( #26844 )
...
Reference https://github.com/microsoft/playwright/issues/22617
2023-09-01 17:26:23 -07:00
Dmitry Gozman
6d85ba1494
fix: remove connectInsteadOfLaunching ( #26828 )
2023-08-31 15:29:04 -07:00
Dmitry Gozman
741c649d56
fix(trace viewer): make sure target inside shadow dom is highlighted ( #26823 )
...
References #24532 .
2023-08-31 12:46:49 -07:00
Pavel Feldman
c209d7e708
chore: more network panel polish ( #26780 )
2023-08-29 22:20:28 -07:00
Yury Semikhatsky
501ed32856
fix(fetch): update host header on redirect ( #26750 )
...
Fixes https://github.com/microsoft/playwright/issues/26743
2023-08-28 12:42:50 -07:00
Max Schmitt
feac31dbdc
test: mark 'should fire close event' as fixme in MSEdge ( #26712 )
...
https://github.com/microsoft/playwright/issues/26711
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-08-25 23:57:56 +02:00
Max Schmitt
c27317b6e5
feat(webkit): roll to r1893 ( #26596 )
...
This should make it into v1.38 and once its merged one day later it can
be tested in [Playwright
Canary](https://playwright.dev/docs/canary-releases ).
Fixes https://github.com/microsoft/playwright/issues/22569
Fixes https://github.com/microsoft/playwright/issues/23259
2023-08-22 17:57:02 +02:00
Max Schmitt
bb3152738d
test: fix macOS WebKit signals test ( #26603 )
2023-08-22 16:51:34 +02:00
Pavel Feldman
c3c3c7f53c
chore: decorate console message sources ( #26588 )
2023-08-21 16:05:27 -07:00
Max Schmitt
2edecd4244
test: add libsoup3 related tests ( #26572 )
...
https://github.com/microsoft/playwright/issues/22569
https://github.com/microsoft/playwright/issues/23259
2023-08-21 22:12:12 +02:00
Pavel Feldman
8f31191637
chore: pick locator tab ( #26532 )
2023-08-18 17:53:03 -07:00
Yury Semikhatsky
14a57a788b
test: screenshot of css transformation ( #26533 )
...
Failing tests for #26447 .
2023-08-18 14:30:43 -07:00
Vignesh Shanmugam
adc9b2d390
feat: add support for browserContext.on('pageerror') ( #24452 )
...
+ fix #24466
+ Adds support for exposing the `pageerror` events via `browserContext`
API.
+ Helps with capturing the overall exceptions that are thrown outside of
the the current page and also captures the exceptions happens on other
windows/popups.
+ Keeps the API in sync with `context.on('request)',
context.on('console'), etc..`
2023-08-17 09:10:03 -07:00
Pavel Feldman
a705d68c8a
chore: filter actions, console and network based on the timeline window ( #26509 )
2023-08-16 16:30:17 -07:00
Pavel Feldman
576608b69d
chore: revert #24598 ( #26484 )
2023-08-15 11:29:33 -07:00
Playwright Service
96965cfbe9
feat(webkit): roll to r1885 ( #26443 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-08-12 19:17:07 +02:00
Pavel Feldman
d0fec20fe1
chore: update test certificates ( #26423 )
2023-08-10 17:06:03 -07:00
Pavel Feldman
f6563f1a90
chore: use header for service2 auth ( #26419 )
2023-08-10 13:43:16 -07:00
Andrey Lushnikov
0bb4dac28f
tests: fix race condition in codegen tests ( #26405 )
...
The console message comes in once the page navigates, not in the
`page.setContent()` call below.
2023-08-10 07:51:38 -07:00
Pavel Feldman
08d6abab4a
chore: allow merging defineConfig ( #26390 )
2023-08-09 17:23:34 -07:00
Pavel Feldman
65ac0d5256
chore: add k8s grid deployments ( #26359 )
2023-08-08 18:46:32 -07:00
Dmitry Gozman
9509c300e4
fix(reuse): make sure newly created page is not "server-side-only" ( #26332 )
...
This page is going to be the "page for reuse", so it should not be
marked as "server-side-only" and should issue all required events.
Fixes #24574 .
2023-08-07 16:26:30 -07:00
Pavel Feldman
120de62798
chore(grid): add command line options ( #24802 )
2023-08-04 18:08:50 -07:00
Pavel Feldman
aba6964bd1
chore: add grid tests ( #24617 )
2023-08-04 14:59:48 -07:00
Pavel Feldman
6731f5b6d5
chore: grid placeholder ( #24598 )
2023-08-04 08:38:07 -07:00
Pavel Feldman
744eb6823f
chore: fix s2 mode ( #24525 )
2023-07-31 11:24:04 -07:00
Dmitry Gozman
d92fe16b76
fix(blob report): default location relative to package.json ( #24481 )
...
Also:
- remove `blob-report` directory at the start;
- markdown's `report.md` next to package.json;
- use default location in playwright's workflows.
References #24451 .
2023-07-28 15:49:31 -07:00
Max Schmitt
83a98cccf3
test: skip tracing test on trace mode ( #24483 )
...
Thats like we do it here:
c8f2fc392a/tests/library/tracing.spec.ts (L26)
2023-07-28 18:48:34 +02:00
Pavel Feldman
1277ec9900
chore: fix tracing test in s2 mode ( #24480 )
2023-07-27 20:20:31 -07:00
Dmitry Gozman
6c1723ca3e
test: rebaseline webkit signals.spec ( #24471 )
...
Fixes #22226 .
2023-07-27 13:36:43 -07:00
Dmitry Gozman
1754755684
fix(tracing): make sure resetForReuse does not throw ( #24415 )
...
When trace chunk recording is in progress, calling `stop()` throws
`Error: Must stop trace file before stopping tracing`.
2023-07-27 08:06:42 -07:00
Dmitry Gozman
1b233a5ae2
fix(trace viewer): do not serve 304 responses ( #24435 )
...
These do not have any content, and we should server the original
response that was cached by the browser.
Fixes #24255 .
2023-07-27 08:06:00 -07:00
Pavel Feldman
216d08ba94
chore: use shared test run id ( #24448 )
2023-07-26 18:36:33 -07:00
Dmitry Gozman
c8f2fc392a
chore: move fs operation in trace recorder to a separate class ( #24383 )
2023-07-26 17:31:00 -07:00
Dmitry Gozman
ea6d127f28
feat(connect): exposeNetwork option ( #24436 )
2023-07-26 17:29:31 -07:00
Pavel Feldman
517cc18c9b
chore: remove retries, skip tracing tests ( #24443 )
2023-07-26 14:56:38 -07:00
Pavel Feldman
1ddfcf503d
chore: add yml for service2 test mode ( #24441 )
2023-07-26 14:32:48 -07:00
Dmitry Gozman
c33a32dc9e
test: unflake two tests ( #24416 )
2023-07-26 06:50:38 -07:00
Pavel Feldman
b39fd7283f
chore: skip tests that fail in cross-machine service mode ( #24412 )
2023-07-25 16:47:04 -07:00
Pavel Feldman
33d62d9a97
chore: do not use relative xpath when querying from document ( #24405 )
...
Fixes https://github.com/microsoft/playwright/issues/24399
2023-07-25 12:55:35 -07:00
Dmitry Gozman
4c8912f74e
chore: remove separate process that cleans up directories ( #24376 )
...
A separate process is `spawnSync`'ed on process exit to cleanup
temporary directories, introduced in #13769 that followed up after
#13343 .
A separate process might stall for various fs-related issues, which
prevents the original process from exiting.
With the recent changes, we always gracefully close and cleanup after
all launched executables before calling `process.exit()`, and so it
should only be possible to leave temp directories when using Playwright
and calling `process.exit()` programmatically without closing browsers.
We can now drop the extra process and rely on `rimraf.sync` for
last-resort cleanup in these rare circumstances.
2023-07-24 15:24:29 -07:00
Yury Semikhatsky
59d5198d17
fix(fetch): handle negative max-age and expires attributes ( #24311 )
...
Fixes #24221
2023-07-20 15:42:52 -07:00
Playwright Service
20fcd6b272
feat(webkit): roll to r1875 ( #24299 )
...
Since
99ff08340f
search event is disabled in cocoa.
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-19 18:24:21 +02:00
Yury Semikhatsky
d92db9a513
devops: always create blob report on CI, write PR number within action ( #24241 )
2023-07-14 15:10:29 -07:00
Dmitry Gozman
97d55e275d
fix(locator): locator(locator) method uses internal:chain instead of >> ( #24235 )
...
Usually, we can just chain two locators with `>>` to implement
`Locator.locator(locator)`. However, this does not play nicely with more
advanced inner locators like `or` and `and`:
```ts
const child = page.locator('input').or(page.locator('button'));
page.locator('parent').locator(child);
```
One would expect the above to locate "input or button" inside a
"parent". However, currently it locates "input inside a parent" or
"button", because it's translated to `parent >> input >>
internal:or="button"`.
To fix this, we have to wrap inner locator into `internal:chain` and
query it separately from the parent.
Fixes #23724 .
2023-07-14 12:21:45 -07:00
Dmitry Gozman
98f3ca05b9
fix(tracing): only access tracing state on the API calls, not inside trace operations ( #24212 )
...
References #23387 .
2023-07-14 06:19:54 -07:00
Yury Semikhatsky
15c6dad114
chore: test cleanup ( #24211 )
...
The functionality was fixed in
https://github.com/microsoft/playwright/pull/24201 .
Fixes #24201
2023-07-13 09:57:51 -07:00
Playwright Service
7787988043
feat(webkit): roll to r1872 ( #24201 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-13 11:07:33 +02:00
Yury Semikhatsky
cc51d13c36
test: request cookie order is same as in set-cookie ( #24194 )
2023-07-12 17:40:53 -07:00
Pavel Feldman
53bf1995db
chore: do not leak internal page handles after closing page ( #24169 )
...
Partial fix for https://github.com/microsoft/playwright/issues/6319
After this fix, the following scenario won't leak and the context state
(cookies, storage, etc) can be reused by the new page sessions:
```js
for (let i = 0; i < 1000; ++i) {
const page = await context.newPage();
await page.goto('...');
await page.close('...');
}
```
2023-07-12 14:51:13 -07:00
Yury Semikhatsky
700a925565
test: simplify emulate media + connectOverCDP test ( #24166 )
2023-07-11 14:20:05 -07:00