Commit Graph

541 Commits

Author SHA1 Message Date
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


![net](https://github.com/microsoft/playwright/assets/883973/5191163e-63f9-4999-9197-d10dcd09a665)
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