Dmitry Gozman
88f30d1ce2
feat: support firefoxUserPrefs in launchPersistentContext ( #27840 )
...
Fixes #27773 .
2023-10-27 09:24:41 -07:00
Pavel Feldman
ff206bd9c1
chore: render time in the trace viewer log ( #27825 )
2023-10-26 14:45:15 -07:00
Max Schmitt
5f0d91a42c
test: add test for multipart keeping order ( #27787 )
...
Test for https://github.com/microsoft/playwright/issues/27720
2023-10-25 19:33:00 +02:00
Pavel Feldman
7de0ccd36e
chore: support await using for close() and dispose() ( #27766 )
...
This change assumes that the user has Node 18 with Symbol.dispose
available.
Fixes https://github.com/microsoft/playwright/issues/27141
2023-10-24 12:25:53 -07:00
Pavel Feldman
5752a28f87
chore: make tests strict (1) ( #27731 )
2023-10-23 09:31:30 -07:00
Max Schmitt
f48861ddee
fix(inspector): highlight xpath/css locators without engine prefix ( #27742 )
...
Motivation: As of today when a user inspects a Locator which is a xpath,
it won't work if the user has not prefixed it with `xpath=` because we
internally compare the given with the generated locator.
Works: `locator('xpath=//div[contains(@class, "foo")]')`
Does not work: `locator('//div[contains(@class, "foo")]')`
Relates
https://github.com/microsoft/playwright/issues/27707#issue-1952360264
Fixes
https://github.com/microsoft/playwright-dotnet/issues/2718#issuecomment-1771073816
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-10-23 18:23:28 +02:00
Max Schmitt
6d7d37061d
fix(recorder): Locator picker had wrong initial language in language bindings ( #27706 )
...
**Description**
When a language port was using Inspector with the "Locator Picker"
feature, it only recognised JavaScript as a language by default. As a
workaround the user was able to click record, interact with the page and
then the language would be correctly used -> csharp e.g. would work in
the "Locator Picker".
**Why?**
Our language bindings are setting `PW_LANG_NAME=<sdkLanguage>` env var
-> good. Our recorder harness also uses this along its internal state
here:
b9b289b641/packages/playwright-core/src/server/recorder.ts (L369)
and it gets used here (no parameter means: we use the first language
aka. primary language):
b9b289b641/packages/playwright-core/src/server/recorder.ts (L95)
The only issue is that the Inspector frontend in the beginning does not
know which language it should use and pass over to the server side, it
then falls back to JavaScript.
**Proposed fix**
Instead of passing it over from the frontend to the server side, we just
always use it from the server side, aka. "currentLanguage". When the
user switches languages in the frontend, "currentLanguage" already gets
updated properly via the "fileChanged" event.
https://github.com/microsoft/playwright-dotnet/issues/2718
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-10-22 13:02:14 +02:00
Dmitry Gozman
d1d5fc67dc
fix(recorder): show action point in main frame only ( #27719 )
2023-10-20 20:58:09 -07:00
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
Yury Semikhatsky
ee9f9e3239
test: emulate media should be isolated between CDP sessions ( #24110 )
...
Failing test for #24109
2023-07-11 11:34:18 -07:00
Pavel Feldman
067faa50d7
chore: migrate Promise.race to scopes to prevent leaks ( #24160 )
2023-07-11 10:38:08 -07:00
Dmitry Gozman
aeba083da0
fix(snapshots): match resources by method ( #24145 )
...
Fixes #24144 .
Previously, we only matched by url, which confuses GET and HEAD requests
where the latter is usually zero-sized.
Also make sure that resources are sorted by their monotonicTime, since
that's not always the case in the trace file, where they are sorted by
the "response body retrieved" time.
2023-07-10 20:04:48 -07:00
Pavel Feldman
e234a6a037
chore: make tracing before/after test more robust ( #24136 )
2023-07-10 18:36:15 -07:00
Pavel Feldman
67ad2c2bf4
feat(ui): render all console / network messages in trace ( #24115 )
2023-07-10 12:56:56 -07:00
Pavel Feldman
50ba25e9a1
fix(trace): do not allow after w/o before ( #24106 )
...
Fixes https://github.com/microsoft/playwright/issues/24087 ,
https://github.com/microsoft/playwright/issues/23802
2023-07-07 17:16:26 -07:00
Dmitry Gozman
92c738b14a
test: unflake some tests ( #23984 )
2023-06-30 13:08:18 -07:00
zhengjitf
6f67f6b52b
fix(chromium): can get correct orientation angle on non-mobile devices ( #23796 )
...
Fix #23772
2023-06-23 11:34:09 -07:00
Dmitry Gozman
5821c547aa
fix(selector generator): use the same label definition as getByLabel ( #23846 )
...
This extracts `getElementLabels` helper function to be used both for
generating and querying.
2023-06-22 08:34:08 -07:00
Max Schmitt
0f9f863183
fix(codegen): generate no Enter keyboard events for textareas ( #23775 )
...
Fixes https://github.com/microsoft/playwright/issues/23774
2023-06-19 17:07:37 +02:00
Dmitry Gozman
132a5a4bf5
fix(trace viewer): prefer latest resource with the same url ( #23763 )
...
When rendering snapshot, disregard earlier resources with the same url,
because it's most likely that the latest one was used for rendering.
An example would be reloading the page before the stylesheet has
finished loading. In this case, the stylesheet will be requested twice,
and the second copy that was not aborted should be used for the
snapshot.
Fixes #23709 .
2023-06-17 06:58:16 -07:00
Andrey Lushnikov
3c0fab489b
chore: miscellaneous trace viewer fixes ( #23695 )
...
- properly annotate continued requests
- nest `attach` steps inside the related `expect` step
- fix primary-id-to-non-primary-id mapping
- make sure images in trace are not draggable
Fixes #23693
---------
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-06-14 09:37:19 -07:00
Dmitry Gozman
5b2e8a6a7a
chore: optional root for generateSelector ( #23692 )
2023-06-13 21:25:39 -07:00
Dmitry Gozman
734705e9b3
chore: elementHandle getters implemented through Frame ( #23557 )
...
This is a step towards not using handles for locator operations.
2023-06-09 07:18:13 -07:00
Dmitry Gozman
11659ceb73
fix(role): handle display:contents elements ( #23607 )
...
Fixes #23521 .
2023-06-08 16:00:48 -07:00
Dmitry Gozman
5cfd6d9fe9
fix(cr network): emit sw-handled requests when routing is enabled ( #23589 )
...
Previously, such requests were skipped because they never receive
`Fetch.requestPaused` as there was no real network.
Also cleanup some redundant tests and move them from chromium-only file.
Fixes #23424 .
2023-06-08 10:33:28 -07:00
Dmitry Gozman
4f8680f7a3
fix(pause): revert timeouts after pause ( #23578 )
...
Fixes #23523 .
2023-06-07 12:30:10 -07:00
Andrey Lushnikov
2e327c9d0c
fix: miscellaneous improvements for tracing UI ( #23558 )
...
- feat(tracing): mark API requests with "API" label
- feat(tracing): do not attribute any resources to `route.` API calls;
otherwise, network traffic might get inside the `route.` actions.
- fix(tracing): map actionIds from primary contexts to actionIds from
non-primary contexts
- fix(tracing): show leading `/` in URL path in network panel
This is a result of a pair-programming session with @pavelfeldman
2023-06-06 17:38:44 -07:00
Pavel Feldman
7579572688
chore: unflake the network status test ( #23551 )
2023-06-06 16:55:53 -07:00
Pavel Feldman
2200892ac3
chore: unmute the console flush test ( #23525 )
...
Closes https://github.com/microsoft/playwright/issues/23107
2023-06-05 12:19:25 -07:00
Dmitry Gozman
e4a1273afa
test: enable user agent override for download in Chromium ( #23479 )
...
Fixes #22843 .
2023-06-02 15:02:54 -07:00
Pavel Feldman
5a14619bab
chore: render route markers in the trace network panel ( #23476 )
...
Fixes https://github.com/microsoft/playwright/issues/23040

2023-06-02 13:00:27 -07:00
Max Schmitt
3c2a8fa306
chore: enable no-floating-promises ESLint rule for tests ( #23376 )
...
https://github.com/microsoft/playwright/issues/23339
2023-06-02 21:59:12 +02:00
Max Schmitt
b21c81d344
devops: add bot for Chromium --headless=new ( #23440 )
...
https://github.com/microsoft/playwright/issues/23389
2023-06-02 20:40:12 +02:00
Dmitry Gozman
835f14d7c9
fix(pause): ignore page.pause on the server ( #23417 )
...
Fixes #23051 .
2023-06-02 08:32:30 -07:00
Dmitry Gozman
14a1eaa474
chore: add Playwright to attribution ( #23447 )
...
This makes it easier to plumb all kinds of options around.
2023-06-01 17:54:43 -07:00
Dmitry Gozman
6bb5c0a549
fix: make evaluate not wait for scheduled navigations ( #23402 )
...
Fixes #23141 .
2023-05-31 14:08:44 -07:00
Dmitry Gozman
2505d48b32
test: skip and unflake tests ( #23399 )
...
- `should respect tracesDir and name` does not work with service mode;
- `isVisible during navigation should not throw` had a short timeout.
2023-05-31 10:52:29 -07:00
Dmitry Gozman
6db6498565
chore: replace sigint handler per browser with a single one ( #23317 )
...
Otherwise, multiple sigint handlers (one from each browser) would try to
`process.exit(130)` each.
2023-05-30 13:54:04 -07:00
Max Schmitt
1f7223eb21
chore: test on Node.js 20 ( #22651 )
...
Fixes https://github.com/microsoft/playwright/issues/22582
2023-05-30 18:16:34 +02:00
Max Schmitt
9e75b95153
fix: display testId as regex in trace-viewer ( #23361 )
...
Fixes https://github.com/microsoft/playwright/issues/23298
2023-05-30 17:45:48 +02:00
Dmitry Gozman
fa86f2aee0
chore: createHttpServer that destroys sockets upon close ( #23294 )
...
This avoids the server hanging on close.
2023-05-26 07:03:41 -07:00
Dmitry Gozman
00b34dddb2
chore: move TestServer under test/ ( #23287 )
2023-05-25 15:11:16 -07:00
Dmitry Gozman
b1db4a8191
test: skip connecting 20 times on non-linux ( #23239 )
2023-05-23 12:16:22 -07:00
Pavel Feldman
fd75b85510
Revert "chore: more tree gardening ( #23119 )"
...
This reverts commit e6bc32b022 .
2023-05-23 12:04:44 -07:00
Pavel Feldman
6cce93b697
chore: explicit server mode control ( #23215 )
2023-05-23 10:56:37 -07:00
Pavel Feldman
631edc9744
chore(internal): generate code in jsonl ( #23124 )
2023-05-20 10:15:33 -07:00
Dmitry Gozman
bd33e5f8c0
fix(tracing): when zipping remotely, use correct file name ( #23171 )
...
Fixes #23108 .
2023-05-19 14:42:01 -07:00
Yury Semikhatsky
5004f908d9
devops: do not upload test-results artifacts ( #23168 )
2023-05-19 13:06:42 -07:00
Max Schmitt
acdb71878e
test: unskip selenium driver test ( #23129 )
...
Issue is that [when `stop()` is
called](28504f6dc7/tests/library/browsertype-launch-selenium.spec.ts (L202) ),
`onExit()` gets called and then it throws an unhandled rejection.
This regressed in https://github.com/microsoft/playwright/pull/23028 .
I didn't find a reason to keep onExit, so removed it for now since
transport should handle these scenarios.
Fixes https://github.com/microsoft/playwright/issues/23110
2023-05-18 18:33:11 +02:00
Playwright Service
28504f6dc7
feat(chromium-tip-of-tree): roll to r1115 ( #23109 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-05-18 11:49:35 +02:00
Andrey Lushnikov
e6bc32b022
chore: more tree gardening ( #23119 )
...
https://github.com/microsoft/playwright/issues/23114
https://github.com/microsoft/playwright/issues/23115
https://github.com/microsoft/playwright/issues/23116
https://github.com/microsoft/playwright/issues/23117
https://github.com/microsoft/playwright/issues/23118
2023-05-17 18:57:35 -07:00
Andrey Lushnikov
7ff82760de
chore: tree gardening ( #23111 )
...
https://github.com/microsoft/playwright/issues/23107
https://github.com/microsoft/playwright/issues/23108
https://github.com/microsoft/playwright/issues/23110
2023-05-17 17:54:34 -07:00
Dmitry Gozman
be7984bdc9
fix(unroute): do not compare regexp instances ( #23101 )
...
References #23092 .
2023-05-17 16:27:32 -07:00
Yury Semikhatsky
52feff39b3
chore: run primary tests with blob reporter ( #23076 )
2023-05-17 09:10:31 -07:00
Pavel Feldman
fbc461ede0
chore(trace): do not flush console events ( #23073 )
...
Fixes https://github.com/microsoft/playwright/issues/20626
2023-05-16 18:44:27 -07:00
Max Schmitt
89aa02228f
devops: add macOS 13 coverage ( #23065 )
...
Coverage https://github.com/microsoft/playwright/issues/22226
2023-05-17 01:13:09 +02:00
Dmitry Gozman
62146b946c
fix(codegen): ignore previously hovered detached nodes ( #23057 )
...
Fixes #23043 .
2023-05-16 11:13:19 -07:00
Playwright Service
aa6eb41466
feat(webkit): roll to r1848 ( #23032 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-05-16 12:13:58 +02:00
Dmitry Gozman
73f9f81db4
feat(locators): allow ambiguous locators when parsing ( #23034 )
...
This supports locators like `nth(0)` and `locator('div', { hasText:
'foo' })` that are not canonical, but still work.
Fixes #22990 , #22965 .
2023-05-15 19:42:51 -07:00
Max Schmitt
17ab777db5
chore: set min viewport for WK on Win to 250x240 ( #22969 )
...
Follow-up for https://github.com/microsoft/playwright/pull/22956 .
2023-05-14 16:59:15 +02:00
Dmitry Gozman
9472f79d32
fix(reuse): reset mouse position in Firefox ( #22973 )
...
Otherwise, Firefox sometimes keeps the current position and triggers
unexpected hover effects.
Fixes #22432 .
2023-05-12 13:21:49 -07:00
Andrey Lushnikov
eea7a8e638
browser(firefox): roll Firefoxes ( #22998 )
...
Fixes https://github.com/microsoft/playwright/issues/15405
Fixes https://github.com/microsoft/playwright/issues/22618
2023-05-12 11:27:19 -07:00
Yury Semikhatsky
8a09d6dc0b
test: enable requestFullscreen test in webkit ( #22940 )
...
Fixes #22832
2023-05-11 10:00:22 -07:00
Max Schmitt
00187172f2
chore: introduce minimal viewport for WebKit/Windows/headed ( #22956 )
...
Fixes https://github.com/microsoft/playwright/issues/22616
2023-05-11 17:54:05 +02:00
Yury Semikhatsky
e8d994836e
chore: move fetch proxy tests in its own file ( #22936 )
...
The browser has to be launch with `proxy: 'per-context'` option for the
tests to work on Windows.
Fixes the following:
```
Error: browser.newContext: Browser needs to be launched with the global proxy. If all contexts override the proxy, global proxy will be never used and can be any string, for example "launch({ proxy: { server: 'http://per-context ' } })"
at D:\a\playwright\playwright\tests\library\browsercontext-fetch.spec.ts:382:19
```
2023-05-10 10:47:40 -07:00
Yury Semikhatsky
c579345610
test: requestFullscreen API is supported ( #22889 )
...
https://github.com/microsoft/playwright/issues/22832
2023-05-10 09:31:20 -07:00
Max Schmitt
1541206482
test: use custom browser binary for connnect tests ( #22900 )
...
Fixes https://github.com/microsoft/playwright/issues/22898
2023-05-10 09:30:56 +02:00
Yury Semikhatsky
75e106745f
fix(fetch): support proxy.bypass ( #22914 )
...
Fixes #21916
2023-05-09 14:51:49 -07:00
Yury Semikhatsky
2e61a389d9
test: unskip loading in HTMLImageElement.prototype in WebKit ( #22907 )
...
It was fixed by roll to r1841.
Fixes https://github.com/microsoft/playwright/issues/22738
2023-05-09 10:39:44 -07:00
Yury Semikhatsky
21ffa0b6ad
test: custom user agent for download request ( #22859 )
...
Failing test for #22843
2023-05-05 17:45:30 -07:00
Pavel Feldman
efad19b332
chore: render test steps in the trace ( #22837 )
2023-05-05 15:12:18 -07:00
Dmitry Gozman
641e223ca8
fix(server): explicit allowlist for launch options ( #22855 )
...
Some options, usually paths, do not make sense when running remotely.
Fixes #22844 .
2023-05-05 13:07:06 -07:00
Yury Semikhatsky
02a1a2e6a9
fix(webkit): define window.GestureEvent ( #22768 )
...
Polyfill GestureEvent so that Safari detection works.
Fixes #22735
2023-05-05 11:37:28 -07:00
Dmitry Gozman
160888df99
feat(locators): reland locator.and(locator) ( #22850 )
...
Removed in #22223 .
Fixes #22585 .
2023-05-05 11:14:01 -07:00
Dmitry Gozman
2393602e8c
fix(reuse): ignore late bindings after dispatchers were disposed ( #22838 )
...
When reusing the context, we first dispose all dispatchers, and then
reset the page/context. If bindings are triggered during the reset, they
try to send messages on disposed dispatchers.
Since there is no way to unregister bindings, just ignore them after
disposal.
Fixes #22803 .
2023-05-05 11:10:53 -07:00
Dmitry Gozman
236c329ea9
feat: browserContext.on('dialog'/'console') ( #22805 )
...
Relanding #22033 and #21943 .
2023-05-04 15:11:46 -07:00
Dmitry Gozman
ca3629186c
fix(role): fix native controls text alternative when aria-labelledby is present ( #22800 )
...
Fixes #22779 .
2023-05-03 16:09:08 -07:00
Yury Semikhatsky
a68cc161dc
test: HTMLImageElement.prototype.loading is present ( #22744 )
...
Failing test for https://github.com/microsoft/playwright/issues/22738
2023-05-01 14:55:20 -07:00
Pavel Feldman
116fb349ce
chore: allow configuring test id attribute for codegen ( #22716 )
...
Fixes: https://github.com/microsoft/playwright/issues/22653
2023-04-29 12:04:33 -07:00
Pavel Feldman
e9373dfb6e
chore: make client-side instrumentation non-nullable ( #22694 )
2023-04-28 08:57:43 -07:00
Yury Semikhatsky
e809ecdc5d
test: relax event location expectation ( #22668 )
...
The actual pageX/pageY values vary between browsers, os versions and
headed/headless. Relaxing the expectation to ensure that the result is
sensible after the pixel conversions.
2023-04-26 17:22:01 -07:00
Andrey Lushnikov
f3852d4511
test: tree herding ( #22660 )
...
Disable tests according to the filed bugs.
https://github.com/microsoft/playwright/issues/22616
https://github.com/microsoft/playwright/issues/22617
https://github.com/microsoft/playwright/issues/22618
2023-04-26 13:11:02 -07:00
Yury Semikhatsky
4d6092fc8f
test: check os version only on mac ( #22658 )
2023-04-26 12:59:21 -07:00
Andrey Lushnikov
99d4887053
feat(firefox): roll to r1403 ( #22540 )
...
Fixes https://github.com/microsoft/playwright/issues/22082
Fixes https://github.com/microsoft/playwright/issues/20993
2023-04-21 21:45:41 -07:00
Andrey Lushnikov
2b9b46e260
test: add test for viewport scaling ( #22532 )
...
This test makes sure that the viewport scaling approach we tried in
Firefox doesn't work since coordinates are rounded to integers
internally before being dispatched to the renderer.
https://github.com/microsoft/playwright/issues/22082
2023-04-20 10:24:33 -07:00
Yury Semikhatsky
e69d3d976f
test: remove fixme for webkit video on linux ( #22461 )
...
Fixes https://github.com/microsoft/playwright/issues/22411
2023-04-18 09:21:20 -07:00
Pavel Feldman
00df08b3cf
chore: explicitly control actions with slow mo ( #22445 )
...
Fixes https://github.com/microsoft/playwright/issues/22273
2023-04-17 16:19:30 -07:00
Yury Semikhatsky
1fecc20238
feat(webkit): roll to r1830 ( #22412 )
...
https://github.com/microsoft/playwright/issues/22411
Fixes https://github.com/microsoft/playwright/issues/21892
2023-04-14 13:32:50 -07:00
Andrey Lushnikov
da87a0af76
test: update selenium server and try to reenable tests ( #22391 )
...
This patch updates selenium server to 4.8.3, hoping that it
fixed the issue.
Fixes https://github.com/microsoft/playwright/issues/21733
2023-04-13 14:15:09 -07:00
Andrey Lushnikov
9411790712
test: skip new tests that don't work in non-default mode ( #22369 )
...
The tests were added in
5cd9f83c7b
2023-04-12 15:15:34 -07:00
Andrey Lushnikov
2977c2b539
test: refer to the upstream Firefox bug ( #22364 )
...
There's no action on our side to fix this.
Fixes https://github.com/microsoft/playwright/issues/21550
2023-04-12 10:37:21 -07:00
Andrey Lushnikov
8bb708be70
test: unflake inspector-cli tests ( #22347 )
...
This patch:
- changes the `childProcess` fixture to reliably SIGKILL all descendants
(children and grand-children, regardless of their process group).
This is achieved using the `ps` command to build the process tree, and
then send
`SIGKILL` to the descendant process groups.
- changes the `runCLI` fixture to **not** auto-close codegen by default;
the `childProcess` fixture will clean up all processes. This makes
sure that all `runCLI.waitFor()` commands actually wait until the
necessary
output.
- for a handful of tests that do actually want to auto-close codegen,
introduce an optional `autoCloseWhen` flag for the `runCLI` fixture
that makes sure to close the codegen once a certain output was reached.
2023-04-12 09:37:24 -07:00
Andrey Lushnikov
15c6803880
test: add test for clicking in large viewports ( #22322 )
...
Right now we cannot click on the boundaries of the viewports
that are larger than screen size in headed firefox.
https://github.com/microsoft/playwright/issues/22082
2023-04-11 01:47:47 -07:00
Yury Semikhatsky
1e9668f8bd
test: download link with data url ( #22312 )
...
References #21892
2023-04-10 14:15:06 -07:00
Yury Semikhatsky
5cd9f83c7b
fix(webkit): properly set user agent in persistent context ( #22283 )
...
Fixes https://github.com/microsoft/playwright/issues/22274
2023-04-07 19:50:49 -07:00
Max Schmitt
2df0f0738d
test: report and kill child processes which are leaking after test ( #22237 )
2023-04-06 20:09:19 +02:00
Dmitry Gozman
08cef43e82
feat(locator): remove locator.and and locator.not ( #22223 )
...
Not shipping for now, after API review.
2023-04-05 16:28:13 -07:00
Dmitry Gozman
35afb056ea
feat(locator): filter({ hasNotText }) ( #22222 )
...
The opposite of `filter({ hasText })`.
2023-04-05 14:13:28 -07:00
Dmitry Gozman
bc1de5f28d
feat(locator): filter({ hasNot }) ( #22219 )
...
This is the opposite of `filter({ has })`.
2023-04-05 12:45:46 -07:00
Dmitry Gozman
d7b3836752
chore: revert console and dialog events on BrowserContext ( #22195 )
...
This reverts #22033 and #21943 , since there will be no immediate
benefits in v1.33.
2023-04-04 13:13:52 -07:00
Andrey Lushnikov
df6888a251
test: add regression test for screencast bug ( #22164 )
...
Fixed firefox is already rolled in.
Fixes https://github.com/microsoft/playwright/issues/22069
2023-04-03 09:28:35 -07:00
Dmitry Gozman
1fbefa694f
fix(role): update accessible name calculation for native buttons ( #22124 )
...
There is a new section in the spec:
https://w3c.github.io/html-aam/#button-element-accessible-name-computation
Fixes #21808 .
2023-03-31 14:17:18 -07:00
Dmitry Gozman
539d9873c2
feat: rename Locator.filter(locator) to Locator.and ( #22101 )
2023-03-30 14:41:30 -07:00
Dmitry Gozman
e6148bb725
feat: Locator.not(locator) ( #22066 )
2023-03-30 08:52:30 -07:00
Playwright Service
896a03e776
feat(webkit): roll to r1820 ( #22083 )
2023-03-30 10:03:16 +02:00
Pavel Feldman
968abd27d5
chore: do not use attributes for trace target annotation ( #22075 )
...
Fixes: https://github.com/microsoft/playwright/issues/22004
2023-03-29 23:17:17 -07:00
Andrey Lushnikov
0b170ddc12
test: enable some of the previously disabled tests ( #22047 )
...
Fixes https://github.com/microsoft/playwright/issues/21549
2023-03-29 10:52:55 -07:00
Dmitry Gozman
6a2b4ed142
fix(role): use <title> for elements inside svg ( #22043 )
...
Follows svg-aam mapping:
https://www.w3.org/TR/svg-aam-1.0/#mapping_additional_nd
Fixes #21486 .
2023-03-28 15:52:16 -07:00
Max Schmitt
ddd7765ef4
test: fix Chromium headed credential tests ( #22044 )
2023-03-29 00:34:26 +02:00
Dmitry Gozman
3b359e27b7
feat: BrowserContext.on('dialog') ( #22033 )
...
Dialogs created early during page initialization are only reported on
the context, with `page()` being `null`.
2023-03-28 13:15:55 -07:00
Dmitry Gozman
f502c72f2b
feat: browserContext.on('console') ( #21943 )
2023-03-27 16:35:05 -07:00
Dmitry Gozman
525097d465
feat: Locator.filter(locator) ( #21975 )
...
Produces a locator that matches both locators.
Implemented through `internal:and` selector.
Fixes #19551 .
2023-03-27 14:29:30 -07:00
Max Schmitt
a64cdf87ee
test: skip 'should work with ip6 and port as the host' inside Docker ( #21981 )
2023-03-27 13:17:53 -07:00
Sébastien Richert
591e4ea976
feat: Restrain sending http credentials on a specific origin ( #20374 )
...
For security purpose, we would like to restrain sending HTTP credentials
to only the specified server. The idea is to give the ability to specify
a origin (scheme://host:port) additionally to current pair
username/password. When an authorization response is received from
servers, the credentials are sent only if the server origin in the
request matches case insensitive the specified origin.
2023-03-27 08:52:00 -07:00
Max Schmitt
054fcd39ba
chore: remove Selenium jar files from repo ( #21939 )
2023-03-23 22:00:30 +01:00
Pavel Feldman
6b83631f24
chore: fix trace viewer backwards compat ( #21935 )
2023-03-23 12:49:53 -07:00
Andrey Lushnikov
3477c89f20
fix(trace-viewer): survive broken selectors ( #21866 )
...
Fixes https://github.com/microsoft/playwright/issues/21832
2023-03-22 18:52:04 -07:00
Dmitry Gozman
d10fac4f6a
feat: Locator.or(locator) ( #21884 )
2023-03-22 15:28:59 -07:00
Dmitry Gozman
a01fd04d63
chore: remove hierarchy of SnapshotStorage ( #21853 )
2023-03-22 09:32:21 -07:00
Dmitry Gozman
80a37ec171
fix(socks): use happy-eyeballs to create a connection ( #21847 )
2023-03-21 14:12:24 -07:00
Yury Semikhatsky
1004e762aa
chore(fetch): host does not include port ( #21845 )
2023-03-21 13:14:50 -07:00
Dmitry Gozman
bea6fa15b2
feat(snapshots): use double-buffer to avoid white flash on hover ( #21828 )
2023-03-21 07:40:54 -07:00
Playwright Service
2dee3c4fc7
feat(webkit): roll to r1813 ( #21819 )
...
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-03-20 23:56:03 +01:00
Max Schmitt
55df07fd60
test: force crash tests on new worker and keep launchOptions ( #21818 )
...
Fixes https://github.com/microsoft/playwright/issues/21810
2023-03-20 21:43:51 +01:00
Dmitry Gozman
8accabdb59
test: gardening ( #21814 )
...
Notable changes:
- `page-event-crash` is not a page test, moving out of page/.
- One of the expect tests is directly covered by another, merging them.
2023-03-20 12:52:52 -07:00
Andrey Lushnikov
36a1055524
test: selectively disable selenium tests ( #21741 )
...
https://github.com/microsoft/playwright/issues/21733
2023-03-17 17:48:45 -07:00
Dmitry Gozman
3a80d119e0
chore: update routeFromHAR options for release ( #21764 )
2023-03-17 11:49:45 -07:00
Max Schmitt
84a1368fa4
test: enable XMLHttpRequest upload events test on WK+Windows ( #21727 )
...
Fixes https://github.com/microsoft/playwright/issues/21489
2023-03-17 12:32:55 +01:00
Max Schmitt
b86395a54a
test: unflake 'serviceWorker should intercept document request' ( #21722 )
...
fixes https://github.com/microsoft/playwright/issues/21691
2023-03-16 19:24:13 +01:00
Pavel Feldman
c45d8749b0
chore: split trace events into phases ( #21696 )
2023-03-15 22:33:40 -07:00
Dmitry Gozman
40a6eff8f2
feat: support name option in tracing.startChunk() ( #21692 )
2023-03-15 17:34:56 -07:00
Dmitry Gozman
bde2e90973
fix(selector generator): do not produce has-text="foo"s ( #21679 )
...
There is no locator counterpart for it. Instead, produce a regex.
Also fix locator generator to not produce incorrect locator in this
case.
Fixes #21649 .
2023-03-15 13:43:42 -07:00
Dmitry Gozman
ccd5d7fd10
fix(hit target): workaround webkit elementsFromPoint bug ( #21642 )
...
Fixes #21596 .
2023-03-13 19:33:56 -07:00
Yury Semikhatsky
555cea38e7
test: unskip setContent with js disabled ( #21644 )
...
Fixes #21574
2023-03-13 19:03:31 -07:00
Pavel Feldman
b85d670491
chore(ui): show output on demand ( #21592 )
2023-03-11 11:43:33 -08:00
Pavel Feldman
e45a496850
chore(tv): render error in-line ( #21586 )
2023-03-10 16:22:19 -08:00
Dmitry Gozman
46f9fa005e
fix(tracing): do not double-zip entries in remote mode ( #21579 )
...
Fixes #21435 .
2023-03-10 14:54:32 -08:00
Andrey Lushnikov
8abe9fcf22
tree gardening: disable & assign failing tests ( #21575 )
...
References https://github.com/microsoft/playwright/issues/21574
References https://github.com/microsoft/playwright/issues/21549
2023-03-10 12:04:25 -08:00
Dmitry Gozman
0794cb1486
fix(fetch): preserve case in header names ( #21543 )
...
Fixes #21492 .
2023-03-10 08:58:12 -08:00
Andrey Lushnikov
7a1c5b2aa3
test: make the tree green ( #21551 )
...
References https://github.com/microsoft/playwright/issues/20522
References https://github.com/microsoft/playwright/issues/20993
References https://github.com/microsoft/playwright/issues/21435
References https://github.com/microsoft/playwright/issues/21512
References https://github.com/microsoft/playwright/issues/21549
References https://github.com/microsoft/playwright/issues/21550
2023-03-09 16:56:29 -08:00
Yury Semikhatsky
c30d88a63a
test: setContent with disabled javascript ( #21399 )
...
Fixes https://github.com/microsoft/playwright/issues/21379
2023-03-09 10:45:19 -08:00
Max Schmitt
9191c72a3f
test: XMLHttpRequest upload events ( #21501 )
...
https://github.com/microsoft/playwright/issues/21489
2023-03-09 16:21:01 +01:00
Pavel Feldman
cffb6ac269
chore: move sever/isomorphic to utils/ to use it in client ( #21445 )
2023-03-06 18:49:14 -08:00
Yury Semikhatsky
0ebe090b8c
fix(har): do not hang on chunked response in har recorder ( #21397 )
...
Fixes #21182
2023-03-03 17:27:34 -08:00
Yury Semikhatsky
be259dac7c
fix: expose window.safari in webkit ( #21361 )
...
The actual API of the object is not implemented because those who want
to test it will likely need their own mock and for the browser detection
logic (as described in the bug) just having the property on window
should be sufficient.
Fixes #21037
2023-03-03 13:38:13 -08:00
Yury Semikhatsky
26fa0eeae8
test: har does not hang on slow chunked response ( #21392 )
...
#21182
2023-03-03 11:32:21 -08:00
Max Schmitt
778f8e65d2
chore: do not cache between reused context ( #20052 )
...
Fixes https://github.com/microsoft/playwright/issues/19926
2023-03-03 12:37:44 +01:00
Pavel Feldman
09ff7eaaf2
chore: throw on context.close() if it was closed externally ( #21347 )
2023-03-02 13:46:54 -08:00
Yury Semikhatsky
3b800344b0
fix(oopif): get response body from adopting frame ( #21324 )
...
Fixes https://github.com/microsoft/playwright/issues/20809
2023-03-01 17:18:58 -08:00
Dmitry Gozman
b4bfbb20f6
chore: update selenium 4 tests to not use /wd/hub ( #21240 )
2023-02-27 19:43:49 -08:00
Dmitry Gozman
cabeb42c8c
chore: update selenium tests from 4.0.0-rc1 to 4.4.0 ( #21235 )
2023-02-27 16:58:08 -08:00
Pavel Feldman
22d82b6e1b
chore: flatten metadata in trace events ( #21214 )
2023-02-27 15:29:20 -08:00
NoamGaash
e17e0e40f8
feat(routeFromHAR): add arguments ( #21223 )
2023-02-27 15:27:38 -08:00
Tarnay Kálmán
e28801f6ef
fix(snapshot): render srcdoc iframe snapshots ( #21003 )
2023-02-27 13:34:39 -08:00
Pavel Feldman
ed41fd0643
chore: use listview to render stack trace ( #21197 )
2023-02-24 15:31:10 -08:00
Playwright Service
5affd333a7
feat(webkit): roll to r1801 ( #21183 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-24 15:34:37 +01:00
Dmitry Gozman
f29d58e87f
chore: remove test that sends SIGTERM to the browser ( #21171 )
...
Fixes #21168 .
2023-02-23 14:49:18 -08:00
Dmitry Gozman
2718123d30
fix(snapshots): define dummy custom elements ( #21131 )
...
For all custom elements defined in the page, we preserve their names and
define them in the rendered snapshot.
This makes things like `:defined` css pseudo work.
Fixes #21030 .
2023-02-22 21:53:27 -08:00
Pavel Feldman
55c95a4463
chore: do not send stacks as a part of the call metainfo ( #21089 )
2023-02-22 21:08:47 -08:00
Playwright Service
1dfc4c769d
feat(firefox): roll to r1379 ( #21080 )
...
Fixes #20259
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-02-22 09:52:35 -08:00
Max Schmitt
4efa9e5ea0
test: unskip WK tests ( #21033 )
...
Fixes https://github.com/microsoft/playwright/issues/20370
Fixes https://github.com/microsoft/playwright/issues/12353
2023-02-21 23:49:14 +01:00
Max Schmitt
147e388ec3
test: serviceWorker should intercept document request ( #21031 )
...
Not sure whats actually going on here, turns out this breaks the trace
viewer on firefox. -> all the iframes won't work.
Can't repro on stock firefox, so seems like something fishy on our end.
References #20259
2023-02-21 10:36:19 -08:00
Pavel Feldman
a22eaf8672
chore: disable navigating off trace snapshot on hrefs ( #21005 )
2023-02-17 18:13:45 -08:00
Pavel Feldman
d7a0b3bb4e
chore: implement pick locator in trace viewer ( #20965 )
...
Fixes https://github.com/microsoft/playwright/issues/7853
2023-02-17 11:19:53 -08:00
Pavel Feldman
c9cc8478b3
chore: minor trace viewer UI tweaks ( #20937 )
2023-02-16 07:59:21 -08:00
Andrey Lushnikov
fdcd7b549d
chore: mark comparator option back as experimental ( #20816 )
...
This reverts commit 303c5998f8 .
Reason for revert: I tried enabling `ssim-cie94` by default on
ionic-framework test suite, and it proves to be overly strict for their
usecase.
2023-02-13 11:11:44 -08:00
Pavel Feldman
6920a82f50
test: add fixme's ( #20826 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-10 19:54:00 +01:00
Andrey Lushnikov
bcb2d67c5d
chore: remove experimental dockerfile.remote ( #20790 )
...
We didn't find a compelling-enough use case to release this.
2023-02-09 12:18:02 -08:00
Dmitry Gozman
6e5964cccd
fix(connect): respect launch options when turning into connect ( #20757 )
2023-02-08 13:06:05 -08:00
Dmitry Gozman
edfff8cd8c
test: run more tests in 'service' mode ( #20734 )
2023-02-07 18:25:33 -08:00
Dmitry Gozman
bc74383480
test: remove service2 mode and experimental-grid ( #20730 )
2023-02-07 14:19:37 -08:00
Andrey Lushnikov
b67cef2c4d
feat: introduce Dockerfile.remote image ( #20691 )
...
When this image is launched, it exposes a single endpoint
that can be used to connect to and to launch browsers.
2023-02-07 10:50:44 -08:00
Andrey Lushnikov
303c5998f8
feat: release "comparator" option from experiment ( #20720 )
...
The option defines a comparator to be used to compare images.
Possible values are `"pixelmatch"` and `"ssim-cie94"`.
Note: This reverts commit 8167f8bf54 .
2023-02-07 08:51:48 -08:00
Andrey Lushnikov
0a752f3fd6
chore(docker): remove experimental docker integration ( #20676 )
...
This removes everything related to docker integration experiments that
we conducted over the last 6 months.
I'll send a follow-up with an alternative suggestion that was demo'ed on
a team meeting in the end of December.
2023-02-06 10:50:45 -08:00
Max Schmitt
bcecce6b6e
test: skip resource-timing WK tests on Windows ( #20622 )
2023-02-06 10:41:09 +01:00
Max Schmitt
c9230c699c
test: add test for cookies of wss requests ( #20586 )
...
https://github.com/microsoft/playwright/issues/20370
2023-02-02 16:42:58 -08:00
Max Schmitt
b803128a81
test: CloseEvent.wasClean=false when WS server terminates ( #20594 )
...
https://github.com/microsoft/playwright/issues/12353
2023-02-02 19:04:26 +01:00
Max Schmitt
59d1147247
test: unskip 'should be able to download a inline PDF file via navigation' for WebKit ( #20551 )
...
Fixes https://github.com/microsoft/playwright/issues/20044
2023-02-01 13:56:38 +01:00
Dmitry Gozman
b39079b51e
feat(trace viewer): popout snapshot in a new tab ( #20475 )
2023-01-30 19:07:52 -08:00
Max Schmitt
92eb8e5090
chore: make connectOverCDP work with localhost ( #20396 )
...
This wraps happy eyeballs in two places, the place where we make the
JSON request to Chromium and the actual CDP WebSocket request.
It required changes inside our happy eyeballs implementation since the
[websocket library does not
set](https://github.com/websockets/ws/blob/master/lib/websocket.js#L714 )
the `clientRequestOptions.hostname` field, it just sets the `host` field
where we then fall back to when its not set.
This test would pass before Node.js 18 and fail after Node.js 18 without
my changes.
Fixes https://github.com/microsoft/playwright/issues/20364
2023-01-30 17:44:26 +01:00
chimurai
f72d400952
chore: fix typos ( #20473 )
2023-01-30 09:53:28 +01:00
Dmitry Gozman
821949d580
test: update stale test expectations ( #20423 )
2023-01-27 21:52:34 -08:00
Yury Semikhatsky
532ca3f7b3
fix: throw on tap when hasTouch=false ( #20457 )
...
Fixes #20430
2023-01-27 15:51:57 -08:00
Etienne
252b489a7f
feat(trace-viewer): allow host and port to be specified ( #20258 )
2023-01-27 14:20:25 -08:00
Yury Semikhatsky
faadbba63c
test: webm video player ( #20421 )
...
Fixes #18423
2023-01-27 09:48:47 -08:00
Max Schmitt
eb87c9276e
test: do not create ipv6 server inside Docker ( #20440 )
2023-01-27 18:38:27 +01:00
Dmitry Gozman
ad6d24bf94
test: update headful.spec to use modern fixtures ( #20428 )
2023-01-26 19:01:54 -08:00
Yury Semikhatsky
99f0560122
test: enable video test on macos monterey+ ( #20420 )
2023-01-26 17:09:22 -08:00
Yury Semikhatsky
249d969d4b
test: navigator.clipboard is present ( #20402 )
...
Fixes #18901
2023-01-26 10:15:19 -08:00
Yury Semikhatsky
840052a309
test: enable download not attachment on webkit ( #20403 )
...
Fixes #19939
2023-01-26 10:13:44 -08:00
Max Schmitt
c1487f886b
test: skip 'should be able to visit ipv6' if docker ( #20362 )
2023-01-25 17:49:49 +01:00
Playwright Service
d7366cfc7c
feat(chromium-tip-of-tree): roll to r1080 ( #20323 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-25 10:23:12 +01:00
Dmitry Gozman
a9422beecb
Revert "chore: respect headless option when reusing browser ( #19980 )" ( #20336 )
...
This reverts commit e674ea217f .
2023-01-24 11:07:53 -08:00
Yury Semikhatsky
2c52d5be59
test: navigation to resource with unknown mime type ( #20313 )
...
https://github.com/microsoft/playwright/issues/20089
2023-01-24 07:29:46 -08:00
Dmitry Gozman
0ec1d5d452
test: disable "should work with video+trace" on headed ( #20299 )
2023-01-23 15:26:05 -08:00
Dmitry Gozman
eafa6fda13
fix(expect): poll/toPass should not wait over specified timeout ( #20266 )
...
Drive-by: unflake some timeout-dependent tests.
2023-01-20 15:47:24 -08:00
Dmitry Gozman
3f79786cf8
test: fix socks proxy test for wk mac ( #20227 )
...
Drive-by: unskip firefox test.
2023-01-19 09:10:42 -08:00
Andrey Lushnikov
b7e30a8bf6
test: failing test for WebKit ( #20088 )
...
The test fails if the `content-disposition` header does not have
an "attachment" value.
#20089
2023-01-17 20:15:35 -08:00
Pavel Feldman
d1c161ce99
chore: merge the util exports ( #20110 )
2023-01-13 13:50:38 -08:00
Pavel Feldman
e065d608b6
chore: introduce defineConfig for easier JS typing ( #20061 )
...
Fixes https://github.com/microsoft/playwright/issues/19694
2023-01-12 13:12:02 -08:00
Dmitry Gozman
862125e122
test: record trace+video at the same time ( #20082 )
...
Fixes #12266 .
2023-01-12 10:44:20 -08:00
Max Schmitt
a7495c3326
fix: use no internal selectors for frame locators ( #19964 )
...
Fixes https://github.com/microsoft/playwright/issues/19406
2023-01-11 21:53:19 +01:00
Dmitry Gozman
4f837690e2
fix(connect): do not log ws query params ( #20047 )
2023-01-11 12:27:27 -08:00
Dmitry Gozman
e674ea217f
chore: respect headless option when reusing browser ( #19980 )
...
References #19746 .
2023-01-10 10:49:53 -08:00
Dmitry Gozman
830c3c9f0f
fix(reuse): workaround long sw unregister ( #19930 )
...
Bogus `importScripts()` sometimes makes `unregister()` hang for long
time. We detect this case and not await it.
Fixes #19789 .
2023-01-06 17:02:40 -08:00
Max Schmitt
c339e1615b
fix(fetch): handle invalid redirect URL ( #19890 )
...
Fixes https://github.com/microsoft/playwright/issues/19879 .
This part is then similar to how node-fetch is doing it:
55a4870ae5/src/index.js ?q=location#L152-L159
node-fetch also throws as of today with this URL. Before in Python it
was stalling, because the error was written to stdout and on Windows the
stdout wasn't working. On Node.js it ended up in an unhandled exception.
2023-01-06 10:22:17 -08:00
Dmitry Gozman
cd698a2258
feat(trace viewer): render selectors as locators ( #19907 )
...
Drive-by: fix more places with SerializedValue rendering.
Fixes #19085 .
2023-01-05 16:59:50 -08:00
Yury Semikhatsky
10ccfa9517
feat(fetch): happy eyeballs ( #19902 )
...
Fixes #18790
2023-01-05 14:39:49 -08:00
Dmitry Gozman
e07d1722ec
test: rebase permission test for Chromium >= 110 ( #19899 )
...
Fixes #19180 .
2023-01-05 13:01:37 -08:00
Playwright Service
abe901d598
feat(chromium-tip-of-tree): roll to r1074 ( #19853 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-05 19:04:20 +01:00
Dmitry Gozman
711a1aadbf
chore: update tracing tests helper ( #19848 )
...
To be reused in future tests.
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2023-01-03 17:30:36 -08:00
Dmitry Gozman
f58015281a
test: attempt to unflake inspector tests ( #19845 )
...
On headed bots, we might get `locator('body')` from initial mouse
position.
2023-01-03 16:26:21 -08:00
Andrey Lushnikov
caec93ef42
test: enable ssim-cie94 image comparison algorithm for our tests ( #19313 )
2022-12-29 23:48:28 -08:00
Yury Semikhatsky
b8f96a9411
fix(generator): FilterOptions in java ( #19741 )
...
Fixes #19448
2022-12-28 09:13:06 -08:00
Dmitry Gozman
0b223b9036
fix(hit target): account for iframes with padding ( #19732 )
...
Padding on iframes moves the `documentElement` inside the iframe, so we
should account for it when converting coordinates between frames.
Fixes #19613 .
2022-12-27 16:59:34 -08:00
Dmitry Gozman
3334d89ad7
fix(socks): support ipv6 ( #19727 )
...
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2022-12-27 14:45:35 -08:00
Dmitry Gozman
3ad65e7ce8
fix(launchServer): disable socks by default ( #19723 )
...
Socks does not support ipV6 yet.
References #19661 .
2022-12-27 10:43:36 -08:00
Dmitry Gozman
1bb019ac81
chore: migrate most of rerunnable tasks to element callback ( #19713 )
2022-12-27 09:22:22 -08:00
Dmitry Gozman
0087bfac23
fix(role): update allowsNameFromContent to closer align with blink/gecko ( #19692 )
2022-12-27 09:06:46 -08:00
Pavel Feldman
e61a8c6592
fix(generator): penalize for the selector length ( #19672 )
2022-12-22 20:54:04 -08:00
Pavel Feldman
8b80e22a03
fix(har): recalculate receive time after response ended ( #19646 )
...
Fixes https://github.com/microsoft/playwright/issues/19327
2022-12-22 17:30:32 -08:00
Dmitry Gozman
83418aa8ab
fix(socks): cleanup event listeners upon disconnect ( #19671 )
...
References #19661 .
2022-12-22 17:15:51 -08:00
Dmitry Gozman
412c11db20
fix(reuse): make sure all dispose and close sequences are executed ( #19572 )
...
- When disposing recursively, only the root dispatcher received
`_dispose()` call, while some dispatchers need `_onDispose()` to clean
things up.
- When reusing the context, pages should be notified with `_onClose()`
so that all client-side waiting promises could reject.
Fixes #19216 .
2022-12-19 15:54:53 -08:00
Dmitry Gozman
1263bc3edd
feat(console api): first/last/nth ( #19485 )
2022-12-15 11:17:59 -08:00
Ross Wollman
a1bb1dd94f
test: fix flaky cookie roundtrip test ( #19459 )
...
<img width="1676" alt="Screenshot 2022-12-14 at 2 05 29 PM"
src="https://user-images.githubusercontent.com/11915034/207726274-167d9ee7-c01b-4379-aff1-37dad979d23b.png ">
Flakiness dashboard reveals on Window's variants of Chromium, the
decimal for actual vs. expected was slightly off (e.g. 1705568002.677066
vs. 1705568002.674173).
This test fix assumes it's acceptable to suppress the roundtrip floating
point difference (which appears to be constrained to Windows).
Signed-off-by: Ross Wollman <rwoll@users.noreply.github.com>
2022-12-14 15:24:54 -08:00
Dmitry Gozman
ab9602bebf
chore: remove unused PW_TEST_OUT_OF_PROCESS_DRIVER ( #19434 )
2022-12-13 16:04:44 -08:00
Dmitry Gozman
b97900b925
tests: use run-server for mode=service tests, restrict to page tests only ( #19435 )
2022-12-13 16:03:53 -08:00
Andrey Lushnikov
87141f6856
chore: add metadata for 'chromium page tests' project ( #19431 )
2022-12-13 13:12:07 -08:00
Dmitry Gozman
539893402e
feat(socks): support pattern similar to proxy bypass rules ( #19387 )
...
- `<loopback>` for local interfaces;
- `123.123.123.123` for IPv4;
- `[1:2:3:4:5:6:7:8]` for IPv6;
- `*.example.com` and `.example.com` for subdomains;
- `example.com` for domains;
- `anything:3000` for port matching.
2022-12-12 12:27:34 -08:00
Dmitry Gozman
3c17a2603a
feat(console api): support locator.filter ( #19389 )
2022-12-09 15:25:12 -08:00
Dmitry Gozman
256e9fd443
feat(connect): allow exposing local network to the remote browser (experimental) ( #19372 )
...
`connectOptions: { _exposeNetwork: '*' | 'localhost' }`
References #19287 .
2022-12-09 11:16:29 -08:00
Dmitry Gozman
622c1a8da6
tests: run browserType.connect tests against launchServer and run-server ( #19340 )
2022-12-07 14:36:32 -08:00
Dmitry Gozman
fd22d8bde1
feat(tether): support hostname pattern in socks proxy ( #19302 )
...
For now, only '*' and 'localhost' are supported.
References #19287 .
2022-12-07 08:46:35 -08:00
Playwright Service
84a0aaaaff
feat(chromium-tip-of-tree): roll to r1065 ( #19239 )
...
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>
2022-12-05 11:22:03 -08:00
Dmitry Gozman
0be4fa768a
fix(codegen): do not generate Promise.all ( #19182 )
...
Drive-by: fix `download`, `dialog` and `popup` signals to use different
variable names in all languages.
2022-12-02 17:33:01 -08:00
Dmitry Gozman
c547416e24
test: unflake "should highlight locators with custom testId" ( #19236 )
2022-12-02 17:32:29 -08:00
Max Schmitt
3565d97a36
feat(recorder): make it work with [contenteditable] ( #19066 )
...
https://github.com/microsoft/playwright/issues/19029
2022-12-01 12:41:03 -08:00
Pavel Feldman
f0e8d8f074
feat(api): introduce route.fetch and route.fulfill(json) ( #19184 )
2022-11-30 17:26:19 -08:00
Playwright Service
f952e1147b
feat(chromium-tip-of-tree): roll to r1063 ( #19070 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-11-30 11:11:54 -08:00
Dmitry Gozman
307a0b6ea7
fix(dotnet): codegen/docs use Name instead of NameString ( #19156 )
2022-11-29 20:56:18 -08:00
Dmitry Gozman
43a6bf4d45
fix(inspector): support custom test id attribute ( #18996 )
...
Fixes #18959 .
2022-11-29 11:43:47 -08:00
Dmitry Gozman
4f72a895e9
fix(inspector): render expect.not correctly ( #19125 )
...
Also fixes the same in expect logs.
References #19083 .
2022-11-28 20:50:16 -08:00
Pavel Feldman
85467d1b7d
chore: generate get by title ( #19119 )
2022-11-28 19:55:34 -08:00
Yury Semikhatsky
d3f41eaa47
fix(fetch): cookie with domain=localhost ( #18998 )
...
Fixes https://github.com/microsoft/playwright/issues/18362
2022-11-23 09:22:49 -08:00
Dmitry Gozman
190ed9465f
fix(chromium): detach from shared workers ( #18976 )
...
This prevents shared workers from stalling upon restart.
We receive `Inspector.targetCrashed` and
`Inspector.targetReloadedAfterCrash` events that assume
`Runtime.runIfWaitingForDebugger` from any attached client. It is easier
and more stable to just detach from shared workers, because we do not
inspect them.
For service workers, we should actually issue
`Runtime.runIfWaitingForDebugger` in such cases, because we attach to
them.
Fixes #18932 .
2022-11-22 15:20:42 -08:00
Pavel Feldman
a0ea9b5fba
chore: simplify slowmo implementation ( #18990 )
2022-11-22 11:06:45 -08:00
Pavel Feldman
228f78c89d
chore: render browser window in trace ( #18870 )
2022-11-22 08:41:52 -08:00
Dmitry Gozman
941090f0c4
fix(click): account for transformed iframes ( #18926 )
...
- Properly convert coordinates for iframes with non-zero borders.
- IFrames that have `transform` anywhere in the ancestors skip
`hitPoint`-based check because we cannot reliably translate the viewport
point into frame document's coordinates.
Fixes #18245 .
2022-11-18 16:51:39 -08:00
Dmitry Gozman
f5b4e499fb
fix(locators): frameLocator().nth serialized correctly ( #18819 )
...
Fixes #18798 .
2022-11-15 10:50:46 -08:00
Pavel Feldman
98513c3737
test: fix video channel tests ( #18807 )
2022-11-14 22:20:00 -08:00
Pavel Feldman
59418aa6f3
chore: ignore untrusted clicks when recording ( #18796 )
...
Fixes https://github.com/microsoft/playwright/issues/18776
2022-11-14 15:16:25 -08:00
Dmitry Gozman
a7b2b04588
fix(getByRole): name and exact ( #18719 )
...
Following the `getByText()` and other methods:
- By default, matching is substring and case-insensitive. Before, it was
only case-insensitive, but not substring.
- With new option `exact: true`, matching is full string and
case-sensitive.
- Matching always normalizes whitespace.
- Codegen generates `exact: false` by default.
- `internal:role` treats `[name="foo"i]` as non-exact match.
Various fixes:
- Updated `getByRole` docs to match the reality.
- Locator generator edge cases.
2022-11-11 15:58:36 -08:00
Andrey Lushnikov
f3a99fdd69
chore: address API review comments for the snapshotPathTemplate ( #18716 )
...
This patch:
- updates documentation to lead users from `TestConfig.snapshotDir` and
`testInfo.snapshotSuffix` to `TestConfig.snapshotPathTemplate` as a
better and more flexible alternative.
- drops `{snapshotSuffix}` from documentation
- stops using `snapshotSuffix = ''` in our own tests and switches us
to the `snapshotPathTemplate`.
- adds `{testName}` token.
2022-11-10 17:23:57 -08:00
Max Schmitt
56d7d47d43
fix(codegen): make select work with size attribute ( #18712 )
...
Fixes https://github.com/microsoft/playwright/issues/18711
2022-11-10 15:06:53 -08:00
Dmitry Gozman
7c80b77c57
feat(clear): remove clear() methods from all classes except Locator ( #18703 )
...
The preferred way is to use the locator, so we should not encourage the
use of `ElementHandle` or `Page` in the new APIs.
2022-11-10 12:29:14 -08:00
Pavel Feldman
ca2e7ef199
chore: report paused signal to the debug controller clients ( #18701 )
2022-11-10 12:15:29 -08:00
Pavel Feldman
c25e67a0e7
chore: conditionally dispatch network events ( #18687 )
2022-11-09 21:10:57 -08:00
Dmitry Gozman
cafa558845
fix(codegen): update priorites in selector generator ( #18688 )
...
- prefer `role=checkbox` over `input[type=checkbox]`
- prefer `#id` over `input[type=checkbox]` and `role=checkbox`
- prefer `text=foo` over `internal:has-text=foo`
- ignore `none` and `presentation` roles
- remove non-strict support
2022-11-09 17:22:13 -08:00
Dmitry Gozman
a7f1c8cb65
fix(codegen): fix csharp options syntax ( #18662 )
2022-11-08 21:48:01 -08:00
Dmitry Gozman
ef1b68a998
feat(locators): support frame locators in asLocator ( #18653 )
...
Drive-by: change `true` to `True` in python.
References #18524 .
2022-11-08 17:08:08 -08:00
Pavel Feldman
0355d8618f
chore: use provided value for the generated test id ( #18631 )
2022-11-08 12:04:43 -08:00
Dmitry Gozman
05b623e6b0
feat(locators): asLocator supports internal:has= ( #18625 )
...
The following snippet:
```js
rowLocator
.filter({ hasText: 'John' })
.filter({ has: page.getByRole('button', { name: 'Say hello' }) })
```
is shown in the logs:
```log
pw:api waiting for getByRole('listitem').filter({ hasText: 'John' }).filter({ has: getByRole('button', { name: 'Say hello' }) })
```
2022-11-08 08:47:02 -08:00
Dmitry Gozman
28d3f48a65
test: gardening ( #18623 )
...
- Separate worker for some Android tests.
- Use png comparator for some screenshots tests instead of buffer
equality.
- Skip drag&drop tests on Android.
- Various timeout fixes.
2022-11-07 15:35:21 -08:00
Dmitry Gozman
6a65a43e9a
chore: use consistent asLocator() in all logs ( #18586 )
...
References #18524 .
2022-11-04 15:19:16 -07:00
Pavel Feldman
3bc9e07daf
chore: parse locators strictly ( #18553 )
2022-11-03 15:17:08 -07:00
Pavel Feldman
17c8554255
chore(recorder): explore using codemirror ( #18529 )
2022-11-03 09:55:23 -07:00
Dmitry Gozman
20f2e0049c
test: unflake codegen tests waiting for highlight ( #18518 )
...
Clear existing highlights to avoid resolving with the old highlight
value.
2022-11-02 17:00:33 -07:00
Pavel Feldman
67c9624924
chore: send structured codegen info to the debug controller ( #18491 )
2022-11-01 18:02:14 -07:00
Pavel Feldman
2183d9e9a2
chore: use codemirror for editor ( #18482 )
2022-11-01 15:04:30 -07:00
Pavel Feldman
2c3fa1b1ff
chore: add explore locator parser ( #18429 )
2022-10-31 12:55:35 -07:00
Dmitry Gozman
e725293586
test: print stdout/stderr in signals.spec ( #18456 )
2022-10-31 12:45:18 -07:00
Pavel Feldman
3e112193a6
test: fix debug controller tests on firefox ( #18361 )
2022-10-27 09:19:55 -07:00
Yury Semikhatsky
12fdd3336e
test: navigator.storage.getDirectory() across browsers ( #18305 )
2022-10-26 15:41:36 -07:00
Jean-François Greffier
0fe1998c72
feat(api): add clear() ( #18296 )
...
Add `clear()` method as a convenience shortcut for `fill('')`.
Implemented for AndroidDevice, ElementHandle, Frame, Locator and Page.
Fixes https://github.com/microsoft/playwright/issues/14041
2022-10-25 12:56:11 -07:00
Pavel Feldman
37250cde17
chore: switch to the new debug controller harness ( #18308 )
2022-10-25 09:55:20 -07:00
Pavel Feldman
d819f97f40
test: clean up connect options set for debug controller ( #18317 )
2022-10-25 09:03:04 -07:00
Pavel Feldman
d8ec7cba47
chore: don't generate new lines in codegen ( #18309 )
2022-10-25 09:02:06 -07:00
Pavel Feldman
d3948d1308
chore: enable debug controller testing ( #18270 )
2022-10-24 16:19:58 -07:00
Pavel Feldman
3f850d27e9
fix(highlight): fix the testing harness to be real ( #18294 )
2022-10-24 15:01:48 -07:00
Max Schmitt
be67189a54
fix(fetch): throw on unexpected end of file brotli requests ( #18223 )
...
https://github.com/microsoft/playwright/issues/18190
2022-10-24 12:51:45 -07:00
Dmitry Gozman
48c44f2c78
fix(selectors): hasText and getByText exact match should consider full text ( #18260 )
...
Fixes #18259 .
2022-10-21 16:29:45 -07:00
Dmitry Gozman
5ed552838e
test: skip "should not include buffers in the trace" on non-default mode ( #18215 )
2022-10-20 10:19:42 -07:00
Pavel Feldman
84daeafb3a
chore: use internal locator for role ( #18187 )
2022-10-19 19:38:47 -07:00
Yury Semikhatsky
69092b153a
chore(codegen): do not generate waitForURL ( #18167 )
...
Fixes https://github.com/microsoft/playwright/issues/17179
2022-10-19 11:26:19 -07:00
Pavel Feldman
1b541c9932
chore: render typed locators in the trace viewer ( #18166 )
2022-10-18 19:23:40 -07:00
Pavel Feldman
739b64a09a
chore: render typed locators in the recorder ( #18162 )
2022-10-18 16:39:58 -07:00
Pavel Feldman
304a4ee8ec
chore: migrate to the internal:text selector ( #18135 )
2022-10-18 13:09:54 -07:00
Dmitry Gozman
6d363888f2
fix(tracing): do not serialize buffers into the trace file ( #18132 )
...
Fixes #18126 .
2022-10-17 16:17:25 -07:00
Yury Semikhatsky
7219a68b12
fix: exception in exposeFunction when oopif detaches ( #18078 )
...
The test is racy but it was reliably failing several times in 100
iterations.
Fixes https://github.com/microsoft/playwright/issues/18067
2022-10-14 08:37:42 -07:00
Max Schmitt
a60073d664
fix(generator): .NET getByRole w/ name ( #18060 )
2022-10-13 08:23:43 -07:00
Barbara Lócsi
347544db09
fix: override cookie even if new is expired ( #17998 )
2022-10-11 23:06:16 -07:00
Pavel Feldman
ec1f8d17f0
fix(generator): generate nice locators for arbitrary selectors ( #18010 )
2022-10-11 17:50:41 -07:00
Pavel Feldman
35a5e805b3
fix(codegen): use constants when generating C# and Java roles ( #17961 )
...
Fixes #[17960](https://github.com/microsoft/playwright/issues/17960 )
2022-10-10 12:25:56 -07:00
Yury Semikhatsky
1b5c2f9aba
fix(trace): show waitForLoadState when event has already fired ( #17826 )
...
Fixes https://github.com/microsoft/playwright/issues/17807
2022-10-07 11:27:56 -07:00
Dmitry Gozman
2f918852da
test: rebaseline requestStorageAccess test for firefox-beta ( #17879 )
2022-10-06 10:11:59 -07:00
Pavel Feldman
c168f5494f
chore: generate getByLabel for inputs ( #17845 )
2022-10-05 12:02:15 -07:00
Dmitry Gozman
2bcd9ce9ae
chore: internal selectors ( #17827 )
...
- Rename internal selectors `has`, `control` and `attr` to
`internal:has`, `internal:control` and `internal:attr`.
- Fix `getByLabel()` to respect strictness, by introducing
`internal:label` selector.
- Move tests essential for ports to `selectors-by.spec`.
2022-10-05 08:45:10 -07:00
Dmitry Gozman
a9c02b9753
fix(locators): properly escape various locator methods ( #17798 )
...
References #17604 .
2022-10-04 13:21:38 -07:00
Pavel Feldman
8810b55504
feat(api): shorted getByLabel, getByPlaceholder ( #17816 )
2022-10-04 10:29:26 -07:00
Yury Semikhatsky
a9ef95f31e
test: update expectations of requestStorageAccess ( #17780 )
...
Fixes https://github.com/microsoft/playwright/issues/17285
2022-10-03 20:46:47 -07:00
Yury Semikhatsky
cb6b824119
test: update SameSite cookie fetch test ( #17797 )
2022-10-03 20:46:25 -07:00
Pavel Feldman
1311767f87
chore: generate api calls ( #17794 )
2022-10-03 17:14:02 -07:00
Pavel Feldman
42a4d8a829
chore(codegen): prioritize role selectors ( #17750 )
2022-10-03 08:44:24 -07:00
Yury Semikhatsky
ff6d240e83
test: auto accept requestStorageAccess dialog ( #17752 )
...
Reference https://github.com/microsoft/playwright/issues/17285
2022-09-30 18:56:05 -07:00
Yury Semikhatsky
9b35a8071f
fix(fetch): support SameSite attribute ( #17748 )
...
Fixes https://github.com/microsoft/playwright/issues/17398
2022-09-30 15:01:59 -07:00
Pavel Feldman
5754fb9c6d
chore: do not emit comments from codegen ( #17747 )
2022-09-30 12:36:54 -07:00
Pavel Feldman
e09945c637
chore: handle unexpected ws response ( #17714 )
2022-09-29 14:04:19 -07:00
Pavel Feldman
d9a28bd244
feat(api): introduce get/getByText/getByRole ( #17577 )
2022-09-27 16:13:56 -07:00
Dmitry Gozman
3409a37f77
feat: allow opening multiple html reporters and trace viewers ( #17636 )
...
This makes `HttpServer` accept `preferredPort` option that will first
try to listen on that port, and if that port is already in use, listen
on some available port instead.
Fixes #17201 .
2022-09-27 12:45:42 -07:00
Yury Semikhatsky
72a24973f3
fix: ignore timing data when request served from memory cache ( #17595 )
...
`Response.timing` contains stale data when the request is served from
memory cache, in that we should ignore it and return -1 where we don't
know the value.
Fixes https://github.com/microsoft/playwright-java/issues/1080
2022-09-26 17:12:47 -07:00
Yusuke Iwaki
f5d7089819
fix: accept post data params for request.get and request.head ( #17566 )
2022-09-26 09:28:07 -07:00
Andrey Lushnikov
6b4afbb8df
chore: support http protocol with browserType.connect() ( #17483 )
2022-09-22 11:59:58 -07:00
Pavel Feldman
df143031e7
chore: move protocol and trace types into the top-level packages ( #17486 )
2022-09-20 18:41:51 -07:00
Pavel Feldman
3abbe0d850
chore: migrate codegen to controller events ( #17450 )
2022-09-20 14:32:21 -07:00
Pavel Feldman
e92bdce383
chore: remove connect options after testing ( #17380 )
2022-09-15 20:37:21 -07:00
Dmitry Gozman
43304e980d
feat: show browser.close() stack in "Browser has been closed" error ( #17376 )
...
Often times we see "Browser has been closed" error, but it's not
entirely clear why. Showing the close stack might help.
```js
page.goto: Connection closed
==== Closed by ====
at /Users/dgozman/code/playwright/tests/library/browsertype-connect.spec.ts:477:32
```
2022-09-15 17:04:41 -07:00
Andrey Lushnikov
a12112c24d
devops(docker): add docker integration smoke tests ( #17267 )
2022-09-14 15:05:18 -07:00
Max Schmitt
59c32bf2c6
Revert "chore(generator): use new .NET test attributes ( #17172 )" ( #17344 )
...
This reverts commit 15add13a6a .
2022-09-14 22:44:38 +02:00
Yury Semikhatsky
24ee456d43
chore: make maxRedirects available in java, improve docs. tests ( #17227 )
2022-09-09 13:25:36 -07:00
Vincenzo Gasparo
17b203affb
feat: added follow and redirect arguments to fetch ( #17033 )
2022-09-09 12:14:42 -07:00
Dmitry Gozman
cbc8d1a19f
test: tracing works with waitForResponse ( #17176 )
2022-09-08 11:31:02 -07:00
Max Schmitt
15add13a6a
chore(generator): use new .NET test attributes ( #17172 )
2022-09-08 01:44:58 +02:00
Pavel Feldman
c91df61ca3
chore: optionally connect instead of launching ( #17174 )
2022-09-07 15:57:20 -07:00
Dmitry Gozman
6e1c94b5fe
fix(click): allow clicking inside closed shadow root ( #16900 )
...
Although Playwright selectors do not pierce closed shadow roots,
one can still obtain a reference to an element inside a closed shadow root:
- through `page.evaluate()`;
- through `handle.$()` where `handle` is inside the shadow root;
- through `frame.locator()` by choosing an iframe that belongs
to a closed shadow root.
In this case, `click()` action fails during the hit check test,
but it's possible to make it work by going bottom up from the target
rather than top down from the document.
2022-09-06 17:55:15 -07:00
Pavel Feldman
8d25f2ef59
fix(selectors): allow custom engines in out-of-process ( #17139 )
2022-09-06 14:15:53 -07:00
Pavel Feldman
f4b90e5cc8
chore: reparent network back to context ( #17023 )
2022-09-05 10:19:44 +02:00
Yury Semikhatsky
01d83f1d5e
fix(har): record request overrides to har ( #17027 )
2022-09-04 10:52:20 -07:00
Dmitry Gozman
54e7f44974
fix(firefox): disable cookie partitioning ( #17051 )
2022-09-02 15:46:03 -07:00
Yury Semikhatsky
10b22aca88
test: third party cookies via an iframe on wk mac ( #17050 )
2022-09-02 15:03:39 -07:00
Max Schmitt
8f1f4946bf
test: send cookies via an embedded iframe ( #17036 )
2022-09-02 11:00:55 -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
Yury Semikhatsky
27ffdcc944
fix: accept post data for GET and HEAD http methods ( #17008 )
2022-09-01 08:36:08 -07:00
Yury Semikhatsky
aaa28394cd
feat(trace): include url into route.fulfill call params ( #16934 )
2022-08-31 12:37:49 -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
Pavel Feldman
a07a4a25a2
chore: make parent scope explicit ( #16819 )
2022-08-25 11:58:41 -07:00
Max Schmitt
74ab343e2b
feat(codegen): add NUnit/MSTest ( #16803 )
2022-08-25 11:58:58 +02:00
Max Schmitt
553ecce4f9
test: add test for PDF download per navigation ( #16687 )
...
* test: add test for PDF download per click
* Update download.spec.ts
2022-08-24 17:45:15 +02:00
Dmitry Gozman
42491ecc08
test: unflake "should work with newBrowserCDPSession" ( #16765 )
...
There could be no targets in a freshly created browser.
2022-08-23 10:25:28 -07:00
Max Schmitt
be33ec817b
feat(webkit): add forced colors media query override ( #16654 )
2022-08-19 14:19:54 +02:00
Max Schmitt
7e2aec7454
chore: align more ESLint rules with VSCode formatting ( #16647 )
2022-08-18 20:12:33 +02:00
Playwright Service
94c9db299d
feat(webkit): roll to r1703 ( #16604 )
2022-08-17 17:13:00 -07:00
Max Schmitt
13596b7be3
chore: language specific dropdowns in codegen ( #16452 )
2022-08-15 19:44:46 +02:00
Max Schmitt
e911eead9b
test: unflake 'should fill japanese text' ( #16431 )
2022-08-11 08:48:55 +02:00
Max Schmitt
699a52ec74
fix(codegen): make sure input recording with japanese IME Work ( #16400 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 09:46:30 +02:00
Yury Semikhatsky
11391910e7
Revert "fix(codegen): make sure input recording with japanese IME Wor… ( #16393 )
...
Revert "fix(codegen): make sure input recording with japanese IME Work (#16210 )"
This reverts commit 925de8da2b .
2022-08-09 16:47:32 -07:00
YA2KM
925de8da2b
fix(codegen): make sure input recording with japanese IME Work ( #16210 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 01:02:42 +02:00
Max Schmitt
1ca6635bb8
fix(cli): store trace/storage/har on SIGINT ( #16339 )
2022-08-09 00:13:38 +02:00
Pavel Feldman
8ed238843b
chore: allow inspecting element from server ( #16324 )
2022-08-05 19:34:57 -07:00
Pavel Feldman
3aa5710b49
feat(reuse): retain different browser types when reusing ( #16269 )
2022-08-04 15:04:00 -07:00
Andrey Lushnikov
fb76d62a2b
feat(firefox): roll Firefox stable to 103 ( #16224 )
2022-08-03 16:55:19 -07:00