1228 Commits

Author SHA1 Message Date
Pavel Feldman
f724fa570f
docs: make ts snippets esm-friendly (#14451) 2022-05-27 12:36:59 -07:00
Yury Semikhatsky
b164d82ba3
fix(runner): ignore .gitignore if testDir is explicitly configured (#14430)
If the tests are in an explicitly configured testDir (either at the global config level or per project) .gitignore filters are not applied.

Fixes #14381
2022-05-26 14:39:51 -07:00
Pavel Feldman
6efb1ec40c
fix(ts): export types explicitly (#14428) 2022-05-26 13:09:32 -07:00
Pavel Feldman
ea07ff3ae9
fix(jsx): allow passing variables into mount (#14412) 2022-05-25 13:59:45 -07:00
Ross Wollman
cfc9aa64a6
chore: produce meaningful bundle notice diffs (#14396) 2022-05-24 22:19:54 -07:00
Pavel Feldman
9440f52b88
feat(ct): support cra w/ .js (#14326) 2022-05-24 19:43:28 -07:00
Pavel Feldman
2fab2c1ca1
fix(tracing): invalidate non-stalling evaluates on crash (#14392) 2022-05-24 14:02:32 -07:00
Pavel Feldman
d97c9bd5b6
test(ct): start covering components with tests (#14369) 2022-05-24 13:54:12 -07:00
Ross Wollman
9b225f2ad4
fix: expect.toHaveScreenshot.animations types (#14387)
This makes the docs/types match the code which has already been
released.

Relevant code to traverse up from:
- 3e084829c0/packages/playwright-core/src/server/screenshotter.ts (L89)
- 3e084829c0/packages/playwright-core/src/server/screenshotter.ts (L118)

Fixes #14385
2022-05-24 11:34:29 -07:00
Andrey Lushnikov
3fd435d1d3
docs: fix docs for toHaveScreenshot (#14280) 2022-05-24 10:54:32 -07:00
Playwright Service
c12a9077d5
feat(chromium): roll to r1007 (#14307)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-24 11:26:20 +03:00
Pavel Feldman
71a55c74da
fix(leak): do not retain test fixtures in worker fixtures (#14363) 2022-05-23 16:54:56 -07:00
Pavel Feldman
99f5eff400 fix(ct): do not break if there are no components (2) 2022-05-23 14:37:56 -07:00
Pavel Feldman
3c2d7d3bf2
fix(ct): do not break if there are no components (#14362) 2022-05-23 14:33:16 -07:00
Max Schmitt
e02e5e66f0
chore: bump TypeScript to 4.6 (#14358) 2022-05-23 22:59:33 +03:00
Playwright Service
ae37decd73
feat(webkit): roll to r1648 (#14318) 2022-05-23 09:08:57 -07:00
Pavel Feldman
a1324bd935
fix(route): support route w/ async handler & times (#14317) 2022-05-21 21:55:46 -07:00
Pavel Feldman
b92163176d
chore: render titles on all matching nodes (#14316) 2022-05-20 22:09:10 -07:00
Ross Wollman
fbb364c1cd
fix: page.locator.focus() and page.locator(…).type(…) (#14267)
Fixes focus and blur management when `page.locator(…).focus()`  and  `page.locator(…).type(…)` are used which was regressed by 7a5b070 (#13510).

#13510 relied on an implicit assumption that this (conditional) [`blur`](7a5b070e95/packages/playwright-core/src/server/injected/injectedScript.ts (L672)) call would always be followed by a call that resulted in a newly focused element via this [`focus`](7a5b070e95/packages/playwright-core/src/server/injected/injectedScript.ts (L674)) call.

However, some elements are [not focusable](https://html.spec.whatwg.org/multipage/interaction.html#focusable-area), so we were blurring incorrectly, and losing focus that we should have maintained.

Two regression tests were added that pass on the commit prior to 7a5b070e9507b622877a2af010373585f2184196 (and match manual testing/expectations):

* `page.locator(…).focus()`: _keeps focus on element when attempting to focus a non-focusable element_
* `page.locator(…).type(…)`: _should type repeatedly in input in shadow dom_

Additionally, a third test (_should type repeatedly in input in shadow dom_) was added to check the invariant from #13510 that states:

> This affects [contenteditable] elements, but not input elements.

and allows us to introduce the targeted fix (contenteditble check before blur) without breaking FF again.

And _should type repeatedly in contenteditable in shadow dom with nested elements_ was added to ensure the above fix works with nest contenteditble detection.

Fixes #14254.
2022-05-19 14:31:56 -07:00
Andrey Lushnikov
9a73dfe773
feat(chromium-tip-of-tree): roll Chromium TOT to 1008 (#14279) 2022-05-19 09:29:44 -07:00
github-actions[bot]
d6780c5b29
feat(chromium-tip-of-tree): roll to r1007 (#14225)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-19 07:10:18 -07:00
Pavel Feldman
432c52d31a
chore: more testing-friendly trace (#14264) 2022-05-18 14:35:16 -07:00
Pavel Feldman
738d5e5b3e
chore: pass fixture defaults different from falsy (#14237) 2022-05-18 12:03:47 -07:00
Pavel Feldman
d5ea1b38f0
fix(recorder): remove waitForNavigation from codegen (#14166) 2022-05-18 10:02:09 -07:00
Pavel Feldman
b5beeab98b
fix(click): climb the hit target hierarchy to anchor (#14235)
fix(click): climb the hit target hierarcchy to anchor
2022-05-18 10:01:34 -07:00
Pavel Feldman
4d9ef46f64
fix(ct): recreate context on option change (#14243) 2022-05-18 09:57:05 -07:00
Pavel Feldman
e4d55fd061
fix: include @types/node in pwt deps (#14230) 2022-05-17 20:36:35 -07:00
Pavel Feldman
fe0afd6b5c
fix(toHaveProperty): serialize falsy arguments as well (#14232) 2022-05-17 14:44:12 -07:00
Max Schmitt
9256de5f48
chore: fix wrong toHaveScreenshot defaults in docs (#14200) 2022-05-16 22:26:23 +03:00
github-actions[bot]
f1307f4a4d
feat(chromium): roll to r1006 (#14192)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-16 10:56:38 -07:00
Pavel Feldman
56a5f2c506
fix(types): fix the toHaveScreenshot types (#14174)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-16 07:53:46 -07:00
Dmitry Gozman
c3beb71b07
fix(test runner): do not run automatic fixtures for beforeAll hooks (#14104)
There are a few issues this covers:
- Some fixtures like `page` and `context` are not allowed in `beforeAll`
  hooks, so using them in automatic fixture makes it throw.
- Running automatic fixture solely for `afterAll` is unexpected.
  This currently happens when `afterAll` is run for cleanup after
  fixture timeout/throw.

For built-in playwright fixture, we keep `'all-hooks-included'` auto mode.

Added a doc explaining the execution order.
2022-05-13 11:17:20 +01:00
Andrey Lushnikov
f7adbd83ee
chore: cut v1.22.0 (#14098) 2022-05-12 11:12:01 -07:00
Dmitry Gozman
f6712ec43a
fix(tracing): workaround chromium scrollTop slowness (#14114)
References #14037.

We used to query and save all non-zero `scrollTop`/`scrollLeft` to restore the page perfectly. However, this became very slow with Chromium v100 regression (see issue).

This change only queries and stores `scrollTop`/`scrollLeft` for elements that are ancestors of the action target. The resulting snapshot does not perfectly recreate the original screen, but should be good enough to inspect the action.
2022-05-12 10:55:29 -07:00
Dmitry Gozman
0e2855348c
feat(locators): remove layout locators (#14129) 2022-05-12 18:50:19 +01:00
Max Schmitt
2844623109
docs: add route class -> networking guide reference (#14092) 2022-05-11 16:07:00 +01:00
Max Schmitt
9693635c86
chore: remove babel__parser (#14096) 2022-05-11 15:31:48 +01:00
Dmitry Gozman
b753ff8686
chore: split injected utils into proper files (#14093) 2022-05-11 13:49:12 +01:00
Dmitry Gozman
305afcdacf
fix(test runner): fix duplicate titles error when multiple issues are present (#14090) 2022-05-11 11:53:16 +01:00
Pavel Feldman
c99ca17199
chore: disable AvoidUnnecessaryBeforeUnloadCheckSync on chromium (#14080) 2022-05-10 14:55:44 -07:00
Dmitry Gozman
ba0cfaeb2d
fix(chromium): work around about:blank issue on Chromium (#14068)
fix(chromium): work around about:blank issue on Chromium

We don't receive the `loaderId` which translates to `newDocumentId`,
so we expect the same-document navigation. Instead, we can wait
for any new-document navigation as a workaround, only for `about:blank`.

This also reverts commit f0f65fa247ac9cb594acd45b52dc851e60109172.
2022-05-10 20:32:19 +01:00
Pavel Feldman
39489931d1
chore: add more ct options to allow redirecting templates/cache (#14077) 2022-05-10 12:21:29 -07:00
Ross Wollman
0c9e0d22df
fix(ct): preserve context changes (#13986)
1. add test (and fix) using context fixture with mount
2. add test for innerText that was failing prior to https://github.com/microsoft/playwright/pull/14008
2022-05-10 11:45:47 -07:00
Andrey Lushnikov
a64ea8698e
chore: add disclaimer to experimental ct packages (#14075) 2022-05-10 10:59:30 -07:00
github-actions[bot]
653373a75a
feat(chromium-tip-of-tree): roll to r1005 (#14064)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-10 10:05:15 -07:00
Andrey Lushnikov
4634adbdc3
devops: auto-publish experimental CT packages (#14060)
This patch:
- adds a hard dependency from `experimental-ct-*` packages to the
  same-version of `@playwright/test`
- aligns `experimental-ct-*` package versions with main package
  version
- starts publishing experimental CT packages together with other
  packages
2022-05-10 08:01:45 -07:00
github-actions[bot]
8a517c6d82
feat(webkit): roll to r1641 (#14061)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-10 07:41:46 -07:00
Andrey Lushnikov
3ba1ea5c39
fix: support installing dependencies on non-ubuntu. (#14010)
We should not fast-return if someone tries to run
`npx playwright install-deps` on Debian.

Instead, we should warn users, fallback to Ubuntu 20.04 dependencies,
and proceed.
2022-05-10 04:05:39 -07:00
Pavel Feldman
cf89a36181
chore: serialize circular objects (#14045) 2022-05-09 18:51:53 -07:00
Pavel Feldman
f0f65fa247 Revert "feat(chromium): roll to r1005 (#13999)"
This reverts commit 56b3bca8db1e595d5848eab307c25c54c14aff4f.
2022-05-09 18:28:39 -07:00