Max Schmitt
2f1b0d6ff7
fix(install): hang on server side connection close ( #28278 )
2023-11-22 20:26:21 +01:00
Pavel Feldman
3f55587dd8
feat(vrt): bring back wait for font loading ( #28226 )
2023-11-17 17:16:32 -08:00
Dmitry Gozman
62d4c3fe02
fix(defineConfig): do not add an empty project list to project-less configs ( #28224 )
...
Otherwise, merging two configs without `projects` property will create a
config with an empty project list, which is semantically different and
always leads to "No tests found".
2023-11-17 13:36:50 -08:00
Dmitry Gozman
11bf96fe98
test: unflake a few tests ( #28205 )
2023-11-16 16:31:42 -08:00
Dmitry Gozman
738155d85d
fix(dispatcher): only remove stale dispatcher after sending "create" ( #28176 )
...
Otherwise, we might dispose objects referenced in the initializer of the
new object being created, which triggers an exception on the client.
2023-11-16 15:07:43 -08:00
Max Schmitt
ff706ec8bd
test: skip Intl.ListFormat test on ubuntu20.04 ( #28185 )
...
It was failing across the Ubuntu 20.04 bots:

This is most likely because on Ubuntu 20 libicu-dev has version 66.1.
And according to
https://wksearch.azurewebsites.net/#path=%2Fhome%2Fjoe%2Fwebkit%2FSource%2FJavaScriptCore%2Fruntime%2FIntlListFormat.h&line=32
the ListFormatter requires 67 which is the case in Ubuntu 22 (70).
2023-11-16 20:39:32 +01:00
Pavel Feldman
2bd7d67adc
chore: render testInfo errors in the Errors tab ( #28179 )
...
Fixes https://github.com/microsoft/playwright/issues/28056
2023-11-16 11:37:57 -08:00
Max Schmitt
ee1e6cd72f
test: unskip service tests ( #28170 )
2023-11-16 20:14:55 +01:00
Dmitry Gozman
19cfd0cc5e
chore: roll stable-test-runner to 1.40.0-beta-1700102862000 ( #28192 )
2023-11-16 10:14:56 -08:00
Yury Semikhatsky
85438edb97
test: Intl.ListFormat is working in playwright all browsers ( #28178 )
...
Fixes https://github.com/microsoft/playwright/issues/23978
2023-11-15 18:47:42 -08:00
Pavel Feldman
25b9c4eb4a
chore: do not lose error name for js errors ( #28177 )
2023-11-15 18:27:32 -08:00
Max Schmitt
7ffcb42551
test: fix 'exposeFunction should not leak' in video mode ( #28169 )
...
This is like how we do it with the other channel tests. In video mode we
produce artifacts so we need to add them to our expectation.
2023-11-15 21:48:47 +01:00
Max Schmitt
b66839b039
fix(exposeFunction): exposeFunction should not leak client side BindingCalls ( #28163 )
...
This should already make it a bit better. There is more going on tho.
https://github.com/microsoft/playwright/issues/28146
2023-11-15 17:15:25 +01:00
Dmitry Gozman
bf4c315b09
fix(types): explicit ExpectMatcherState type, optional Expect arg ( #28119 )
...
Fixes #28035 .
2023-11-13 18:37:50 -08:00
Dmitry Gozman
16aee8b5d0
fix(codegen): comment-out generated expects for library scripts ( #28118 )
...
- reverts "fix(codegen): generate expect import for library
(https://github.com/microsoft/playwright/pull/28107 )";
- comments-out generated expects.
2023-11-13 16:56:27 -08:00
Max Schmitt
8b1c637c16
fix(codegen): generate expect import for library ( #28107 )
2023-11-13 21:54:30 +01:00
Dmitry Gozman
120f0228c5
feat(selector generator): try improving text candidate with heuristics ( #28074 )
...
- Drop number-like prefixes and/or suffixes.
- Trim long texts to a word boundary around 15-25 character.
2023-11-13 11:30:16 -08:00
Mattias Wallander
c6d154f9c4
feat: Add support for dispatching device motion events ( #28067 )
...
References #27887 .
2023-11-13 08:58:46 -08:00
Max Schmitt
1aee48f2d0
test: COEP/COOP/CORP isolated iframe should work ( #28083 )
...
https://github.com/microsoft/playwright/issues/28082
2023-11-10 16:44:02 +01:00
Max Schmitt
2954e1263e
test: skip dispatchEvent(deviceOrientation) tests on Android ( #28077 )
...
Its [only available to
SecureContexts](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/device_orientation/device_orientation_event.idl;l=34?q=device_orientation_event.idl&ss=chromium%2Fchromium%2Fsrc )
which our loopback in Android is not treated as a SecureContext.
We could either move it into the library tests, but then loose page test
coverage or just skip it. I decided for the latter.
Relates https://github.com/microsoft/playwright/pull/27960 .
2023-11-10 16:28:45 +01:00
Dmitry Gozman
62b6af3a7f
fix(android): respect recordHar option ( #28046 )
...
Fixes #28015 .
2023-11-09 08:36:05 -08:00
Dmitry Gozman
7f10fe935a
test: add a test for concurrent hover ( #28042 )
...
References #27969 .
2023-11-09 08:27:34 -08:00
Max Schmitt
5f527fedb1
fix: JSHandle preview text for non-ascii attributes/children ( #28038 )
...
This surfaced in .NET that the string in the driver got incorrectly cut,
then transferred to .NET as an invalid UTF8 character
[`\ud835`](https://charbase.com/d835-unicode-invalid-character ) which
.NET wasn't able to parse and threw an error.
Drive-by: Move similar function from
`packages/playwright-core/src/client/page.ts` into isomorphic
`stringUtils`.
https://github.com/microsoft/playwright-dotnet/issues/2748
2023-11-09 00:11:01 +01:00
Mattias Wallander
5a9fa69c6d
feat: Add support for dispatching device orientation events ( #27960 )
...
Fixes #27887
2023-11-08 09:50:25 -08:00
Max Schmitt
07d5093583
test: test gardening ( #28001 )
2023-11-07 08:47:15 -08:00
Pavel Feldman
87787dcc7d
chore: allow click close the page w/o errors ( #27994 )
2023-11-06 15:13:41 -08:00
Yury Semikhatsky
53a78a315e
fix(merge): preserve original "rootDir" by default ( #27963 )
...
Fixes https://github.com/microsoft/playwright/issues/27877
2023-11-03 13:49:47 -07:00
Dmitry Gozman
f401a482d2
fix(codegen): consume pointer events alongside mouse events ( #27949 )
...
Fixes #27926 .
2023-11-03 13:41:51 -07:00
Pavel Feldman
e84dd4d708
fix(ui): do not fail on clashing groups ( #27943 )
...
Fixes https://github.com/microsoft/playwright/issues/27929
2023-11-02 20:50:08 -07:00
Ben Scott
c59483c5fb
fix(tsconfig): handle tsconfig paths without a baseUrl ( #27846 )
2023-11-02 11:27:49 -07:00
Pavel Feldman
817a130cdc
chore: dispose-based callback termination ( #27911 )
2023-11-01 16:36:39 -07:00
Max Schmitt
d983941447
test: locale/timeZone should affect Intl.DateTimeFormat() ( #27898 )
...
https://github.com/microsoft/playwright/issues/27802
2023-11-01 17:29:57 +01:00
Yury Semikhatsky
36c4c24f8a
fix: only convert input files for browser collocated with server ( #27873 )
...
Reference #27452
Fixes #27792
2023-11-01 08:40:12 -07:00
Max Schmitt
cff9ac04e4
fix: cross-origin Page.goto referer ( #27859 )
...
Fixes https://github.com/microsoft/playwright/issues/27765
2023-10-31 11:10:15 +01:00
Max Schmitt
08685a654a
test: using ServiceWorker on localhost over HTTPS ( #27863 )
2023-10-31 10:28:57 +01:00
Yury Semikhatsky
c7b6a76437
fix(fetch): throw when methods are called on disposed context ( #27868 )
...
Fixes #27822
2023-10-30 15:23:12 -07:00
Max Schmitt
59b8cf008e
fix(codegen): don't generate page.frame() calls anymore ( #27820 )
...
Fixes https://github.com/microsoft/playwright/issues/27650
2023-10-30 21:56:45 +01:00
Dmitry Gozman
f620828818
chore: allow PW_VERSION_OVERRIDE in tests ( #27861 )
2023-10-30 11:04:35 -07:00
Sander
1a34b6d211
fix(ct): solid render array as child ( #27849 )
...
closes:
https://github.com/microsoft/playwright/issues/27587#issuecomment-1762133376
related: https://github.com/microsoft/playwright/pull/27692
CC @dgozman
Co-authored-by: sand4rt <mbr@mbrs-MacBook-Air.local>
2023-10-28 11:22:10 -07:00
Sander
96787d2626
fix(ct): vue render array as slot ( #27851 )
...
partial fix for:
https://github.com/microsoft/playwright/issues/27587#issuecomment-1762133376
related: https://github.com/microsoft/playwright/pull/27692
CC @dgozman
Co-authored-by: sand4rt <mbr@mbrs-MacBook-Air.local>
2023-10-28 11:21:37 -07:00
Sander
3313381040
fix(ct): react render array as child ( #27692 )
...
Signed-off-by: Sander <info@mesander.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: mbr <mbr@mbrs-MacBook-Air.local>
2023-10-28 10:36:48 -07:00
Pavel Feldman
4d82d6801f
chore: render full pathname in network panel ( #27843 )
...
Fixes #27618
2023-10-27 14:14:24 -07:00
Dmitry Gozman
100d3b2601
fix(css parser): support nested builtin functions ( #27841 )
...
Things like `:nth-child(1 of :has(span:nth-last-child(3)))`.
Fixes #27743 .
2023-10-27 13:16:12 -07:00
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
Pavel Feldman
778047facc
chore: stream trace viewer logs ( #27807 )
2023-10-26 11:15:43 -07:00
Max Schmitt
5f366088be
chore: get rid of rimraf package ( #27790 )
...
This seems more reliable nowadays as rimraf.
https://github.com/microsoft/playwright/issues/27712
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-10-26 19:41:00 +02:00
Yury Semikhatsky
86c78c1e0f
fix(html): do not update total time when filtering tests ( #27808 )
...

Fixes #27758
2023-10-26 08:20:14 -07:00
Yury Semikhatsky
0ade5aa9ad
fix: ignoreCase in toHaveAttribute ( #27809 )
...
Fixes #27795
2023-10-25 19:22:13 -07:00
Pavel Feldman
47733b04fb
chore: do not select after hooks automatically ( #27805 )
2023-10-25 17:05:06 -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
Dmitry Gozman
c8134bca5d
feat(html): show top-level errors ( #27763 )
...
Drive-by:
- extract `TestErrorView`;
- replace `data-test-id` with `data-testid` and `getByTestId()`.
---
<img width="1001" alt="top-level errors in html report"
src="https://github.com/microsoft/playwright/assets/9881434/2d6c0c52-8df1-46a9-b3fd-06ddc6f16796 ">
2023-10-24 09:35:07 -07:00
Dmitry Gozman
210168e36d
chore(test runner): remove fake skipped test results ( #27762 )
...
Fixes #27455 .
2023-10-24 09:31:30 -07:00
Max Schmitt
fe7847b126
fix: require JSX inside PWT with pnpm ( #27744 )
...
Fixes https://github.com/microsoft/playwright/issues/27285
2023-10-23 22:48:12 +02:00
Yury Semikhatsky
5e51a734e7
fix: interrupt request.allHeaders()/response() on page.close() ( #27695 )
...
Reference https://github.com/microsoft/playwright/issues/27227
2023-10-23 12:45:35 -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
Dmitry Gozman
b8678ef902
chore(test runner): simplify some dispatcher logic ( #27732 )
...
- remove `onlyStartedTests` in favor of explicit branch with comments;
- produce one "test not found" error per test instead of a single large
error;
- extract `_failTestWithErrors` from `_massSkipTestsFromRemaining`.
2023-10-23 09:15:13 -07:00
Dmitry Gozman
85112be25c
fix(test runner): properly handle uncaught errors in test.fail() ( #27734 )
...
Before this fix, unhandled error during test.fail():
- marks this test as "interrupted";
- fails next test in the file with "fatal error".
After this fix:
- marks this test as "failed as expected";
- restarts worker for the next test.
2023-10-23 09:14:31 -07: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
d67515f6c1
chore(test runner): do not produce some of the fake skipped test results ( #27730 )
2023-10-20 17:01:46 -07:00
Sander
27daa5e7b1
fix(ct): solid render array as child ( #27715 )
2023-10-20 11:44:30 -07:00
Dmitry Gozman
6fe31ab52c
feat: support alternative quotes in js parseLocator() ( #27718 )
...
Fixes #27707 .
2023-10-20 08:42:29 -07:00
Pavel Feldman
f46c889449
chore: fix total progress reporting w/ deps ( #27716 )
2023-10-19 20:07:47 -07:00
Pavel Feldman
d003945a7b
chore(ui): do not watch output folders ( #27694 )
2023-10-19 15:53:57 -07:00
Dmitry Gozman
6e62a11643
fix(trace): EPERM on windows ( #27693 )
...
When merging trace files, we sometimes left open read streams from the
zip, which prevents it from being removed.
Fixes #27286 .
2023-10-19 11:14:17 -07:00
Max Schmitt
b1325c9208
fix(keyboard): event order for Escape key ( #27711 )
...
This test was failing in Chromium before this change.
Caused by
40d5e3a3c9/packages/playwright-core/src/server/chromium/crInput.ts (L54-L55)
which messes up the order of the protocol calls.
Fixes https://github.com/microsoft/playwright/issues/27709 .
2023-10-19 18:18:29 +02:00
Yury Semikhatsky
bd58c0d5d2
fix: preserve lastModified timestamp in setInputFiles ( #27671 )
...
Fixes #27452
2023-10-18 14:05:09 -07:00
Sander
562938b271
fix(ct): baseURL playwright config ( #27689 )
...
closes: https://github.com/microsoft/playwright/issues/27627
2023-10-18 13:53:58 -07:00
Dmitry Gozman
fd82b2b3fa
feat(json report): add expected/unexpected/skipped/flaky stats ( #27685 )
...
Fixes #27498 .
2023-10-18 12:55:31 -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
Pavel Feldman
a54dbfdadf
chore: plumb the target close reason when test fails ( #27640 )
2023-10-16 20:32:13 -07: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
Max Schmitt
fd2fbe9d2f
fix: merge{Tests,Expects} via ESM imports ( #27630 )
...
Backport to 1.39.X?
Fixes https://github.com/microsoft/playwright/issues/27617
2023-10-17 00:09:44 +02: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
Pavel Feldman
f8a30fb726
chore: follow up to target close message
2023-10-12 14:58:19 -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
Pavel Feldman
393bd36e0a
chore: composed->merge ( #27555 )
2023-10-11 13:56:27 -07:00
Dmitry Gozman
3a43aaa700
chore: roll stable-test-runner to 1.39.0-beta-1697048429000 ( #27553 )
2023-10-11 13:42:04 -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
Pavel Feldman
fd6bf8aa2c
chrome: improve error messages on vscode side ( #27521 )
2023-10-09 19:55:24 -07:00
Pavel Feldman
11a4b3f7f5
chore: remove parsed stack trace ( #27496 )
2023-10-09 17:04:16 -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
Pavel Feldman
b807c974c3
chore: allow passing path to property in toHaveJSProperty ( #27495 )
...
Fixes https://github.com/microsoft/playwright/issues/27487
2023-10-06 15:47:07 -07:00
Dmitry Gozman
0717b386f9
test: disable some failing tests ( #27463 )
2023-10-05 15:00:08 -07:00
Pavel Feldman
70dbb9d83a
feat(trace): allow navigating from error to source ( #27464 )
2023-10-05 14:59:59 -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
Yury Semikhatsky
0eb7a09967
test: screenshot of css box-shadow ( #27438 )
...
Reference #21620
2023-10-04 17:26:01 -07:00
Dmitry Gozman
daba77644c
feat: composedExpect ( #27432 )
...
Allows to merge multiple expects with custom matchers added by
`expect.extend()`.
2023-10-04 15:01:25 -07:00
Dmitry Gozman
d426f2fd4e
fix(chromium): continue requests paused for the second time ( #27429 )
...
Sometimes Chromium restarts requests. This leads to multiple
`Fetch.requestPaused` for a single `Network.requestWillBeSent`.
Fixes #27294 .
2023-10-04 11:18:06 -07:00
Yury Semikhatsky
ac48a47d33
feat: toHaveAttribute without value ( #27418 )
...
This time not doing it in other languages due to unjustified generator
complexity.
Fixes #27341
2023-10-04 09:27:28 -07:00
Dmitry Gozman
65ce4cd213
feat: expose composedTest() instead of test._extendTest() ( #27414 )
2023-10-03 13:26:30 -07:00
Pavel Feldman
47b0255b89
chore: instrument nested workers ( #27400 )
...
Ref: https://github.com/microsoft/playwright/issues/27376
2023-10-03 13:08:15 -07:00
Pavel Feldman
ae08d03d75
fix(role): compute <output> accessible name from labels ( #27415 )
...
Fixes: https://github.com/microsoft/playwright/issues/27403
2023-10-03 13:01:13 -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
9116a81c17
test: add more installation test scenarios ( #27240 )
2023-10-02 21:10:26 -07:00
Dmitry Gozman
2aca7fdcc2
fix(chromium): scroll into view elements inside iframes before waiting ( #27394 )
...
This forces iframes to be visible, so that `rAF`s always run.
Fixes #27196 .
2023-10-02 17:21:06 -07:00
Dmitry Gozman
dfc75a1e1a
test: speed up installation tests by not isolating browser unless required ( #27370 )
2023-10-02 11:26:08 -07:00
Yury Semikhatsky
ac9d1ec421
test: scroll into view element in cross-origin iframe outside viewport ( #27369 )
...
Reference: #27196
2023-09-29 17:23:51 -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
Pavel Feldman
d136b0aeb6
feat(step): allow boxing steps ( #27334 )
2023-09-29 09:44:00 -07:00
Dmitry Gozman
08e71fec5d
test: add installation tests for supposed plugin story ( #27331 )
2023-09-28 17:18:22 -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
Sander
2032b64ee6
feat(ct): allow baseUrl and host config ( #27295 )
...
closes: https://github.com/microsoft/playwright/issues/27283
2023-09-26 16:32:51 -07:00
Pavel Feldman
ffd20f43f8
chore: dispose stale handles to prevent oom, 1000 of a kind max ( #27315 )
...
https://github.com/microsoft/playwright/issues/6319
2023-09-26 15:54:33 -07:00
Yury Semikhatsky
d198784f1a
fix(blob): use reporters from the merge config ( #27301 )
...
Fixes https://github.com/microsoft/playwright/issues/27281
2023-09-26 11:41:17 -07:00
Pavel Feldman
aed86c98a8
chore(ct): allow using component as a property ( #27272 )
2023-09-25 17:00:52 -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
Dmitry Gozman
66eb3043f5
feat(json report): expose startTime and duration ( #27290 )
...
Fixes #27183 .
2023-09-25 10:58:55 -07:00
Pavel Feldman
d6ec1ae399
chore: document chaining expect.extend ( #27262 )
...
Fixes https://github.com/microsoft/playwright/issues/15951
2023-09-22 13:56:59 -07:00
Pavel Feldman
a6a0257c88
feat(expect): allow chaining expects ( #27248 )
2023-09-22 12:12:17 -07:00
Dmitry Gozman
49fd9500fe
fix: handle worker process start failure ( #27249 )
...
Worker process start failure is reported as a test error and skips other
tests from the group.
If happened during stop (e.g. from a Ctrl+C) before worker has fully
initialized, this error is ignored.
Drive-by: send SIGINT in tests to the whole tree, to better emulate
Ctrl+C behavior.
2023-09-22 10:57:35 -07:00
Pavel Feldman
51a774f8a3
chore: include log in matcherResult ( #27164 )
2023-09-21 16:23:46 -07:00
Dmitry Gozman
1857a3fb56
fix(evaluate): make sure to try/catch toJSON access ( #27238 )
2023-09-21 13:31:28 -07:00
Dmitry Gozman
14a3659071
test: speed up installation tests by not downloading from cdn multiple times ( #27220 )
2023-09-21 12:40:18 -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
b9509b3ec6
Revert "feat(evaluate): serialize map and set ( #26730 )" ( #27219 )
...
This reverts commit ee203b782c .
References #24040 .
Fixes #27181 .
2023-09-20 18:31:09 -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
Dmitry Gozman
bb4268d165
fix(locators): do not escape regular expressions with u or v flag ( #27188 )
...
Fixes #27163 .
2023-09-19 13:16:50 -07:00
Playwright Service
f064fb6840
feat(firefox-beta): roll to r1425 ( #27128 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-09-19 00:31:58 -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
955be6bd61
chore: populate matcherResult for toHaveScreenshot ( #27136 )
...
Ref #26929
2023-09-18 09:12:23 -07:00
Pavel Feldman
9fe037fb63
chore: populate matcherResult in web assertions ( #27133 )
...
Ref https://github.com/microsoft/playwright/issues/26929
2023-09-16 14:24:10 -07:00
Dmitry Gozman
3bcf9687e6
fix(test runner): make sure auto worker fixtures run before auto test fixtures ( #27131 )
...
Fixes #27114 .
2023-09-15 14:51:31 -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
Max Schmitt
0d44405762
fix: custom expect matchers on Locator/Page/APIResponse instance ( #27117 )
...
Fixes https://github.com/microsoft/playwright/issues/27113
2023-09-15 18:05:44 +02:00
Yury Semikhatsky
ebf6a08290
fix: list tests only once ( #27103 )
...
Fixes #27087
2023-09-14 20:00:30 -07:00
Max Schmitt
26cbe69442
test: use intermediate merge report for JSON repoter ( #27092 )
2023-09-15 04:36:15 +02:00
Dmitry Gozman
b3edf8e562
fix(har): handle invalid Expires/Max-Age ( #27098 )
...
Fixes #27073 .
2023-09-14 17:06:56 -07:00
David Paquette
3170963f42
fix: render JUnit attachment paths relative to outputFile ( #27024 )
2023-09-14 12:58:09 -07:00
Dmitry Gozman
603861c48d
fix: revert toMatchSnapshot deprecation ( #27089 )
...
- This reverts commit
8348f66107
landed in #26718 .
- Update docs to point towards `toHaveScreenshot`.
2023-09-14 12:52:41 -07:00
Max Schmitt
aa929bff3b
test: unflake 'filter should update stats' test ( #27085 )
...
It's not possible to calculate the total test duration of the tests in
the UI, since our `msToString` function is lossy. This patch unflakes
the
[test](https://github.com/microsoft/playwright/actions/runs/6183832112/job/16787806162?pr=27074#step:7:254 )
when it took longer than a second to start, by writing the test-ids to
the DOM, getting them into the Node.js process, and calculating their
test duration sum based on the JSON report.
Drive-by: I found a bug that we used the JSON report from the main
test-runner process rather than from the merge process, so the test IDs
were still old. (Without that change the `useIntermediateMergeReport`
tests were not passing.
2023-09-14 19:51:05 +02:00
Max Schmitt
4431a8366d
fix: collect stdio from forked processes ( #27074 )
...
A summary about the attempts we tried in
https://github.com/microsoft/playwright/pull/26931 for
https://github.com/microsoft/playwright/issues/26859 and
https://github.com/microsoft/playwright/issues/24591 .
1. attempt: collect all the stdio from the worker host.
- this made it hard to capture the live console logs for the live trace
2. attempt: collect all the stdio from the worker host, but keep
proxying `process.{stdout,stderr}.write`.
- this solved the live console logs problem, since we could still listen
on them
- we found out about a race that the stdout/stderr streams can still
buffer data while the test already had finished
- we created a best effort flush implementation but didn't like the
complexity it introduced to the project
3. attempt: keep things like they are but also listen to stdio from the
worker host
- this solves the race of console.log in the test (things stay like they
are)
- this keeps live trace working (things stay like they are)
- a known pitfall is that it could result in logs which don't end up in
the reporter onStdOut/onStdErr, but it is already a significant
improvement over how it was before.
- before: they were not getting displayed
- after: they are getting displayed and there is a low likelihood that
they don't end up in the reporter API if the write happens slightly
before a test finished.
Closes #26931
Fixes #26859
Fixes #24591
2023-09-14 18:34:26 +02:00
Dmitry Gozman
f9298cfff6
fix(tracing): unclash trace names between test and hooks ( #27063 )
...
Fixes #27048 .
2023-09-13 19:56:40 -07:00
Andrey Lushnikov
45d2a36453
chore: roll stable test runner to 1.38 beta ( #27066 )
2023-09-13 16:01:06 -07:00
Yury Semikhatsky
1424185c23
test: init script runs onces in iframes ( #27057 )
...
Failing test for #26992 .
2023-09-13 09:46:59 -07:00
Andrey Lushnikov
64bf2a624f
test: fix webkit test on Darwin ( #27029 )
2023-09-12 15:01:44 -07:00
Pavel Feldman
02c72e545b
feat(onEnd): allow overriding the exit code ( #27010 )
...
Fixes: https://github.com/microsoft/playwright/issues/26858
2023-09-12 13:37:30 -07:00
Max Schmitt
d0945192a4
feat: make it possible to filter by column in HTML report ( #27020 )
2023-09-12 22:13:15 +02: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
Max Schmitt
01ab703400
test: restore useIntermediateMergeReport=true test mode in html tests ( #26989 )
...
This got accidentally removed in
https://github.com/microsoft/playwright/pull/26799 .
2023-09-11 09:14:05 -07:00
Yury Semikhatsky
2feae015aa
chore: remove details from markdown reports ( #26961 )
...
- remove error details from the reports
- collapse flaky tests by default
- limit comment to 65365 character
GitHub API has comment length limit 65536 chars:
```
Unhandled error: HttpError: Validation Failed: {"resource":"IssueComment","code":"unprocessable","field":"data","message":"Body is too long (maximum is 65536 characters)"}
```
2023-09-08 17:49:34 -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
Dmitry Gozman
e6d9b2a818
test: add installation tests for yarn and pnpm ( #26937 )
2023-09-08 10:06:31 -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
Yury Semikhatsky
f045e13e00
test: contextmenu on right click ( #26885 )
...
Reference https://github.com/microsoft/playwright/issues/26515
2023-09-05 16:12:17 -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
Pavel Feldman
a339bead09
chore: implement faster ansi2html format for console ( #26826 )
2023-09-01 09:09:47 -07:00
Pavel Feldman
4948920437
fix(ui): do not log from beforeAll twice ( #26799 )
...
Fixes https://github.com/microsoft/playwright/issues/26790
2023-08-31 17:34:15 -07:00
Dmitry Gozman
fa286de0b3
fix(test runner): extract FailureTracker helper ( #26757 )
...
This way we can reuse it for:
- tracking `maxFailures` across phases;
- tracking failures for runner;
- tracking failures for `runJob` helper class later on.
Fixes #26344 .
2023-08-31 15:32:29 -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
Max Schmitt
cc30d72b0b
test: roll android chromium to 1190572 ( #26807 )
2023-08-31 18:08:27 +02:00
Pavel Feldman
c209d7e708
chore: more network panel polish ( #26780 )
2023-08-29 22:20:28 -07:00
Pavel Feldman
34c6197f9e
chore: include start/endTime and duration in onEnd report callback ( #26760 )
...
Fixes https://github.com/microsoft/playwright/issues/23637
2023-08-29 10:56:21 -07:00
Pavel Feldman
38f1e62642
chore: use custom expect message in trace step ( #26752 )
2023-08-28 14:48:24 -07:00
Sander
ee203b782c
feat(evaluate): serialize map and set ( #26730 )
...
closes: https://github.com/microsoft/playwright/issues/24040
2023-08-28 14:32:41 -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
5c72cbdb23
feat(webkit): roll WebKit to r1898 ( #26738 )
2023-08-28 19:44:52 +02:00
Dmitry Gozman
36347e7fea
feat: make playwright package not install browsers automatically ( #26672 )
...
Additionally introduce `@playwright/browser-<browser>` packages that
just download the respective browser, but do not export anything.
References #26614 .
2023-08-27 07:24:35 -07:00
Dmitry Gozman
8348f66107
feat: deprecate toMatchSnapshot for buffers ( #26718 )
...
These are usually used for screenshots instead of toHaveScreenshot.
String-based snapshots are left as is.
<img width="836" alt="deprecated"
src="https://github.com/microsoft/playwright/assets/9881434/d02818da-7eea-47fc-8ea8-4104b0dd49b5 ">
---
Also deemphasized toMatchSnapshot throughout all docs.
Fixes #26612 .
2023-08-25 18:20:01 -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
Pavel Feldman
376f2850b3
chore: flaky tests fixes ( #26714 )
2023-08-25 12:43:50 -07:00
Max Schmitt
9ae77a71fd
feat: print message if maxFailures has reached ( #26322 )
...
Fixes https://github.com/microsoft/playwright/issues/24239
2023-08-25 19:06:49 +02:00
Pavel Feldman
e7bd1864a8
chore: do not add plugins to config twice ( #26670 )
2023-08-24 16:19:57 -07:00
Yury Semikhatsky
39a6b23309
devops: create blob reports for all "tests 1" ( #26694 )
2023-08-24 16:06:41 -07:00
Dmitry Gozman
c970179551
fix(resolver): allow importing packages with non-index main script ( #26692 )
...
Regressed in https://github.com/microsoft/playwright/pull/23254 .
Fixes #26650 .
2023-08-24 14:09:00 -07:00
Dmitry Gozman
0ecc13038f
fix(textContent): make it work for ShadowRoot ( #26690 )
...
It used to work, but regressed in v1.36.
Fixes #26636 .
2023-08-24 12:59:42 -07:00
Dmitry Gozman
c90c943154
fix(test.fail): expect() failure should not skip future tests ( #26663 )
...
We used to stop the worker that would skip future tests. Regressed in
https://github.com/microsoft/playwright/pull/11850 .
Fixes #26435 .
2023-08-24 08:32:14 -07:00
Dmitry Gozman
81cc39ea6e
feat(expect): narrow down available assertions for Page/Locator/APIResponse ( #26658 )
...
Fixes #26381 .
2023-08-23 13:14:39 -07:00
Dmitry Gozman
44d3770559
fix(selector generator): escape all tag names in css selectors ( #26659 )
...
Fixes #26657 .
2023-08-23 12:32:08 -07:00
Max Schmitt
d08b38013d
test: remove itest folders using rimraf ( #26646 )
...
This should fix:
Error: ENOTEMPTY: directory not empty, rmdir
'C:\Users\RUNNER~1\AppData\Local\Temp\pwt\workspaces\playwright-xyz-should-work-playwright-chromium-should-work-installation-tests\browsers\chromium-1076\chrome-win'
2023-08-23 17:59:19 +02:00