Commit Graph

78 Commits

Author SHA1 Message Date
Dmitry Gozman
f188b0a174
chore: migrate most actions to Progress (#2439) 2020-06-03 09:14:53 -07:00
Dmitry Gozman
de0bbd3031
chore: remove page pause support (#2431) 2020-06-01 11:14:16 -07:00
Dmitry Gozman
acf059fe00
fix(click): wait for button, input and select to be enabled before clicking (#2414) 2020-05-30 13:29:46 -07:00
Dmitry Gozman
4bd9b30376
test: add a test for clicking a label with pointer-events: none (#2412) 2020-05-29 13:46:57 -07:00
Dmitry Gozman
e2972ad5ba
feat(click): retry when the element it outside of the viewport (#2330)
The element might get animated into the viewport.
2020-05-22 11:15:57 -07:00
Andrey Lushnikov
545c43d28d
fix: better hittarget testing for clicking (#2217)
While checking for hittarget, we first bubble from a target element
up to find the first element without `pointer-events: none` style.

This bubbling does not make much sense: we risk desperately clicking
"body" element, when we were actually asked to click some deeply-nested
"span".

Additionally, in many cases the original intent is to click a button. In this
case, we should use the enclosing "button" as a hit target directly.

Fixes #2175
2020-05-19 16:27:56 -07:00
Pavel Feldman
1c17929bd8
chore: add input logging and timeout debugging hints (#2109) 2020-05-04 21:44:33 -07:00
Pavel Feldman
f6210ae996
fix(webkit): click moving targets on windows (#2101) 2020-05-04 16:30:19 -07:00
Pavel Feldman
f8bea85c88
feat(webkit): disable pause on click (#2077) 2020-05-01 12:59:18 -07:00
Pavel Feldman
9c67ce5289
test: simplify pausing tests (#2056) 2020-04-30 14:13:47 -07:00
Pavel Feldman
c55db6d315
browser(webkit): roll webkit to 1213 (#2045) 2020-04-29 18:40:18 -07:00
Pavel Feldman
c01e554edd
test: add more pausing tests (#2040) 2020-04-29 16:17:03 -07:00
Dmitry Gozman
b11d7f15bb
feat(input): retry when hit target check fails, prepare for page pause (#2020) 2020-04-29 11:05:23 -07:00
Dmitry Gozman
7f5d89009c
test(click): add a test for 'Element has moved' exception (#2017) 2020-04-28 11:58:22 -07:00
Dmitry Gozman
031587a9cf
fix(visibility): unify visibilty checks (#1998)
This applies a common definition of visibility to clicks and waitfors:
- non-empty bounding box - implies non-empty content and no display:none;
- no visibility:hidden.
2020-04-27 15:40:46 -07:00
Dmitry Gozman
793586e42c
fix(click): throw instead of timing out when the element has moved (#1942) 2020-04-23 14:44:06 -07:00
Dmitry Gozman
effeaaf852
fix(click): force any hover effects before waiting for hit target (#1869)
This way, any on-hover animations or click blockers will be accounted for.
2020-04-20 10:07:59 -07:00
Dmitry Gozman
55b4bc99bd
feat(actions): requery the element when it was detached during the action (#1853) 2020-04-18 18:29:31 -07:00
Dmitry Gozman
af2340c35e
fix(click): explicitly fail when element detached during click (#1835)
We used to timeout instead.
2020-04-16 15:38:41 -07:00
Yury Semikhatsky
1c1d81cf3a
fix(firefox): make scroll&click tests pass (#1760) 2020-04-13 18:30:00 -07:00
Pavel Feldman
9249f33709
feat(webkit): roll WebKit, migrate to Playwright.exe (#1749) 2020-04-10 21:02:28 -07:00
Dmitry Gozman
ade9d23c28
test: remove module.export.describe wrapper (#1716) 2020-04-08 15:19:09 -07:00
Pavel Feldman
c6f580faf8
chore: migrate from timeouts to deadlines internally (#1695) 2020-04-07 14:35:34 -07:00
Dmitry Gozman
e0c8fbf1a6
test: put test runner api on global, remove unused parameters (#1684) 2020-04-07 08:10:31 -07:00
Pavel Feldman
889cf8f7b6
fix(input): climb dom for pointer-events:none targets (#1666) 2020-04-06 20:44:54 -07:00
Dmitry Gozman
15fddb5177
api(click): rename offset to position (#1488)
To allow for features like position: 'center' or similar.
2020-03-23 12:05:08 -07:00
Pavel Feldman
1b08797c6f
tests(ff): uncomment a couple of firefox tests (#1465) 2020-03-21 17:58:33 -07:00
Pavel Feldman
049b336800
api(devices): extract isMobile/hasTouch from viewport (#1415) 2020-03-17 18:21:02 -07:00
Pavel Feldman
24d4fb1e5c
api(click): remove tripleclick, respect clickCount (#1373) 2020-03-13 08:09:48 -07:00
Dmitry Gozman
823fffaa65
test: declare setInterval click test as undefined behavior (#1343) 2020-03-11 14:33:55 -07:00
Pavel Feldman
3c35d7b058
api(waitFor): click(waitFor) -> click(force) (#1275) 2020-03-06 16:24:21 -08:00
Pavel
342e79c5b4 test: mark some tests as skipped (3) 2020-03-02 15:13:15 -08:00
Pavel
2f98b5e26a test: mark some tests as skipped (2) 2020-03-02 15:08:15 -08:00
Dmitry Gozman
1186998bd8
fix(click): wait for element to be displayed before scrolling into view (#1182)
Otherwise, we may get an error during scrollIntoViewIfNeeded protocol call.
2020-03-02 14:26:38 -08:00
Pavel Feldman
5bd6e4970b
test: it.skip skips and it.fail expects to fail now (#1178) 2020-03-02 13:47:08 -08:00
Dmitry Gozman
ba29470cc1
fix(api): rename relativePoint to offset, remove unused parameters from input (#1092) 2020-02-24 21:12:02 -08:00
Dmitry Gozman
1f8508d1ed
feat(waitFor): update various waitFor options to be a single boolean (#1066) 2020-02-22 09:16:28 -05:00
Andrey Lushnikov
88e310942b
test: fix test on Firefox Linux (#1079) 2020-02-21 13:21:45 -08:00
Andrey Lushnikov
f305d6594e chore: remove focused test 2020-02-21 13:12:57 -08:00
Andrey Lushnikov
66362a5687 chore: update appveyour config 2020-02-21 13:09:36 -08:00
Andrey Lushnikov
05a1e1c641
test: remove newContext and newPage test helpers (#1070)
All tests should clean up their contexts themselves.
2020-02-20 15:15:48 -08:00
Dmitry Gozman
33824aa1d7
feat(click): waitForInteractable option, defaults to true (#934) (#1052) 2020-02-19 09:34:57 -08:00
Dmitry Gozman
1805acd5d5
test: update animation click test (#1053) 2020-02-18 14:30:56 -08:00
Dmitry Gozman
dbb45d443a
Revert "feat(click): waitForInteractable option, defaults to true (#934)" (#1013)
Reason: new tests are flaky on all bots.
2020-02-14 13:05:23 -08:00
Dmitry Gozman
9413351d3f
feat(click): waitForInteractable option, defaults to true (#934) 2020-02-14 11:55:34 -08:00
Dmitry Gozman
1d84f38e5e
fix(input): ensure input works as expected with page scale (#962) 2020-02-12 16:13:21 -08:00
Dmitry Gozman
c69dccf7c1
feat(click): use browser-provided scrollIntoViewIfNeeded (#893) 2020-02-11 10:30:09 -08:00
Joel Einbinder
c03e8b7946
chore(tests): add types for tests (#915)
I enabled vscode autocomplete in our test files. Typechecking had too many errors to enable, but it caught some real bugs that I will fix in a follow up.

This patch contains:
* `test/types.d.ts` - d.ts file for our test runner.
* `test/tsconfig.json` - typescript project for our tests.
* JSDoc header in all specs to mark the describe as a TestSuite
* Drive-by fix of a launcher test that was using `if` instead of `it`
* Some drive-by fixes of unimpactful typos in tests.
2020-02-10 13:20:13 -08:00
Dmitry Gozman
fee83b17c9
fix(api): page.viewport -> page.viewportSize (#878)
We now only allow to resize the page, leaving isMobile and deviceScaleFactor as browser context options.
2020-02-06 19:02:55 -08:00
Pavel Feldman
e3e2da3186
feat(check): introduce page.check/uncheck (#826) 2020-02-04 14:39:10 -08:00