Jean-François Greffier
dcab22c307
feat: display package manager in CLI help and tips ( #26450 )
...
Display `npx playwright`, `yarn playwright` or `pnpm exec playwright` in
CLI
Fixes #21425
2023-08-17 08:53:08 -07:00
Andrey Lushnikov
ffd6cf60eb
fix: eliminate race in compilation cache ( #26353 )
...
Fixes https://github.com/microsoft/playwright/issues/24569
2023-08-08 15:09:20 -07:00
Yury Semikhatsky
8e2f33673b
chore(blob): change file name to report{-suffix}{-shard}.zip ( #24592 )
2023-08-03 13:23:30 -07:00
Andrey Lushnikov
f135b5f7a8
fix: make sure monotonicTime()
value is reasonable ( #24518 )
...
https://github.com/microsoft/playwright/issues/24432
2023-07-31 09:42:08 -07:00
Pavel Feldman
b39fd7283f
chore: skip tests that fail in cross-machine service mode ( #24412 )
2023-07-25 16:47:04 -07:00
Dmitry Gozman
9d0bba9c99
fix(tracing): do not throw on missing attachments ( #24409 )
...
Fixes #24378 .
2023-07-25 14:32:56 -07:00
Dmitry Gozman
4c8912f74e
chore: remove separate process that cleans up directories ( #24376 )
...
A separate process is `spawnSync`'ed on process exit to cleanup
temporary directories, introduced in #13769 that followed up after
#13343 .
A separate process might stall for various fs-related issues, which
prevents the original process from exiting.
With the recent changes, we always gracefully close and cleanup after
all launched executables before calling `process.exit()`, and so it
should only be possible to leave temp directories when using Playwright
and calling `process.exit()` programmatically without closing browsers.
We can now drop the extra process and rely on `rimraf.sync` for
last-resort cleanup in these rare circumstances.
2023-07-24 15:24:29 -07:00
Andrey Lushnikov
fee08a6d3b
fix: properly handle character sets in globs ( #24371 )
...
https://github.com/microsoft/playwright/issues/24316
2023-07-24 09:49:05 -07:00
Dmitry Gozman
b4c412eb1f
chore: replace process.exit with graceful closure ( #24242 )
...
Everywhere we call `process.exit()`, we might actually need to
gracefully close all browsers.
2023-07-24 08:29:29 -07:00
Dmitry Gozman
2cb0622c39
chore: rename ScopedRace to LongStandingScope, preserve Error instance in reject() ( #24361 )
2023-07-23 21:00:07 -07:00
Pavel Feldman
879ddb73b0
chore: show last poller error on test timeout ( #24292 )
2023-07-18 17:03:26 -07:00
Marcin Strzyz
d5e7b4f16f
chore: update rimraf package to version 4 to eliminate "promisify" ( #24190 )
...
Migrate to version 4 which returns a promise rather than leverages a
callback. -> https://www.npmjs.com/package/rimraf?activeTab=readme
- contains its own types, eliminate "@types/rimraf"
- Parameter `maxBusyTries` changed to `maxRetries`
2023-07-18 19:58:07 +02:00
Dmitry Gozman
97d55e275d
fix(locator): locator(locator)
method uses internal:chain
instead of >>
( #24235 )
...
Usually, we can just chain two locators with `>>` to implement
`Locator.locator(locator)`. However, this does not play nicely with more
advanced inner locators like `or` and `and`:
```ts
const child = page.locator('input').or(page.locator('button'));
page.locator('parent').locator(child);
```
One would expect the above to locate "input or button" inside a
"parent". However, currently it locates "input inside a parent" or
"button", because it's translated to `parent >> input >>
internal:or="button"`.
To fix this, we have to wrap inner locator into `internal:chain` and
query it separately from the parent.
Fixes #23724 .
2023-07-14 12:21:45 -07:00
Max Schmitt
a0b0752662
fix: encode launch options correctly when reusing browser ( #24174 )
...
Fixes https://github.com/microsoft/playwright/issues/24157
2023-07-12 16:40:55 +02:00
Pavel Feldman
067faa50d7
chore: migrate Promise.race to scopes to prevent leaks ( #24160 )
2023-07-11 10:38:08 -07:00
Andrey Lushnikov
b9e68e22e0
feat: support Chromium installation on Debian 12 ( #24090 )
...
This adds Chromium support for both x86 and arm64 versions of Debian 12.
References https://github.com/microsoft/playwright/issues/24028
2023-07-06 22:41:36 -07:00
Dmitry Gozman
86c1abd934
chore: introduce ReporterV2 interface ( #23983 )
2023-06-30 13:36:50 -07:00
Dmitry Gozman
1d0b48f18b
fix(route): handle escapes in the glob pattern ( #23932 )
...
Fixes #23303 .
2023-06-28 16:33:04 -07:00
Moritz Horstmann
bdac3e28a6
fix: best-effort support for TUXEDO OS ( #23813 )
...
TUXEDO OS is an Ubuntu based distribution built by the Linux computer
vendor TUXEDO.
2023-06-22 07:14:18 -07:00
Dmitry Gozman
fe5c9dad4d
fix(locators): allow identical frameLocators inside and/or/has ( #23740 )
...
So, the following will work:
```
page.frameLocator('iframe').locator('span').or(page.frameLoactor('iframe').locator('div'))
```
The following will not work, because frame locators are not exactly the
same:
```
page.frameLocator('#iframe1').locator('span').or(page.frameLoactor('#iframe2').locator('div'))
```
Also improve the error message to be more readable and include the
locator.
Fixes #23697 .
2023-06-19 15:22:26 -07:00
Dmitry Gozman
c80a23842b
fix(css): relative-to-scope selectors work ( #23665 )
...
Chained selectors where the second part starts with a scope did not work
before:
```ts
page.locator('div').locator(':scope + span')
page.locator('div >> +span')
```
2023-06-13 10:27:25 -07:00
Dmitry Gozman
dd417d83d9
fix(locators): escape >>
inside a regular expression ( #23631 )
...
To avoid selector being parsed as a chain.
Fixes #23540 .
2023-06-12 10:34:37 -07:00
Pavel Feldman
eacfff8127
chore: make trace viewer work over http ( #23531 )
2023-06-05 16:30:30 -07:00
Playwright Service
d95b6f40a4
feat(webkit): roll to r1860 ( #23494 )
...
Fixes https://github.com/microsoft/playwright/issues/20489
2023-06-05 09:51:39 -07:00
Dmitry Gozman
b518d1f6da
chore: update error message when using wrong cli ( #23512 )
...
Now recommends uninstalling other packages. Fixes #23314 .
Example messages:
```
Please install @playwright/test package before running "npx playwright show-report"
npm uninstall playwright playwright-firefox
npm install -D @playwright/test
```
```
Please install @playwright/test package before running "yarn playwright show-report"
yarn remove playwright playwright-chromium playwright-firefox playwright-webkit
yarn add -D @playwright/test
```
```
Please install @playwright/test package before running "pnpm exec playwright show-report"
pnpm remove playwright
pnpm add -D @playwright/test
```
2023-06-05 09:51:08 -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
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
Pavel Feldman
b814e8a5f1
chore: bring back per test artifacts ( #23153 )
2023-05-23 09:36:35 -07:00
Pavel Feldman
631edc9744
chore(internal): generate code in jsonl ( #23124 )
2023-05-20 10:15:33 -07:00
Dmitry Gozman
be7984bdc9
fix(unroute): do not compare regexp instances ( #23101 )
...
References #23092 .
2023-05-17 16:27:32 -07: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
edd003c230
chore: validate expected image buffer when comparing images ( #23030 )
...
Fixes https://github.com/microsoft/playwright/issues/23012
2023-05-15 23:32:16 +02:00
Pavel Feldman
59b9a39740
chore: add string attachments to trace ( #22921 )
2023-05-11 16:32:32 -07:00
Dmitry Gozman
f2ad5bbfbb
fix(isVisible): return false
during navigation ( #22943 )
...
Instead of throwing "Execution context was destroyed" error.
Drive-by: improve internal error messages for `ScopedRace` errors.
Fixes #22925 .
2023-05-10 16:56:59 -07:00
Pavel Feldman
5e0574dc44
chore: list attachments in the trace ( #22919 )
...
Fixes https://github.com/microsoft/playwright/issues/22736
2023-05-09 17:53:01 -07:00
Pavel Feldman
efad19b332
chore: render test steps in the trace ( #22837 )
2023-05-05 15:12:18 -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
Pavel Feldman
b868f3a9d0
chore: extend raw stack ( #22794 )
2023-05-03 13:53:02 -07:00
Pavel Feldman
e9373dfb6e
chore: make client-side instrumentation non-nullable ( #22694 )
2023-04-28 08:57:43 -07:00
Pavel Feldman
d34c4e99f5
chore: add step attachments into the expect trace event ( #22543 )
2023-04-25 17:38:12 -07:00
Pavel Feldman
bbc47ba315
chore: ensure web assertions are merged in trace ( #22544 )
2023-04-21 10:07:23 -07: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
Johannes Loher
bd698efaef
fix(webServer): follow relative redirects when checking the url ( #22035 )
...
Fixes https://github.com/microsoft/playwright/issues/22144
2023-04-05 10:39:35 +02:00
Pavel Feldman
b1fdf0bcb6
chore: nest test steps based on zones ( #22108 )
...
Fixes : #21423
2023-03-30 21:05:07 -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
Dmitry Gozman
525097d465
feat: Locator.filter(locator) ( #21975 )
...
Produces a locator that matches both locators.
Implemented through `internal:and` selector.
Fixes #19551 .
2023-03-27 14:29:30 -07:00