Max Schmitt
f05b4daa2f
fix(clock): under reused context ( #31357 )
...
We uninstall all the setInitScript but forgot to mark `installed` as
`false`.
Fixes https://github.com/microsoft/playwright/issues/31353
2024-06-18 18:21:33 +02:00
Pavel Feldman
2a7f17d820
chore: fix simulated clock bots ( #31301 )
2024-06-17 09:17:38 -07:00
Fumiaki MATSUSHIMA
838c572209
fix: select issue in Windows with Edge ( #31270 )
2024-06-17 10:28:07 +02:00
Playwright Service
cf85905f44
feat(webkit): roll to r2035 ( #31308 )
2024-06-14 10:49:50 +02:00
Dmitry Gozman
d0b052e1e0
fix(chromium): pass --enable-gpu when running headless ( #30937 )
...
Fixes #30585 .
2024-06-13 11:27:17 -07:00
Pavel Feldman
897f7449ef
fix(clock): fix pauseAt to arrive at wall time ( #31297 )
2024-06-13 10:21:00 -07:00
Dmitry Gozman
f115ba85d9
test: add more edge-case tests for clock ( #31256 )
2024-06-11 16:43:44 -07:00
Playwright Service
e07b46883d
feat(webkit): roll to r2029 ( #31257 )
2024-06-11 22:14:30 +02:00
Pavel Feldman
2b257ea963
chore(clock): introduce pauseAt ( #31255 )
2024-06-11 12:51:00 -07:00
Pavel Feldman
6399e8de4e
chore: clock api review ( #31237 )
2024-06-11 09:42:15 -07:00
Yury Semikhatsky
c08000b967
feat(chromium): storage-access permission ( #31239 )
...
Fixes https://github.com/microsoft/playwright/issues/31227
2024-06-11 09:18:45 -07:00
Carter Sande
701a405bdf
fix(trace-viewer): Rewrite file URIs in snapshots, like blob URIs. ( #31113 )
...
This allows snapshots of file:/// pages with external stylesheets,
images, etc to be rendered correctly in the trace viewer. (Otherwise, it
tries to request the file:/// URIs directly and the requests get blocked
by the browser.)
Fixes #31112 .
2024-06-10 11:44:52 +02:00
Pavel Feldman
e280d0bd35
chore(clock): split wall and monotonic time ( #31198 )
2024-06-09 14:50:50 -07:00
Pavel Feldman
dd3a41287e
chore: simplify doTick ( #31196 )
2024-06-06 19:26:30 -07:00
Pavel Feldman
826343b8a0
chore: rename fakeTimers to clock ( #31193 )
2024-06-06 15:56:13 -07:00
Max Schmitt
d50a2bb0c6
test: fix service tests ( #31130 )
2024-06-03 16:28:07 +02:00
Pavel Feldman
8bfd0eb6e4
chore: introduce clock test mode ( #31110 )
2024-05-31 14:44:26 -07:00
Joe-Hendley
afa0bf2247
feat: increase length of printed html tags ( #31105 )
...
resolves https://github.com/microsoft/playwright/issues/30977 by
increasing the printed length of HTML tags from 50 -> 500 as suggested
by @dgozman
2024-05-31 10:45:56 -07:00
Yury Semikhatsky
6067b78f88
chore: http credentials send immeidately/unauthorized enum ( #31076 )
...
Reference https://github.com/microsoft/playwright-internal/issues/205
Reference https://github.com/microsoft/playwright/issues/30534
2024-05-30 10:19:56 -07:00
Yury Semikhatsky
f93da40925
feat(webkit): roll to r2014 ( #31074 )
...
Closes https://github.com/microsoft/playwright/pull/31059
Closes https://github.com/microsoft/playwright/pull/31012
Reference https://github.com/microsoft/playwright-browsers/issues/795
2024-05-29 17:20:38 -07:00
Pavel Feldman
6675652269
chore: split client-side instrumentation into sync and async ( #31054 )
2024-05-28 14:29:57 -07:00
Rui Figueira
f254290ab4
fix(trace-viewer): fix snapshot.html ( #31033 )
...
Actual path to get trace contexts is /contexts, not /context
2024-05-28 13:14:22 -07:00
cavivie
a7599ad509
feat(api): add host option in launchServer options ( #30999 )
2024-05-27 11:24:23 +02:00
Dmitry Gozman
ae1e07de10
test: skip/improve some tests that are flaky ( #30993 )
2024-05-23 17:40:27 -07:00
Pavel Feldman
e7a11c0ca2
fix: propagate close reason to api context ( #30945 )
2024-05-21 18:05:58 -07:00
Max Schmitt
a93ad3dade
fix(fetch): allow UTF-8 in Location header ( #30904 )
2024-05-21 09:15:33 +02:00
Playwright Service
fda9051c75
feat(webkit): roll to r2008 ( #30818 )
...
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>
2024-05-15 11:34:39 +02:00
Dmitry Gozman
8334191b94
fix(selector generator): properly escape re used in has-text ( #30767 )
...
Fixes #30499 .
2024-05-13 12:40:46 -07:00
Yury Semikhatsky
a50cd30519
chore: use monotonic time for sorting ( #30735 )
...
* Use only monotonicTime for sorting, do not use wallTime for that
* Since test runner and the library can be running on different
machines, those machines may have clocks which are not synchronized. To
avoid problems in such cases we compute delta between test runner and
and library contexts based on a start time of action that exists in both
contexts.
2024-05-09 15:31:23 -07:00
Yury Semikhatsky
7a0c7730e7
fix(trace-viewer): make call ids unique across trace files ( #30720 )
2024-05-08 17:33:31 -07:00
Viktor Szépe
150cbcbdf3
chore: fix typos ( #30645 )
2024-05-08 19:40:03 +01:00
Yury Semikhatsky
cadfd9c88e
test: unflake "should report browser close signal 2" ( #30681 )
2024-05-06 15:39:31 -07:00
Max Schmitt
c7e7a7ef56
devops: add Node.js 22 bots ( #30644 )
2024-05-06 19:58:44 +00:00
Yury Semikhatsky
d5b387159a
feat(fetch): sendImmediately ( #30627 )
...
Fixes https://github.com/microsoft/playwright/issues/30534
2024-05-02 16:30:12 -07:00
Dmitry Gozman
fd92509dda
fix(role): extract tagName safely ( #30636 )
...
Fixes #30616 .
2024-05-02 09:42:19 -07:00
Pavel Feldman
96f3d19819
feat(ctrl_or_meta): add a universal ctrl-meta modifier ( #30572 )
...
Fixes https://github.com/microsoft/playwright/issues/12168
2024-04-29 08:15:12 -07:00
Dmitry Gozman
086ea79c25
chore: remove checkCoverage script ( #30552 )
...
We do not benefit from it for many years already.
2024-04-25 14:00:14 -07:00
Yury Semikhatsky
d5bcc41f79
test: run File dependent test only on Node 20+ ( #30549 )
2024-04-25 11:53:27 -07:00
Yury Semikhatsky
230a8437d3
feat(fetch): support FormData as multipart parameter ( #30489 )
...
Reference https://github.com/microsoft/playwright/issues/28070
2024-04-23 17:05:27 -07:00
Rui Figueira
c80b851422
fix(codegen): prevent csp directive violations ( #30366 )
2024-04-23 07:33:12 -07:00
Dmitry Gozman
4046d154ae
test: unflake and enable some Firefox tests ( #30461 )
...
Fixes #30399 .
2024-04-22 11:25:10 -07:00
Dmitry Gozman
9b6627a063
feat(role): roll and pass WPT accname tests, calculate description ( #30434 )
...
There are new "non-manual" WPT accname tests that we now mostly pass,
which required a few tweeks in calculating role and name.
Also implemented accessible description computation, which is just a
small addition on top of accessible name, and passed respective wpt
tests.
References #18332 .
2024-04-19 12:49:49 -07:00
Andrey Lushnikov
bdf95186f0
test: add test for tab blurring in firefox ( #30418 )
...
References https://github.com/microsoft/playwright/issues/30399
2024-04-18 10:49:09 -07:00
Dmitry Gozman
103ec90751
fix(role): align presentation role conflict resolution with the spec ( #30408 )
...
See
https://www.w3.org/TR/wai-aria-1.2/#conflict_resolution_presentation_none
Fixes #26809 .
2024-04-18 08:53:31 -07:00
Dmitry Gozman
984182bd53
fix(role): embedded control inside the target element ( #30403 )
...
According to the spec, such controls should use the native value as long
as they have "aria-label". The relevant spec section is 2D.
However, there is an open issue that claims this should always apply,
and all browsers and wpt test actually do that:
https://github.com/w3c/accname/issues/64 .
Fixes #28848 .
2024-04-17 12:25:08 -07:00
Dmitry Gozman
b72e3a3eba
fix(role): explicitly hidden aria-labelledby should be recursively traversed ( #30402 )
...
The accessible name computation spec has changed to explicitly mention
this case:
Step 2A. Hidden Not Referenced. If the current node is hidden and is:
- Not part of an aria-labelledby or aria-describedby traversal, where
the node directly referenced by that relation was hidden.
- Nor part of a native host language text alternative element (e.g.
label in HTML) or attribute traversal, where the root of that traversal
was hidden.
See https://w3c.github.io/accname/#computation-steps . Chromium, Firefox
and Safari all agree with the spec.
Fixes #29796 .
2024-04-17 11:22:09 -07:00
Max Schmitt
a467312731
fix(snapshotter): remove noscript when javaScriptEnabled is undefined ( #30355 )
2024-04-12 20:26:52 +02:00
Max Schmitt
96053ed0b5
Revert "fix(reuse): reset Origin Private File System API ( #29921 )" ( #30342 )
...
This reverts commit 048d6669fd .
This change caused the crash for
https://github.com/microsoft/playwright/issues/30339#issuecomment-2049870789 .
If we don't execute this code, it does not crash.
Reverting it for now until the Chromium fix lands in Beta/Stable.
2024-04-11 19:07:15 +02:00
Max Schmitt
bff9f30b6f
test: add test for 'should parse cookie with large Max-Age correctly' ( #30323 )
2024-04-10 22:13:01 +02:00
Dmitry Gozman
6d56b453ff
fix(connect): include websocket close reason in the error message ( #30203 )
...
When websocket disconnects during `browserType.connect()` call, the
error looks like this now:
```
browserType.connect: Custom error message received over WebSocket
```
Previously, it was a generic error:
```
browserType.connect: Target page, context or browser has been closed
```
2024-04-01 21:05:33 -07:00
Yury Semikhatsky
021c5c108c
chore: revert support of duplicate form data fields in multipart post data ( #30127 )
...
We want to adopt FormData API for the requests.
This is a revert of 4b3c596874 and
a849ea9741
Reference https://github.com/microsoft/playwright/issues/28070
2024-03-26 12:36:35 -07:00
Dmitry Gozman
dd1eca2a9d
fix(trace viewer): show correct number of pages without screencast ( #30124 )
...
Exposed by the flaky "should open two trace files" test.
2024-03-26 10:25:12 -07:00
Pavel Feldman
2de8a6b002
chore: move filter params into the clearCookies ( #30111 )
2024-03-26 08:12:26 -07:00
Yury Semikhatsky
a849ea9741
feat(fetch): multiple fields with the same name in post data ( #30104 )
...
Rerefence https://github.com/microsoft/playwright/issues/28070
2024-03-25 15:39:45 -07:00
Dmitry Gozman
c1400a3db5
Revert "feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )" ( #30064 )
...
This reverts commit 1bb463163b . Decided to
wait for a better VRT story.
References #29250 .
2024-03-22 13:26:22 -07:00
Dmitry Gozman
348d0c2bfa
test: can register service workers in an iframe ( #30045 )
...
References #29267 .
2024-03-21 15:34:23 -07:00
Dmitry Gozman
ef57489cf9
test: iframe is covered by service workers ( #30042 )
...
References #29267 .
2024-03-21 11:27:27 -07:00
Yury Semikhatsky
69e90f38c7
fix(codegen): import re in python ( #30026 )
...
Fixes https://github.com/microsoft/playwright/issues/30019
2024-03-20 16:38:28 -07:00
Max Schmitt
dd0b6f7ec5
test: generate debug controller channel ( #30018 )
2024-03-20 16:56:29 +01:00
Dmitry Gozman
1bb463163b
feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )
...
Fixes #29250 .
2024-03-19 14:01:04 -07:00
Max Schmitt
048d6669fd
fix(reuse): reset Origin Private File System API ( #29921 )
...
Fixes https://github.com/microsoft/playwright/issues/29901
This clears the Origin Private File System API when using VSCode
extension.
2024-03-15 17:40:46 +01:00
Dmitry Gozman
349b25e61a
fix(storageState): try to collect storage state on existing pages first ( #29915 )
...
This helps in a case where navigating to an origin fails for some
reason, for example because a registered service worker loads some
content into the supposedly blank page.
Fixes #29402 .
2024-03-12 19:20:35 -07:00
Max Schmitt
291567b922
test(remove-cookie): do not rely on external websites for tests ( #29811 )
...
Fixes https://github.com/microsoft/playwright/issues/29795
2024-03-04 23:49:12 +01:00
Rui Figueira
73ffaf65d7
fix(codegen): fill action prevents omnibox navigation recording ( #29790 )
...
This PR is a fix proposal for a bug when trying to record a omnibox
navigation after a recorded action (e.g., `fill`).
The following test, included in this PR, reproduces the problem:
```ts
test('should record omnibox navigations after recordAction', async ({ page, openRecorder, server }) => {
const recorder = await openRecorder();
await recorder.setContentAndWait(`<textarea></textarea>`);
await Promise.all([
recorder.waitForOutput('JavaScript', 'fill'),
page.locator('textarea').fill('Hello world'),
]);
// for performed actions, 5 seconds is the time needed to ensure they are committed
await page.waitForTimeout(5000);
await page.goto(server.PREFIX + `/empty.html`);
await recorder.waitForOutput('JavaScript', `await page.goto('${server.PREFIX}/empty.html');`);
});
```
After performed actions (e.g., `click`), it successfully records the
navigation as long as there's at least a 5 sec. gap between both
actions. That happens because after that 5 sec. interval the performed
action is automatically commited and therefore the navigation is not
stored as a signal of that action.
The proposed fix for recorded actions also forces that action to be
automatically commited after 5 sec (for testing, I'm using 500ms to
speed up the test execution).
2024-03-04 12:31:03 -08:00
PaulTriandafilov
8e48ee714d
feat(playwright-core): add remove cookies api ( #29698 )
2024-03-02 07:27:01 -08:00
Pavel Feldman
ef924c14e7
chore: do not use project id in telereporter ( #29776 )
2024-03-01 21:44:08 -08:00
Dmitry Gozman
0f30cdab23
feat(firefox): roll ff and ff-beta to 1442 ( #29751 )
...
This requires changes in `FFPage`.
Also fixing a new ff-specific test that introduced flakiness on the
bots.
Closes https://github.com/microsoft/playwright/pull/29750
Closes https://github.com/microsoft/playwright/pull/29724
Closes https://github.com/microsoft/playwright/pull/29681
Closes https://github.com/microsoft/playwright/pull/29678
2024-02-29 14:44:45 -08:00
Andrey Lushnikov
b183159fd0
test: add regression test for cross-context clicking ( #29668 )
...
References https://github.com/microsoft/playwright/issues/29096
2024-02-26 16:52:49 -08:00
Dmitry Gozman
d7c4ee901a
test: enable localhost proxy tests on webkit mac, unless bypass rules are set ( #29641 )
2024-02-23 14:27:30 -08:00
Jean-François Greffier
6494bb30a0
JUnit codegen ( #29424 )
...
Codegen for JUnit
Fixes https://github.com/microsoft/playwright-java/issues/1039
Following JUnit5 integration
https://github.com/microsoft/playwright-java/issues/1369
2024-02-20 11:08:53 -08:00
Max Schmitt
84fefdaac6
fix(console-api): locator filter with hasText ( #29563 )
...
Relates https://github.com/microsoft/playwright/issues/29546
2024-02-20 17:35:11 +01:00
Sylvain Finot
b11b118e02
feat(chromium): expose parameters to generate outline / tagged PDF ( #29494 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-02-15 17:28:04 +01:00
Max Schmitt
498b8bb269
fix(tracing): do not serialise out-of-process Buffers ( #29425 )
2024-02-12 21:03:38 +01:00
Max Schmitt
b15a7076dc
test: unskip 'msedge' tests ( #29456 )
...
This removes all msedge skips again and makes msedge equal with chromium
skip wise.
Fixes https://github.com/microsoft/playwright/issues/26711
2024-02-12 17:37:45 +01:00
Dmitry Gozman
3abd7c808e
fix(connectOverCDP): send custom headers in /json/version request ( #29408 )
...
Fixes #29403 .
2024-02-07 17:41:21 -08:00
Yury Semikhatsky
721d84f17a
fix(har): do not throw on -1 status code ( #29371 )
...
Fixes https://github.com/microsoft/playwright/issues/29311
2024-02-06 10:17:29 -08:00
Yury Semikhatsky
79e379fc11
chore: do not set metadata.error for expect failure results ( #29310 )
...
The metadata.error change was brought back in
https://github.com/microsoft/playwright/pull/29271and it broke java port
as we could have error and result set simulteniously. This PR moves the
logic to the trace recorder instead and keeps the protocol contract
clear that either error or result is present, but not both.
2024-02-02 16:41:08 -08:00
Rui Figueira
b88a008a87
feat(codegen): slider support ( #29087 )
2024-02-01 13:45:19 -08:00
Pavel Feldman
020a39860d
chore: polish network panel highlight ( #29299 )
...
Fixes https://github.com/microsoft/playwright/issues/29287
2024-02-01 13:44:26 -08:00
Max Schmitt
cf70a01836
test: should serialize storageState with lone surrogates ( #29089 )
...
https://github.com/microsoft/playwright-dotnet/issues/2819
2024-01-29 19:22:33 +01:00
Dmitry Gozman
acc72c2663
fix(codegen): assertValue works with disabled input ( #29205 )
...
Also add tests for new codegen functionality.
Fixes #29161 .
2024-01-27 14:54:22 -08:00
Yury Semikhatsky
32034728ad
test: request overrides and routeFromHar ( #29200 )
...
Test that modifications from `route.fallback()` apply to the requests
before reading from/writing to HAR.
Reference https://github.com/microsoft/playwright/issues/29190
2024-01-26 15:19:01 -08:00
Dmitry Gozman
f5de6e5538
feat(codegen): generate multiple selectors to choose from ( #29154 )
...
When possible, "pick locator" generates:
- default locator;
- locator without any text;
- locator without css `#id`.
Fixes #27875 , fixes #5178 .
2024-01-25 07:35:58 -08:00
Dmitry Gozman
bc83d7084c
fix(chromium): emulate navigator.userAgentData along with UA ( #29159 )
...
Fixes #28989 , fixes #29139 .
2024-01-25 07:34:11 -08:00
Pavel Feldman
cec2ff1772
chore: split cli processing into cli endpoint and program ( #29131 )
2024-01-23 15:22:09 -08:00
Dmitry Gozman
8e607d509f
fix(recorder): disallow external imports ( #29129 )
...
Previously, new `Recorder` instance was given an existing
`InjectedScript`. However, we built a separate source for
`InjectedScript` vs `Recorder`, and both bundles contain their own copy
of all helper modules, e.g. `roleUtils`.
This resulted in two copies of helper modules, which is troublesome for
any module-level globals like a top-level cache. Depending on whether
`Recorder` or `InjectedScript` called into the helper, they would access
the different value of a module global, which lead to bugs.
To prevent this, we force any external dependencies to be imported
through the `InjectedScript.utils`.
2024-01-23 11:29:40 -08:00
Yury Semikhatsky
b2de9bc865
fix: mock safari.pushNotification ( #29107 )
...
Fixes https://github.com/microsoft/playwright/issues/29032
2024-01-22 15:44:13 -08:00
Max Schmitt
e551506c9e
Revert "feat(codegen): add range input recording support ( #28767 )" ( #29069 )
2024-01-19 19:47:59 +01:00
Dmitry Gozman
d023829dd5
fix(locator parser): allow escaped quotes in the digest function ( #29012 )
...
This supports mixed quotes locators in JavaScript where we are not sure
what quote is the correct one, so we normalize to unescaped single quote
when comparing with the original.
Drive-by: we were allowing single quotes in Python, Java and .NET, but
these are actually not allowed.
Regressed in #27718 .
Fixes #28630 .
2024-01-16 16:06:02 -08:00
Dmitry Gozman
9b657b54fb
fix(launcher): unregister global process handlers when all browser are closed ( #29011 )
...
Otherwise, we forever block SIGTERM and SIGHUP by registering a handler
that does not do anything (due to no browsers to close) and prevents
default handler that exits from running.
Fixes #28091 .
2024-01-16 14:41:26 -08:00
Dmitry Gozman
48317af1cc
feat(trace): preserve noscript when javascript is disabled ( #28971 )
...
Closes #27504 , closes #27532 .
2024-01-12 12:11:39 -08:00
Pavel Feldman
a0750b7854
chore: network panel polish ( #28924 )
2024-01-10 15:28:33 -08:00
Dmitry Gozman
3851d9b897
test: make sure asLocator works with has+hasText at the same time ( #28937 )
2024-01-10 12:42:55 -08:00
Max Schmitt
58fa4fce74
fix: use logger in default context with connectOverCDP ( #28838 )
...
Fixes https://github.com/microsoft/playwright/issues/28813
2024-01-03 19:49:47 +01:00
Rui Figueira
778828cc43
feat(codegen): add range input recording support ( #28767 )
2023-12-30 17:22:57 -08:00
Max Schmitt
576b3406e3
test: tree gardening ( #28676 )
...
Looks like massaging the signals test in
8ab0660d1b (diff-f9d332d27364a8a58e52f5d7ffc180df7581589565b62186757b21839aabf889)
didn't make it fully green.
As of today it fails on Darwin 13 which is version 22, so we should not
run into the first if.
2023-12-15 17:39:31 -08:00
Yury Semikhatsky
a1a4133152
chore: extract unroute behavior tests into a separate file ( #28674 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 15:37:57 -08:00
Max Schmitt
39bdbbf029
test: codegen #28663 follow-up ( #28673 )
2023-12-15 12:05:13 -08:00
Max Schmitt
44c3ad5ceb
chore: make csharp library codegen more csharp like ( #28663 )
2023-12-15 10:24:26 -08:00
Yury Semikhatsky
9c845365f7
chore: revert TestProject.botName for this release ( #28670 )
...
This is essentially a revert of f88288d71d
Reference https://github.com/microsoft/playwright/issues/27284
2023-12-15 09:48:34 -08:00