Commit Graph

3690 Commits

Author SHA1 Message Date
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
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
Playwright Service
9af667be26
feat(webkit): roll to r1928 (#27755)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-23 18:22:49 +02:00
Max Schmitt
5fe77f9a6f
chore: better error for trace viewer over http:// (#27722)
We saw in the past a lot of users reporting issues like this. Maybe a
more readable error helps.

Before they just saw:

```
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'register')
  at index.38834ec3.js:1:3775
  at index.38834ec3.js:1:4006
```

Fixes https://github.com/microsoft/playwright/issues/27655
2023-10-23 18:21:19 +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
Michaël Vanderheyden
0a0878d567
feat: add pixel 7 device with android 14 (#27700) 2023-10-23 12:59:42 +02: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
Playwright Service
6ba2eaf24a
feat(chromium-tip-of-tree): roll to r1161 (#27705)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-19 16:44:36 +02:00
Playwright Service
920f8766f0
feat(chromium): roll to r1086 (#27703)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-19 16:15:22 +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
Pavel Feldman
3aa147914c
chore: split error to client and server sides (#27672) 2023-10-17 21:34:02 -07:00
Playwright Service
8eab375c1d
feat(chromium-tip-of-tree): roll to r1160 (#27657) 2023-10-18 02:28:31 +02:00
Pavel Feldman
091f6883f5
chore: remove the usages of raw target closed message constant (#27669) 2023-10-17 15:35:41 -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
Josh Lee
08bc4fd801
fix(registry): don't download x64 binaries on other platforms (#27462)
On Linux platforms, specifically check that process.arch is x64, rather
than treating it as 'not arm64'.

Treat Raspbian's /etc/os-release file as Debian.

Document the supported platforms somewhat.

Fixes #27453
2023-10-17 12:54:20 -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
Playwright Service
f8277ca99c
feat(webkit): roll to r1927 (#27639)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-16 23:27:15 +02:00
Pavel Feldman
b0c73b72f1
chore: push protocol error conversion to dispatcher (#27608) 2023-10-16 13:13:00 -07:00
Dmitry Gozman
d83d9ce268
chore: make sure that we print warning for unsupported OS (#27610)
Also, fix some missing paths in download lists.
2023-10-16 10:49:57 -07:00
Max Schmitt
6b31b30df9
chore: allow a script to generate release-notes for GitHub (#27596)
`node utils/render_release_notes.mjs js 1.39`
2023-10-16 11:23:22 +02:00
Playwright Service
b3bcf1c75a
feat(chromium): roll to r1085 (#27604)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-14 16:17:50 +02:00
Dmitry Gozman
fc32ca676b
feat: check client version on the server (#27585) 2023-10-13 21:02:30 -07:00
Dmitry Gozman
f0167091e6
fix(test runner): rework compilation cache logic (#27607)
- Do not write from workers.
- Remove marker files.
- Always try/catch reading from fs.

This mostly reverts https://github.com/microsoft/playwright/pull/26830
and https://github.com/microsoft/playwright/pull/26353.

Fixes #27592.
2023-10-13 21:01:40 -07:00
Playwright Service
3e4a1e89a1
feat(webkit): roll to r1926 (#27609) 2023-10-13 17:09:38 -07:00
Playwright Service
6400e5c564
feat(webkit): roll to r1925 (#27588) 2023-10-13 09:23:47 -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
Playwright Service
7b4a9d967a
feat(webkit): roll to r1923 (#27571) 2023-10-12 11:18:48 -07:00
Pavel Feldman
f212fd1a83
chore: unify target closed errors (#27540) 2023-10-12 11:05:34 -07:00
Dmitry Gozman
823b104a9e
feat(html): "copy to clipboard" for text attachments (#27556)
Mostly copied from trace viewer. Not reused due to different
colors/icons.

Screenshot:

<img width="999" alt="copy-to-clipboard"
src="https://github.com/microsoft/playwright/assets/9881434/2bb38442-3b8d-42ba-a3ed-4b9052b22854">
2023-10-11 17:56:05 -07:00
Pavel Feldman
393bd36e0a
chore: composed->merge (#27555) 2023-10-11 13:56:27 -07:00
Dmitry Gozman
7aee202aef
chore: mark 1.40.0-next (#27538) 2023-10-10 16:10:28 -07:00
Dmitry Gozman
4f9b285c07
chore: update WebKit version to 17.4 (#27536) 2023-10-10 14:49:49 -07:00
Dmitry Gozman
d11380e911
docs: improve test.step documentation (#27535) 2023-10-10 14:48:44 -07:00
Playwright Service
9edb811434
feat(chromium-tip-of-tree): roll to r1158 (#27533)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-10 21:32:47 +02:00
Dmitry Gozman
2407041090
fix(chromium): avoid premature continue of redirects (#27520)
This has recently regressed in #27429.

We now continue requests that are paused for the second time. However,
redirects share `networkId` with the original request, so we may confuse
paused redirect with a second pause for the original request.

This is covered by the flaky test `page-route.spec.ts:392 > should work
with redirects for subresources`
References #27294.
2023-10-09 20:08:35 -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
Playwright Service
036a018351
feat(webkit): roll to r1921 (#27512) 2023-10-09 10:56:04 -07:00
Playwright Service
9062dd0139
feat(chromium): roll to r1084 (#27497) 2023-10-07 10:48:51 +00: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
Playwright Service
7381099ad1
feat(webkit): roll to r1920 (#27493) 2023-10-06 22:11:26 +00:00
Dmitry Gozman
ae5610f5c1
chore: include full messages into pw:channel logs (#27488)
Currently, we pass an object to the logger and it seems to use default
Node's `util.inspect()` which does not print properties at 3+ depth.
2023-10-06 11:04:33 -07:00
Playwright Service
cf29d1baa9
feat(webkit): roll to r1919 (#27472) 2023-10-06 07:15:56 +00:00
Max Schmitt
f856e3e4bc
chore: run 'npm pkg fix' (#27470)
As per

```
npm WARN publish npm auto-corrected some errors in your package.json when publishing.  Please run "npm pkg fix" to address these errors.
npm WARN publish errors corrected:
npm WARN publish Removed invalid "scripts"
npm WARN publish "bin[playwright-core]" script name was cleaned
npm WARN publish "repository.url" was normalized to "git+https://github.com/microsoft/playwright.git
```

works now as per
https://www.npmjs.com/package/@playwright/test/v/1.39.0-alpha-1696547902000
when you scroll down.

https://github.com/microsoft/playwright/issues/22555
2023-10-05 23:42:27 +00:00
Max Schmitt
10e7654fd9
chore: update repository.url in package.json (#27469)
As per
https://github.com/microsoft/playwright/actions/runs/6425074868/job/17446981722#step:7:168.

e.g. here:
2e4b4ad8be/package.json (L28-L31)
docs:
https://docs.npmjs.com/cli/v10/configuring-npm/package-json#repository

https://github.com/microsoft/playwright/issues/22555
2023-10-05 23:18:22 +00:00
Playwright Service
ece6e70076
feat(webkit): roll to r1918 (#27466)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-05 23:00:46 +00:00
Max Schmitt
ce928cd12f
fix: make processRunner nullable (#27468)
This fixes:
```
D:\a\playwright\playwright\packages\playwright\lib\common\process.js:119
  await processRunner.gracefullyClose().catch(() => {});
                      ^

TypeError: Cannot read properties of undefined (reading 'gracefullyClose')
    at gracefullyCloseAndExit (D:\a\playwright\playwright\packages\playwright\lib\common\process.js:119:23)
    at process.<anonymous> (D:\a\playwright\playwright\packages\playwright\lib\common\process.js:81:11)
    at process.emit (node:events:513:28)
    at emit (node:internal/child_process:946:14)
    at processTicksAndRejections (node:internal/process/task_queues:84:21)
```

from
[here](https://github.com/microsoft/playwright/actions/runs/6424299724/job/17444659548#step:7:2936).

`gracefullyCloseAndExit` gets called via `__stop__` and wants to use
`processRunner` var which gets created during `__init__`. So its
`undefined` when `__stop__` gets called.
2023-10-05 22:59:20 +00:00
Pavel Feldman
70dbb9d83a
feat(trace): allow navigating from error to source (#27464) 2023-10-05 14:59:59 -07:00
Dmitry Gozman
cba2fc0752
chore: align FFConnection with CRConnection (#27450) 2023-10-05 13:46:41 -07:00
Playwright Service
5e2b9f158c
feat(webkit): roll to r1917 (#27444)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-10-05 19:21:21 +00:00
Playwright Service
3f6b419fee
feat(chromium-tip-of-tree): roll to r1157 (#27454)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-05 18:38:36 +00:00
Playwright Service
d877f15902
feat(webkit): roll to r1916 (#27447)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-10-05 17:32:21 +00:00
Playwright Service
2ea28c9732
feat(webkit): roll to r1915 (#27443)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-10-05 17:31:40 +00:00
Playwright Service
b3897b209e
feat(chromium): roll to r1083 (#27445)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-05 16:52:10 +00:00
Pavel Feldman
89e1f69738 chore: regenerate types after spell check 2023-10-04 19:57:36 -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
Dmitry Gozman
045e8aa368
chore: move devices from Playwright to LocalUtils (#27437)
Also, do not create `LocalUtils` for remote connections. This avoids
sending device on every remote connect.
2023-10-04 16:48:54 -07:00
Playwright Service
b584a86a8b
feat(chromium-tip-of-tree): roll to r1156 (#27433)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-04 23:06:50 +00: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
Playwright Service
7dcba6f5f0
feat(firefox): roll to r1425 (#27427)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-10-04 11:00:50 -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
Pavel Feldman
5a7b405bdb
chore: add console icon titles (#27416)
Fixes https://github.com/microsoft/playwright/issues/27411
2023-10-03 15:52:37 -07:00
Pavel Feldman
c226d97b87
chore: bump vite to 4.4.10 (#27417) 2023-10-03 14:59:13 -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
mash-graz
2c56af3a3b
fix: use most recent stable debian release browser binaries in case of debian testing and unstable (#27397)
Fixes: #27398
2023-10-03 12:35:21 -07:00
Yury Semikhatsky
567386c23f
fix(webkit): add libnghttp2 to the deps on older distros (#27399)
`bin/WPENetworkProcess` depends on `libsoup-3.0.so.0` which we bundle
with the browser on Ubuntu 20 and Debian 11, but soup3 depends on
`libnghttp2.so` which is expected to be installed on the host.

Fixes https://github.com/microsoft/playwright/issues/27255
2023-10-02 18:06:28 -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
Playwright Service
1bed74bc8b
feat(webkit): roll to r1914 (#27279) 2023-10-02 11:36:23 -07:00
Andrey Lushnikov
471d12ac7b
chore: keep linux browser deps script up-to-date (#27309)
References https://github.com/microsoft/playwright/issues/27255
2023-10-02 11:34:49 -07:00
Yury Semikhatsky
bb8a102164
chore(types): add blob reporter to the known reporter types (#27371)
Closes https://github.com/microsoft/playwright/issues/27357
2023-09-29 15:15:18 -07:00
Dmitry Gozman
5deea65bf2
fix(test runner): move removing artifacts dir from stop() to onExit (#27364)
Fixes #27326.
2023-09-29 14:57:32 -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
2a8d6a8207
docs: encourage using expect() instead of getters like textContent() (#27362) 2023-09-29 10:52:20 -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
Yury Semikhatsky
0f14446518
chore: log formatting for single state (#27351)
Fixes formatting for "waiting for element to be  and stable".
2023-09-29 09:14:26 -07:00
Dmitry Gozman
08e71fec5d
test: add installation tests for supposed plugin story (#27331) 2023-09-28 17:18:22 -07:00
Pavel Feldman
4fd2b4adef
chore: bump the babel (#27348) 2023-09-28 17:12:57 -07:00
Pavel Feldman
2892467839
chore: delete temporary artifacts after test (#27332) 2023-09-27 16:29:21 -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
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
07e794eb83
chore: follow up to runnable change (#27300) 2023-09-26 08:57:14 -07:00
Dmitry Gozman
c0dc2328aa
chore: use JobDispatcher helper in one more place (#27299) 2023-09-25 20:08:22 -07:00
Pavel Feldman
aed86c98a8
chore(ct): allow using component as a property (#27272) 2023-09-25 17:00:52 -07:00
Pavel Feldman
4e62468aee
chore: use closures to set current runnable (#27293) 2023-09-25 15:22:25 -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
wodyjowski
522782cce6
fix: desiredCapabilities removed (#27275)
DesiredCapabilities field was removed in selenium grid > 4.8.2
Without this field removed it's impossible to connect to grid.
Grid throws exception on POST /session
[stackoverflow issue](https://stackoverflow.com/a/76695833)

Fixes #27276
2023-09-25 13:52:16 -07:00
Dmitry Gozman
32a50e2d90
chore(test runner): use helper method in JobDispatcher (#27278) 2023-09-25 11:05:49 -07:00
Dmitry Gozman
7bd8032439
docs: mention Locator.first in toBeVisible (#27292)
Fixes #26842.
2023-09-25 10:59:39 -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
c7d9ae1c8b
ui(trace): make drawer appear under action list (#27260) 2023-09-22 10:43:44 -07:00
Dmitry Gozman
ccaec034d8
chore(test runner): extract JobDispatcher (#26776) 2023-09-21 17:13:00 -07:00
Pavel Feldman
51a774f8a3
chore: include log in matcherResult (#27164) 2023-09-21 16:23:46 -07:00
Pavel Feldman
287d720b8e
chore: remove dedicated console channel (#27234) 2023-09-21 16:16:43 -07:00
Playwright Service
4bf5af6d86
feat(webkit): roll to r1912 (#27242) 2023-09-21 15:23:14 -07:00
Dmitry Gozman
1857a3fb56
fix(evaluate): make sure to try/catch toJSON access (#27238) 2023-09-21 13:31:28 -07:00
Playwright Service
1d6ec0923c
feat(webkit): roll to r1911 (#27226) 2023-09-21 09:33:12 -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
ddcc52bfcc
feat(chromium-tip-of-tree): roll to r1152 (#27182)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-19 18:29:17 +02: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
Andrey Lushnikov
94e272ba0f
fix(firefox): properly handle navigations (#27132)
In firefox, the `frameRequestedNavigation` is coming from renderer and
thus can happen **after** the `Network.requestWillBeSent`, which is
dispatched from the browser process.

Fixes https://github.com/microsoft/playwright/issues/24132
2023-09-18 17:01:19 -07:00
Pavel Feldman
6b36a50969
chore: simplify expect zone wrapper (#27145) 2023-09-18 15:02:50 -07:00
Pavel Feldman
955be6bd61
chore: populate matcherResult for toHaveScreenshot (#27136)
Ref #26929
2023-09-18 09:12:23 -07:00
Playwright Service
3b4e21dd99
feat(webkit): roll to r1910 (#27134) 2023-09-18 08:57:34 -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
Pavel Feldman
c914d62c69
chore: nicer network grid header (#27102) 2023-09-15 09:16:29 -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
Pavel Feldman
699e790f69
chore: fit body in the network panel (#27100) 2023-09-14 17:15:24 -07:00
Dmitry Gozman
a26f568b36
fix(tracing): support old traces with consoleMessage.args (#27095)
Fixes #27072.
2023-09-14 17:07:29 -07:00
Dmitry Gozman
b3edf8e562
fix(har): handle invalid Expires/Max-Age (#27098)
Fixes #27073.
2023-09-14 17:06:56 -07:00
Pavel Feldman
c6510ac000
chore: align select options docs (#27097)
Fixes: https://github.com/microsoft/playwright/issues/27094
2023-09-14 16:41:36 -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
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
Playwright Service
57e5183809
feat(chromium): roll to r1081 (#27080)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-14 16:00:21 +02:00
Playwright Service
3b16bbd04a
feat(chromium-tip-of-tree): roll to r1151 (#27081)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-14 16:00:06 +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
Max Schmitt
ce43ea7d99
chore: roll @zip.js/zip.js to 2.7.29 (#27047) 2023-09-13 18:39:10 +02:00
Max Schmitt
c06ed8c0bc
chore: add --disable-search-engine-choice-screen flag to Chromium (#27038)
As per `https://github.com/puppeteer/puppeteer/pull/10880`
2023-09-13 18:06:50 +02:00
Playwright Service
bf35390c8d
feat(webkit): roll to r1908 (#27049) 2023-09-13 17:40:18 +02:00
Playwright Service
00b74a4aae
feat(chromium): roll to r1080 (#27041)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-13 14:12:45 +02:00
Playwright Service
3203b6c31f
feat(chromium-tip-of-tree): roll to r1150 (#27031)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-13 08:59:12 +02:00
Yury Semikhatsky
fac4560a82
chore(types): host, port in html reporter config (#27027) 2023-09-12 13:38:10 -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
Pavel Feldman
97b3625049
chore: polish ui mode for better mac appearance (#27008) 2023-09-11 19:01:00 -07:00
Pavel Feldman
91478ea316
chore: document new onEnd params (#27006) 2023-09-11 18:17:49 -07:00
Andrey Lushnikov
41cd9e183a
chore: cut 1.38.0 branch (#27004) 2023-09-11 18:16:16 -07:00
Pavel Feldman
7c838653d6
chore: fix the split view, reset window on timeline click (#27007) 2023-09-11 18:16:02 -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
6bbc09c96c
chore: show channel name in trace viewer metadata (#26987)
Fixes https://github.com/microsoft/playwright/issues/26986
2023-09-11 23:06:56 +02:00
Max Schmitt
c327d5af5b
chore: roll TypeScript to 5.2.2 (#26977) 2023-09-11 18:18:19 +02:00
Max Schmitt
54f36bee93
chore: make html report image attachment clickable (#26978) 2023-09-11 08:44:00 +02:00
Pavel Feldman
80b9e02837
fix(trace): do not attach screenshots twice (#26971) 2023-09-08 18:00:12 -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
Pavel Feldman
c3f5486dab
chore: group attachments across actions in trace (#26969) 2023-09-08 16:47:45 -07:00
Dmitry Gozman
186f86905c
chore: make @playwright/test depend on playwright (#26946) 2023-09-08 14:23:35 -07:00
Pavel Feldman
8ba8c9385d
chore: keep split positions when zooming (#26942) 2023-09-08 12:30:08 -07:00
Playwright Service
f5e6f2e6d2
feat(webkit): roll to r1907 (#26953) 2023-09-08 09:03:51 -07:00
Pavel Feldman
99047cba03
chore: add install browsers dialog (#26940) 2023-09-07 18:34:59 -07:00
Pavel Feldman
167c35ca66
chore: store scroll positions in trace viewer (#26938) 2023-09-07 17:14:39 -07:00
Playwright Service
aa3f4f208e
feat(chromium): roll to r1079 (#26934) 2023-09-07 18:48:50 +02:00
Playwright Service
e814657a38
feat(chromium-tip-of-tree): roll to r1149 (#26933)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-07 17:51:47 +02:00
Playwright Service
bf1f2d2c81
feat(firefox): roll to r1424 (#26915)
Fixes https://github.com/microsoft/playwright/issues/26463

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-06 23:02:52 -07:00
Playwright Service
bcf59ed721
feat(webkit): roll to r1905 (#26909) 2023-09-07 07:41:46 +02:00
Pavel Feldman
7fa16d2230
chore: pick frame selectors in recorder (#26923) 2023-09-06 18:35:32 -07: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
Pavel Feldman
ea4974ce36
chore: allow resetting the time filter (#26920) 2023-09-06 16:14:26 -07:00
Dmitry Gozman
cb8656f24f
chore: remove @types/node from deps (#26918)
This effectively reverts #14230. We will install `@types/node` in `npm
init playwright` instead.
2023-09-06 16:09:35 -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
Max Schmitt
d79dad09e8
fix(ui-mode/tv): do not open new tab on macOS (#26877)
Fixes https://github.com/microsoft/playwright/issues/9434
2023-09-06 22:57:29 +02:00
Dmitry Gozman
abea8f4d1c
docs: update deprecation messages for type() methods (#26912) 2023-09-06 12:41:12 -07:00
Dmitry Gozman
361038c950
feat: rename PageError to WebError (#26913) 2023-09-06 12:40:53 -07:00
Andrey Lushnikov
9105a20ac4
fix: remove window.stop() from page.setContent() implementation (#26886)
The call was added back in 2019 to stop network loading. See commit:
56a48559c2

However, there's no evidence that this call is needed any more:
- all the tests pass without it
- `window.stop()` behavior is poorly defined, so relying on it is
unfortunate.

The `window.stop()` call, however, causes trouble while rolling firefox:
under certain condititions, the call prevents document from firing the
`load` event in the `document.open().write(..).close()` sequence that
comes immediately after the call. While this does look like a bug in
Firefox itself, we failed to reproduce it in isolation.

For the reference, the following tests fail with the Firefox 116 (using
`PWTEST_TRACE=1` triggers the race condition somewhere):

```bash
PWTEST_TRACE=1 npm run ftest cli-codegen
```
2023-09-06 11:02:38 -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
Playwright Service
500821d1bd
feat(chromium-tip-of-tree): roll to r1148 (#26904)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-06 18:15:32 +02:00
Pavel Feldman
e0db46ae14
chore: highlight ansi in browser messages as well (#26881) 2023-09-05 17:29:07 -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
Playwright Service
94c1b749b2
feat(webkit): roll to r1904 (#26855)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-04 16:08:23 +02:00
Pavel Feldman
8c494e2519
chore: add log/error tabs and counters (#26843) 2023-09-01 20:12:05 -07:00
Pavel Feldman
1c5f53f216
chore: show innermost error in ui mode (#26840) 2023-09-01 13:48:15 -07:00
Pavel Feldman
a339bead09
chore: implement faster ansi2html format for console (#26826) 2023-09-01 09:09:47 -07:00
Andrey Lushnikov
54e4e5caca
fix: implement atomic append for compilation cache (#26830)
Note: this reverts commit ffd6cf60eb.

Fixes #26769
2023-08-31 17:55:13 -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
f3c02a5b4f
fix(trace viewer): make red dot to the center of the target element (#26825)
Also make sure red dot is visible in the popout tab.

Fixes #24532.
2023-08-31 16:52:54 -07:00