Commit graph

4218 commits

Author SHA1 Message Date
Playwright Service 35a6d91ada
feat(firefox): roll to r1449 (#30432)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-22 09:29:34 -07:00
Playwright Service dd1a9f5e96
feat(chromium): roll to r1115 (#30449) 2024-04-20 18:42:22 +02:00
Max Schmitt a932222662
fix(highlight): highlight Top Layer elements (#30001) 2024-04-20 08:51:16 +02:00
Playwright Service d332541df7
feat(webkit): roll to r2001 (#30435)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-20 00:39:01 +02: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
Yury Semikhatsky 8c181f7e2b
fix: rebuild project tree from scratch when listing tests (#30407)
Instead of filtering tests assuming there are no two projects with same
name we always rebuild test tree from scratch and restore previos test
results in the list mode.

Fixes https://github.com/microsoft/playwright/issues/30396
2024-04-18 16:49:07 -07:00
Max Schmitt a1b3332e54
chore: follow-up on Electron launch (#30423)
Follow-up to https://github.com/microsoft/playwright/pull/30382.
2024-04-19 00:34:07 +02:00
Dmitry Gozman eea1f9984f
feat: expect(locator).toHaveAccessibleName (#30420)
References #18332.
2024-04-18 12:28:55 -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
Playwright Service a98abbdda9
feat(chromium-tip-of-tree): roll to r1213 (#30415)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-18 15:29:11 +02:00
Playwright Service a41122daa2
feat(firefox): roll to r1448 (#30411)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-18 11:16:28 +02: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
Mateusz Burzyński 82aefd24db
types: allow readonly tuples to be used as ReporterDescription (#30387)
This makes it easier to create helper functions like:
```ts
function createReporter(options: MyOptions) {
  return ['my-reporter', options] as const
}
```

At the moment, such functions can't be passed to `reporters` because a
readonly array is not assignable to the expected mutable array.
Playwirght certainly doesn't require those arrays to be mutable so it
would make sense to relax this.
2024-04-16 17:39:11 -07:00
Yury Semikhatsky 3bdbe4284e
fix(steps): make expect.toPass and expect.poll step containers (#30389)
Fixes https://github.com/microsoft/playwright/issues/30322
2024-04-16 16:18:37 -07:00
Yury Semikhatsky 73fce8fb98
chore: replace Zones with AsyncLocalStorage (#30381)
Reference https://github.com/microsoft/playwright/issues/30322
2024-04-16 12:51:20 -07:00
Yury Semikhatsky 3cea17abb6
fix: shut down workers before reporter.onEnd (#30329) 2024-04-16 09:49:11 -07:00
Peng Xiao 58187075c8
fix: running electron tests on windows for node 20.12.2 (#30382) 2024-04-16 17:41:19 +02:00
Playwright Service 78793e05ff
feat(chromium): roll to r1114 (#30385)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-16 13:55:36 +02:00
Playwright Service e2c1efad9e
feat(chromium-tip-of-tree): roll to r1212 (#30380)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-16 07:33:17 +02:00
Dmitry Gozman a6a44a07a7
chore: align crServiceWorker with crPage (#30367)
Simplify network-related methods because crNetworkManager already
handles initial/non-initial calls.
2024-04-15 11:09:38 -07:00
Playwright Service 950e2af44c
feat(webkit): roll to r2000 (#30374)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-15 18:47:31 +02:00
Playwright Service 80e725b5a3
feat(chromium): roll to r1113 (#30364)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-13 14:04:30 +02:00
Max Schmitt a467312731
fix(snapshotter): remove noscript when javaScriptEnabled is undefined (#30355) 2024-04-12 20:26:52 +02:00
Max Schmitt 56a7adeb8a
test: unflake 'should not include trace resources from the previous chunks' test (#30257) 2024-04-12 19:48:53 +02:00
Yury Semikhatsky 1ef85015f3
fix(merge): preserve static annotations on the tests that did not run (#30348)
Fixes https://github.com/microsoft/playwright/issues/30260
2024-04-11 16:17:57 -07:00
Playwright Service 1ab40d8860
feat(webkit): roll to r1999 (#30343)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-11 19:09:46 +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 15b423106f
fix(ui-mode): do not loose run information after writing into testDir (#30312)
Partially reverts https://github.com/microsoft/playwright/pull/30008
that started to reset all test results upon listing tests, including the
test that did just run and triggered re-listing.

https://github.com/microsoft/playwright/issues/30300.
2024-04-10 19:01:51 +02:00
Max Schmitt b2ded9fed1
fix(expect): throw better received error when no element was found (#29890)
Fixes https://github.com/microsoft/playwright/issues/29873
2024-04-10 10:01:19 +02:00
Playwright Service b5e36583f6
feat(webkit): roll to r1998 (#30310)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-09 16:19:58 +02:00
Playwright Service f9b97fa125
feat(chromium-tip-of-tree): roll to r1210 (#30308)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-09 15:10:26 +02:00
Playwright Service 62ae71f96a
feat(webkit): roll to r1997 (#30295)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-08 19:01:49 +02:00
Playwright Service 8deb44cd37
feat(webkit): roll to r1996 (#30291)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-08 14:16:01 +02:00
Sander 1a34c85886
chore(ct): bump vite to v5.2.8 (#30264) 2024-04-08 09:48:05 +02:00
Dmitry Gozman a6827772a5
fix(esmLoader): unref MessagePort in the main thread (#30271)
This prevents the process from not exiting forever due to an open port.
2024-04-06 14:25:57 -07:00
Yury Semikhatsky 3e03c800df
chore: resolve config location earlier (#30275)
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-05 19:32:56 -07:00
Yury Semikhatsky 9e89f292bf
chore: remove usage of configFile from junit reporter (#30273)
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-05 15:44:00 -07:00
Pavel Feldman 3cea258a9c
chore: expose clear cache to test server (#30268) 2024-04-05 09:31:34 -07:00
Pavel Feldman 5043bd55dc
chore: move dev server to config-based framework extensibility (#30234) 2024-04-05 08:39:51 -07:00
Dmitry Gozman d5907f4b13
feat(junit): includeProjectInTestName option (#30233)
Fixes #30246.
2024-04-04 11:04:51 -07:00
Dmitry Gozman 88f2717e87
docs: hint that popup main request is accessible through BrowserContext (#30249)
Fixes #30229.
2024-04-04 09:23:21 -07:00
Playwright Service 345240b9df
feat(chromium-tip-of-tree): roll to r1209 (#30242)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-04 14:12:57 +02:00
Playwright Service 4d4308e7b3
feat(chromium): roll to r1112 (#30235) 2024-04-04 09:25:57 +02:00
dependabot[bot] 0d5964d3f9
chore(deps): bump vite from 5.0.12 to 5.0.13 (#30227) 2024-04-04 09:25:46 +02:00
Pavel Feldman 8ee286b366
chore: migrate to the testserver.initialize (#30226) 2024-04-03 12:50:56 -07:00
Yury Semikhatsky 5c5f0d77e4
chore: move implementation of Config and Project to TestConfig and TestProject (#30212)
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-03 10:47:32 -07:00
Max Schmitt 43745210a5
fix(trace-viewer): exit if given trace.zip does not exist (#30222) 2024-04-03 18:47:03 +02:00
Max Schmitt 010bc29a3c
chore: harden markdown link validation (#30221) 2024-04-03 17:51:32 +02:00
Playwright Service 0734d1e733
feat(webkit): roll to r1995 (#30218)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-03 14:17:06 +02:00
Yury Semikhatsky 63f876a335
chore: remove overrides for type and status (#30211)
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-02 17:42:13 -07:00
Козынченко Вячеслав e58a33a0ae
feat(expect) - add ignoreCase option for toHaveURL (#30192)
feat(expect): add ignoreCase option for toHaveURL

Fixes #30057
2024-04-02 16:20:46 -07:00
Yury Semikhatsky 81bcf2a53b
docs: document FullReporter API (#30186)
* FullConfig split into FullConfig and ConfigInWorker
* FullProject split into FullProject and ProjectInWorker
* Tests can only access {Config, Project}InWorker, while reporters can
only access Full{Config,Project}. This will allow in the future to
change the reporter API independently from the tests.
* Added documentation for the 4 classes.
2024-04-02 16:15:02 -07:00
Yury Semikhatsky 39b3c93b85
docs: note about sharded projects in the merged config (#30184)
Fixes https://github.com/microsoft/playwright/issues/29841
2024-04-02 14:41:23 -07:00
Playwright Service 4baacba4f9
feat(chromium-tip-of-tree): roll to r1208 (#30207)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-02 16:29:09 +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
Pavel Feldman 6e799fdfa8
chore: do not run setup tasks on test run via server (#30202) 2024-04-01 15:31:09 -07:00
Peng Xiao cc881fdb1f
fix: content editable retarget (#29792)
If `contenteditable` is wrapped into a button or `[role=button]`,
`element.fill` will incorrectly retarget the closest button element.

fix https://github.com/microsoft/playwright/issues/29813
2024-04-01 13:03:09 -07:00
Playwright Service 7f88c4f482
feat(chromium-tip-of-tree): roll to r1207 (#30190)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-31 22:26:52 +02:00
Pavel Feldman 7afd4170ea
chore: opt into stdio forwarding (#30185) 2024-03-30 18:45:10 -07:00
Hansanto a950a7b86b
feat: Support intervals arg for toPass (#30037)
Fixes #30040

# Context

In the `playwright.config` file, we can custom the default `timeout`
property for `expect.toPass` by the property:

```ts title='playwright.config.ts'
export default defineConfig({
  // ...
  expect: {
    toPass: {
      timeout: 60_000,
    },
  },
});
```

However, we can't customize the `intervals` option. So the default value
is always `[100, 250, 500, 1000]`.

# Goal

Add the possibility to customize the intervals option from the
`playwright.config` file.

```ts title='playwright.config.ts'
export default defineConfig({
  // ...
  expect: {
    toPass: {
      timeout: 60_000,
      intervals: [1000, 2000, 3000]
    },
  },
});
```
2024-03-29 10:17:29 -07:00
Yury Semikhatsky 3001c9ac73
fix: preserve test declaration order in html and merged report (#30159)
* Add `Suite.entries` that returns tests and suites in their declaration
order
* Exposed `Suite.type` and `TestCase.type` for discriminating between
different entry types.
* Blob report format is updated to store entries instead of separate
lists for suites and tests.
* Bumped blob format version to 2, added modernizer.

Fixes https://github.com/microsoft/playwright/issues/29984
2024-03-29 10:12:33 -07:00
Yury Semikhatsky 16318ea715
chore: remove unused botName from types (#30172) 2024-03-28 16:16:15 -07:00
Playwright Service 4d8babb27c
feat(webkit): roll to r1994 (#30171)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 21:44:19 +01:00
Pavel Feldman baaf8c8093
chore: hide internal commands (#30170) 2024-03-28 12:19:03 -07:00
Andrey Lushnikov 4781b3c3a8
fix(firefox): disable cache when request interception is enabled (#30113)
Fixes #30000
2024-03-28 10:25:37 -07:00
Playwright Service a440800403
feat(chromium-tip-of-tree): roll to r1206 (#30165)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 15:53:12 +01:00
Playwright Service ff6bb7546f
feat(chromium): roll to r1111 (#30164)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 15:20:52 +01:00
Max Schmitt ffffb81c3b
fix: UI Mode tags without theme applied (#30138)
Trace Viewer theming is override based. By default you should have
something applied - an optional `dark-mode` class might be there too.
2024-03-27 16:46:26 +01:00
Pavel Feldman 5912362089
chore: export MatcherReturnType type (#30139)
Fixes https://github.com/microsoft/playwright/issues/30131
2024-03-27 08:33:00 -07:00
Playwright Service 352609c44f
feat(webkit): roll to r1993 (#30137)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-27 01:49:24 +01:00
Pavel Feldman d7710f0c3e
chore: do not exit UI mode upon page reload (#30135) 2024-03-26 15:49:44 -07:00
Max Schmitt aeb403f851
feat(webkit): dedicated macOS-14 build (#30079)
Fixes https://github.com/microsoft/playwright/issues/30070
2024-03-26 23:05:14 +01:00
Dmitry Gozman b9b06cb010
chore: mark version 1.44.0-next (#30129) 2024-03-26 13:44:10 -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 e4403dd6c8
fix(chromium): race between requestPaused and requestWillBeSent in workers (#30125)
Workers use page's session for `Fetch` domain and worker's session for
`Network` domain. Therefore, `CRNetworkManager` should keep track of the
right session for each domain separately.

This is covered by currently flaky tests:
- `should report and intercept network from nested worker`,
- `should intercept network activity from worker`,
- `should intercept network activity from worker 2`.
2024-03-26 11:11:09 -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 0bf635ecce
chore: ensure max failures exit yields erroneous status code (#30120)
Fixes https://github.com/microsoft/playwright/issues/30118
2024-03-26 09:20:13 -07:00
Pavel Feldman 2de8a6b002
chore: move filter params into the clearCookies (#30111) 2024-03-26 08:12:26 -07:00
Playwright Service 1824ba118e
feat(chromium-tip-of-tree): roll to r1205 (#30119)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 15:19:59 +01:00
Max Schmitt 599185dd07
feat(ui-mode): show native tags in test tree (#30092)
This brings up the question that we would show the tag name twice if its
a tag in a title. This would be aligned to how HTML report is doing it.

Fixes https://github.com/microsoft/playwright/issues/29927

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-26 01:06:22 +01:00
Dmitry Gozman 051afb9ce0
fix(test runner): update fixture teardown error message (#30109)
With the recent change that gave after hooks a separate timeout, fixture
teardown does not imply that "test finished successfully, but fixture
teardown was slow".
2024-03-25 17:04:03 -07:00
Playwright Service 8e27d67ecd
feat(webkit): roll to r1992 (#30110)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 00:06:46 +01:00
Max Schmitt 65d82797f1
fix(ct): ct ID clash on similar imports (#30108)
This restores the [best
effort](https://github.com/microsoft/playwright/pull/29407/files#diff-8dd3534dc5013c3779edeaded71324b0dd1c1807668f3c6d9e9a1aab1c20ae91L152)
logic if its a relativ path.

Fixes https://github.com/microsoft/playwright/issues/30085

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2024-03-25 23:50:45 +01:00
Pavel Feldman 7039ad0d11
chore: follow up to the api review for test server (#30097) 2024-03-25 15:42:58 -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 911d8effb9
feat(test runner): do not mock tty in the worker process (#30107)
This was historically done to make `console.log()` have colors. However,
this makes any other code that checks `process.stdout.isTTY` incorrectly
assume real TTY support.

Node18 and Node20 now respect `FORCE_COLOR=1` in console, so our default
behavior of forcing colors in the worker process just works out of the
box. See https://github.com/nodejs/node/pull/48034.
2024-03-25 15:31:58 -07:00
Playwright Service 05cbb14d28
feat(firefox): roll to r1447 (#30080)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-25 19:48:38 +01:00
Max Schmitt 253a2f9a9c
chore: address UI Mode keyboard shortcut feedback (#30088)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-25 19:48:20 +01:00
Playwright Service 2e8db67f07
feat(firefox-beta): roll to r1447 (#30100)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-25 19:22:59 +01:00
Max Schmitt f5823786fd
docs: migrate to newer :::warning syntax (#30089)
- Migrate from `:::warning` to `:::danger[Warning]`.
- Migrate from `:::caution` to `:::warning`.
- `:::warning` and `:::caution` were the color same before.
- `:::caution` is deprecated and gets removed in v4 of Docusaurus
- Also migrate to the [newer title
syntax](3877c1254f/packages/docusaurus-utils/src/markdownUtils.ts (L86-L91))

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-25 19:22:15 +01:00
Shriphad Rao 82804cce64
fix: time in ms for skip test (#30078)
Fixes https://github.com/microsoft/playwright/issues/29861
2024-03-25 08:51:09 -07:00
Dmitry Gozman 95d649b406
feat: address api review feedback for 1.43 (#30066)
- Update docs for `trace: retain-on-first-failure`.
- Update docs for `devtools` option.
- Rename `Locator.enterFrame()` to `Locator.contentFrame()`.
- Rename `FrameLocator.exitFrame()` to `FrameLocator.owner()`.
2024-03-25 07:42:13 -07:00
Dmitry Gozman 7a3c002944
fix(ct): allow importing json files (#30067)
While we are not fully resolving imports during compilation, do not
treat `json` as a non-importable asset.

Fixes #29926.
2024-03-25 07:41:54 -07:00
Pavel Feldman 1539cde034
chore: allow passing path to config to the test server (#30068) 2024-03-22 16:04:59 -07:00
Pavel Feldman ee9432b9da
chore: send test params over the wire in ui mode (#30046) 2024-03-22 13:49:28 -07:00
Playwright Service 2443d6560f
feat(firefox-beta): roll to r1446 (#30062)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 21:27:33 +01: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
Yury Semikhatsky a511731f55
fix(html): keep projects from different bots separate (#30051) 2024-03-22 10:02:00 -07:00
Playwright Service 9ce83e10f4
feat(firefox): roll to r1446 (#30053)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 13:00:38 +01:00