Commit graph

2474 commits

Author SHA1 Message Date
Dmitry Gozman dbb218a9d5
feat: project.teardown that runs after all dependents have finished (#22696)
This replicates globalTeardown in the deps world.

Fixes #21914.
2023-04-28 14:27:08 -07:00
Pavel Feldman 2a675026de
chore: add image diff test to ui mode (#22637) 2023-04-28 14:18:46 -07:00
Pavel Feldman e9373dfb6e
chore: make client-side instrumentation non-nullable (#22694) 2023-04-28 08:57:43 -07:00
Pavel Feldman b555d33e38
chore: roll the stable test runner (#22701) 2023-04-28 08:57:19 -07:00
Alex Neo 7937699b28
fix(html): label not matched if first with describe (#22680) 2023-04-27 20:04:54 -07:00
Yury Semikhatsky f37f5fc61c
chore: comma separated reporter names, reporter arg from config (#22693) 2023-04-27 15:16:18 -07:00
Dmitry Gozman 223baa3393
fix(html): keep tests in the declaration order (#22690)
Fixes #22143.
2023-04-27 13:54:15 -07:00
Yury Semikhatsky 82670147b4
chore: support multiple merged reports (#22672) 2023-04-27 09:15:24 -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
Max Schmitt 7b27d70d8a
feat(web-server): add stdout: "pipe"|"ignore" option (#22564)
Fixes https://github.com/microsoft/playwright/issues/22454
2023-04-26 23:39:42 +02: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
Pavel Feldman 7fdd7a20fb
chore: fix soft after poll (#22642) 2023-04-26 08:50:10 -07:00
Pavel Feldman 6b487ff49d
chore: remove cli from playwright-core (#22612)
Fixes https://github.com/microsoft/playwright/issues/22599
2023-04-25 11:19:37 -07:00
Pavel Feldman a1007bbe2c
chore: introduce expect.configure (#22533) 2023-04-25 10:29:56 -07:00
Yury Semikhatsky 24478be565
feat: preserve attachments in blob reports (#22605)
Attachments with `path` are stored as `resources/sha1.ext` zip entries
and extracted under `report-dir/tmp` when merging. This way normal
fs.readFile keeps working as before even thought the file path is
different. The clients should rely on `attachment.name` instead of
`attachment.path` when deriving user visible titles in the UI. If this
turns out not to be the case we can reconsider later.

#10437
2023-04-24 17:34:09 -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
Max Schmitt f6aa9f49ce
chore: make evaluate work with busted Array.prototype.map/push (#22528)
Fixes https://github.com/microsoft/playwright/issues/22460

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-04-21 19:52:13 +02:00
Pavel Feldman bbc47ba315
chore: ensure web assertions are merged in trace (#22544) 2023-04-21 10:07:23 -07:00
Pavel Feldman d95268ffc0
chore: remove refined title (#22541) 2023-04-20 20:34:07 -07:00
Pavel Feldman d9a7aa584c
chore: bump timeouts in ui mode tests (#22526) 2023-04-20 16:47:08 -07:00
Max Schmitt 7c89572a53
test: fix ct-vue-vite typechecks (#22538) 2023-04-21 00:31:00 +02: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 9ea9adf8ff
test: mark reporter-blob tests as slow (#22530)
They run several playwright instances for each shard and then open
merged html report which takes considerable time
2023-04-20 09:36:38 -07:00
☃ Elliot Shepherd 106fa45f50
feat(route): accept timeout to fetch (#22475)
Fixes: #22474
2023-04-20 08:41:33 -07:00
Pavel Feldman 0c70f6900e
chore: fix ui mode w/ multiple contexts (#22514)
Fixes: https://github.com/microsoft/playwright/issues/21895
2023-04-20 08:19:00 -07:00
Pavel Feldman cdaccdeaf7
chore: speculative change to fix the ui mode tests stress (#22510) 2023-04-20 08:18:09 -07:00
Pavel Feldman 8f14517de2
chore: allow collapsing all (#22512)
Fixes https://github.com/microsoft/playwright/issues/21915
2023-04-19 18:16:18 -07:00
Dmitry Gozman 957ec0067f
chore: separate concerns of testinfo helpers (#22491) 2023-04-19 17:31:07 -07:00
Pavel Feldman a45f04568b
chore: rename watchmode to uimode tsx (#22511) 2023-04-19 16:51:42 -07:00
Pavel Feldman e7b9c08833
chore: should not spill toPass between tests (#22473) 2023-04-19 14:45:58 -07:00
Dmitry Gozman bf0fab4927
fix(ui mode): ignore repeatEach (#22505)
Fixes #22498.
2023-04-19 14:16:12 -07:00
Sander 060979ef86
feat(ct): vue2 throw when updating a native html element (#22407)
Related to: https://github.com/microsoft/playwright/issues/22328.
2023-04-19 07:28:21 -07:00
Sander b3b624b0c9
feat(ct): vue throw when updating a native html element (#22392)
Related to: https://github.com/microsoft/playwright/issues/22328.
2023-04-19 07:28:00 -07:00
Max Schmitt 49c9284bc7
Revert "feat(html reporter): render multiple annotations of the same type together (#21580)" (#22466)
Fixes https://github.com/microsoft/playwright/issues/22323
2023-04-18 20:43:07 +02:00
mindaugasm be79ee0450
feat(html-report): add attachmentsBaseURL option (#22212)
Fixes https://github.com/microsoft/playwright/issues/21636
2023-04-18 11:25:11 -07:00
Pavel Feldman d45efe881f
chore: don't leak from waitFor (#22465)
Fixes https://github.com/microsoft/playwright/issues/22458
2023-04-18 11:11:46 -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
Yury Semikhatsky 2ea214d6f0
fix: preserve trace if context if closed manually during test run (#22442)
Reference #22122, #22120
2023-04-18 09:02:33 -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
Pavel Feldman 8d69fbacf7
chore: introduce ct-core to hard-depend on vite (#22437)
Fixes https://github.com/microsoft/playwright/issues/22233
2023-04-17 16:19:21 -07:00
Dmitry Gozman bf661535a6
fix(testMatch): do not count test.ts and spec.ts as test files by default (#22440) 2023-04-17 12:57:33 -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 b7d06d4d24
test: worker network attribution is still not fixed in Firefox 113 (#22390)
We'll need to wait until it is fixed upstream.

References https://github.com/microsoft/playwright/issues/21760
2023-04-13 13:36:17 -07:00
Andrey Lushnikov 90182a319d
test: fix android test (#22370)
For some reason, Android model changed from `sdk_gphone64_x86_64` to
`sdk_gphone_x86_64`.

Relax the test to test the model name & architecture.
2023-04-12 15:19:35 -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 1962b5be3c
test: make sure process killing logic works without ps on Linux (#22366)
The bare-bones `debian` distribution we use for testing doesn't have
`ps`. This patch switches to reading `/proc` file system directly on
Linux instead of relying on `ps`.

Performance measurements for the 20000 active processes on Debian Docker
container, tested on my M1 Max Mac:
- the `ps -eo pid,ppid,pgid` call + parsing takes 293ms
- the manual synchronous `/proc` traversal + parsing takes 326ms

So this is ~10% perf penalty.

Drive-by: rename `pgid` into `pgrp` so that it stands out from `pid`
(process ID) and `ppid` (parent process ID).
2023-04-12 13:16:42 -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
Playwright Service a5749c033d
feat(firefox): roll to r1396 (#22327)
Fixes https://github.com/microsoft/playwright/issues/21995
2023-04-11 08:49:44 -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
Andrey Lushnikov 8b8385b6cb
test: remove faulty test (#22321)
Turns out we cannot guarantee order of events in Firefox: it might
close the page before we get a response from renderer.

Thus removing a faulty test.

References https://github.com/microsoft/playwright/issues/20093
2023-04-10 20:12:39 -07:00
Pavel Feldman c5aeab4d7e
revert(20509, 20596): expect.toPass is broken with these (#22254)
Reverts https://github.com/microsoft/playwright/pull/20509 and
https://github.com/microsoft/playwright/pull/20596
Fixes #22215
2023-04-10 17:39:49 -07:00
Yury Semikhatsky 1e9668f8bd
test: download link with data url (#22312)
References #21892
2023-04-10 14:15:06 -07:00
Yury Semikhatsky 2af3f486c4
fix: do not load trace data for passing tests (#22311)
Fixes #22122
Fixes #22120
2023-04-10 13:29:55 -07:00
Sander 2b32d05175
test(ct): react17 coverage (#22297) 2023-04-09 15:11:31 -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
Yury Semikhatsky 1efa8de526
test: fix reporter blob tests on bots (#22281) 2023-04-07 17:48:54 -07:00
Yury Semikhatsky 8d2502ee62
test: make page-leaks tests pass in electron (#22277)
They've been failing
https://devops.playwright.dev/flakiness.html#filter_spec=page%2Fpage-leaks.spec.ts&test_parameter_filters=%5B%5D&timestamp=1680901928195
2023-04-07 17:20:49 -07:00
Pavel Feldman eed5b4c83b
chore: process stdio buffers (#22270)
Fixes https://github.com/microsoft/playwright/issues/22265
2023-04-07 13:50:15 -07:00
Yury Semikhatsky d59e0e10ce
feat: blob reporter (#22244)
#10437
2023-04-07 13:47:52 -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
Andrey Lushnikov 29643a7bff
test: add regression tests for clicking (#22221)
https://github.com/microsoft/playwright/issues/21995
2023-04-05 13:20:39 -07:00
Pavel Feldman 159e71982e
chore: render failed steps in the basic reporters (#22200)
Fixes #20532
2023-04-05 13:03:42 -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
Playwright Service 8dd431745d
feat(firefox): roll to r1394 (#22199)
Fixes https://github.com/microsoft/playwright/issues/21621

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-04-05 11:39:23 -07:00
Johannes Loher bd698efaef
fix(webServer): follow relative redirects when checking the url (#22035)
Fixes https://github.com/microsoft/playwright/issues/22144
2023-04-05 10:39:35 +02: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
Pavel Feldman 3608425d57
chore: allow reusing browser between the tests (#22191) 2023-04-04 12:31:42 -07:00
Pavel Feldman f8f9ee6a25
chore: introduce Reporter.onExit (#22176)
Fixes https://github.com/microsoft/playwright/issues/22173
2023-04-04 10:50:40 -07:00
Pavel Feldman 87acda74ff
chore: respect source map sources when filtering in CLI (#22180)
Fixes #22123
2023-04-03 19:49:01 -07:00
Dmitry Gozman 8bc7ed0469
test: remove element being dragged before drop (#22177)
This scenario hangs in Firefox, waiting for response to `mouseup` event.

References #21621.
2023-04-03 18:42:29 -07:00
Dmitry Gozman ab85b23e67
fix(expect): report expect "Timed out" when it actually does (#22174)
Previously, it would say "Timed out" when page was closed at test
timeout, or not say "Timed out" when at least one element matched.

Fixes #21664.
2023-04-03 15:06:13 -07:00
Dmitry Gozman 26c00a97a5
fix(expect): do not produce logs twice (#22171) 2023-04-03 15:05:40 -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 82e52004c9
fix(ui mode): preserve manually selected action in live trace (#22131) 2023-03-31 18:34:51 -07:00
Pavel Feldman 3b9e62432d
chore: do not leak on clicks (#22129)
Fixes #22115
2023-03-31 18:18:45 -07:00
Dmitry Gozman 41e3e6d13f
fix(tracing): avoid clashing network file names (#22126)
With two contexts in the same test, we can get:
- `<testId>.network` and `<testId>-1.network` files;
- for export, we can copy `<testId>.network` into `<testId>-1.network`
and try to copy into a file when another trace is reading from it.

Fixes #22089.
2023-03-31 17:29:39 -07:00
Pavel Feldman 0d9ec60dc7
chore: implement jsHandle._objectCount in chromium (#22127) 2023-03-31 15:52:01 -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
MarcNum fbdafc5fe3
feat: Adding trace option 'on-all-retries' (#21985)
Fixes: #21860
2023-03-31 13:04:24 -07:00
Max Schmitt 47c669caf2
test: fix service tests (#22111)
<img width="805" alt="image"
src="https://user-images.githubusercontent.com/17984549/229117984-1c70541b-7941-40e2-950d-a699e0fc4cc4.png">
2023-03-31 10:58:08 -07:00
Dmitry Gozman a95ced0fef
fix(waitFor): when frameLocator does not match, resolve hidden/detached states (#22119)
Fixes #21879.
2023-03-31 10:54:07 -07:00
Dmitry Gozman 37d1659508
feat(connect): support special headers for debug/attachments (#22106)
`x-playwright-debug-log: value` headers are printed to `pw:browser`
debug log.
`x-playwright-attachment: name=value` headers are attached to each test.

Fixes #21619.
2023-03-31 08:57:07 -07:00
Pavel Feldman b1fdf0bcb6
chore: nest test steps based on zones (#22108)
Fixes: #21423
2023-03-30 21:05:07 -07:00
Pavel Feldman eacaf5fc89
chore(ui): update expected state on test end (#22104)
Fixes https://github.com/microsoft/playwright/issues/22096
2023-03-30 16:17:34 -07:00
Dmitry Gozman 539d9873c2
feat: rename Locator.filter(locator) to Locator.and (#22101) 2023-03-30 14:41:30 -07:00
Sander 98051c7db2
fix(ct): solid type checking (#22102) 2023-03-30 12:31:39 -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
Pavel Feldman a4f67c64e3
chore: allow ts decorators (#22080) 2023-03-29 20:43:08 -07:00
Pavel Feldman d39ff3dc5a
chore: update typescript to 5.0.2 (#22079) 2023-03-29 17:13:09 -07:00
Dmitry Gozman 548e4a0c0f
fix(role): account for unslotted elements being hidden for aria (#22070)
When element is not assigned to any slot in the shadow root, it is not
rendered and is considered hidden for ARIA in all browsers.

In Chromium/Firefox we use `Element.checkVisibility` that already
handles this, but in WebKit we have to check it manually.

Fixes #21487.
2023-03-29 17:08:05 -07:00
Yury Semikhatsky 026e49b076
chore: add snippet to the error message (#21991) 2023-03-29 14:07:14 -07:00
Sander 2428ff8b8b
chore: bump vite to 4.2.1 (#22061) 2023-03-29 14:00:00 -07:00
Pavel Feldman 8b7dc2cf7a
test: add a ui teardown test (#22010) 2023-03-29 13:57:19 -07:00