618 Commits

Author SHA1 Message Date
Max Schmitt
f44ef81af7
fix(snapshot): broken snapshot after use of setInputFiles (#28444) 2023-12-01 09:38:50 -08:00
Yury Semikhatsky
15a8ba5158
fix(route): correctly remove expired handlers (#28385)
* Check if handler is still in the route list before calling it
* Check if the handler is still in the list before removing it after
`times` expiration
2023-11-28 17:52:16 -08:00
Dmitry Gozman
11bf96fe98
test: unflake a few tests (#28205) 2023-11-16 16:31:42 -08:00
Max Schmitt
ff706ec8bd
test: skip Intl.ListFormat test on ubuntu20.04 (#28185)
It was failing across the Ubuntu 20.04 bots:


![image](https://github.com/microsoft/playwright/assets/17984549/3b80f04d-cae8-4288-8fd3-b94d9bf1ce03)

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
Max Schmitt
ee1e6cd72f
test: unskip service tests (#28170) 2023-11-16 20:14:55 +01: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
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
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
Dmitry Gozman
7f10fe935a
test: add a test for concurrent hover (#28042)
References #27969.
2023-11-09 08:27:34 -08:00
Pavel Feldman
87787dcc7d
chore: allow click close the page w/o errors (#27994) 2023-11-06 15:13:41 -08: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
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
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
Pavel Feldman
4d82d6801f
chore: render full pathname in network panel (#27843)
Fixes #27618
2023-10-27 14:14:24 -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
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
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
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
6fe31ab52c
feat: support alternative quotes in js parseLocator() (#27718)
Fixes #27707.
2023-10-20 08:42:29 -07:00
Yury Semikhatsky
bd58c0d5d2
fix: preserve lastModified timestamp in setInputFiles (#27671)
Fixes #27452
2023-10-18 14:05:09 -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
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
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
f212fd1a8318345147c7357ced36db21acd477a0
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
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
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
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
Dmitry Gozman
0717b386f9
test: disable some failing tests (#27463) 2023-10-05 15:00:08 -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