Dmitry Gozman
b54303a386
fix(textContent): make page.textContent(selector) atomic ( #2717 )
...
We now query selector and take textContent synchronously. This
avoids any issues with async processing: node being recycled,
detached, etc.
More methods will follow with the same atomic pattern.
Drive-by: fixed selector engine names being sometimes case-sensitive
and sometimes not.
2020-06-26 16:32:42 -07:00
Dmitry Gozman
d0a6e1a64e
fix(dom): make selectText and scrollIntoViewIfNeeded wait for visible ( #2628 )
...
All other methods wait for the element to be visible, so we should make
them behave similarly.
2020-06-23 13:02:31 -07:00
Dmitry Gozman
f9633ea9b7
fix(scrollIntoView): ensure similar behavior across browsers, handle errors ( #2599 )
2020-06-17 10:48:07 -07:00
Dmitry Gozman
c4e8720eb5
feat(debug): generate preview for ElementHandle ( #2549 )
...
This is a best-effort debugging feature - we try to generate preview asynchronously,
so it might not be available immediately.
2020-06-12 11:10:18 -07:00
Dmitry Gozman
80705ff5e9
chore: simplify logging a bit ( #2512 )
...
This merges a few classes and stops inheriting from InnerLogger.
2020-06-09 16:11:17 -07:00
Dmitry Gozman
1accb5141d
chore: convert more actions to Progress ( #2444 )
2020-06-03 11:23:24 -07:00
Dmitry Gozman
f188b0a174
chore: migrate most actions to Progress ( #2439 )
2020-06-03 09:14:53 -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
f24696be62
feat: add page convenience methods for textContent and getAttribute ( #2235 )
...
This patch adds:
- `page.innerText()` / `frame.innerText()`
- `page.innerHTML()` / `frame.innerHTML()`
- `page.textContent()` / `frame.textContent()`
- `page.getAttribute()` / `frame.getAttribute()`
Fixes #2143
2020-05-18 17:58:23 -07:00
Dmitry Gozman
2bca64a023
test: mark failing headful tests as such ( #2226 )
2020-05-13 18:33:07 -07:00
Pavel Feldman
5ec2c58a75
test(selectText): restore firefox tests ( #1829 )
2020-04-16 12:31:22 -07:00
Yury Semikhatsky
b232e004f5
fix(firefox): make ElementHandle.scrollIntoViewIfNeeded pass ( #1786 )
2020-04-14 18:24:17 -07:00
Pavel Feldman
da683b2752
feat(selectAll): allow selecting all in the inputs and in the plain dom ( #1783 )
2020-04-14 17:09:26 -07:00
Pavel Feldman
78abf5cb40
feat(api): add getAttribute, innerText, innerHTML, textContent ( #1717 )
2020-04-09 16:49:23 -07:00
Dmitry Gozman
ade9d23c28
test: remove module.export.describe wrapper ( #1716 )
2020-04-08 15:19:09 -07:00
Dmitry Gozman
e0c8fbf1a6
test: put test runner api on global, remove unused parameters ( #1684 )
2020-04-07 08:10:31 -07:00
Dmitry Gozman
de0a2d1081
api(waitForLoadState): move waitUntil to be a first parameter ( #1490 )
2020-03-23 13:51:11 -07:00
Yury Semikhatsky
535b484637
api(context): get rid of PageEvent ( #1433 )
2020-03-19 16:25:12 -07:00
Dmitry Gozman
c1ef683373
api: remove waitForLoadState() in favor of PageEvent.page(options) ( #1323 )
2020-03-11 14:46:52 -07:00
Pavel Feldman
3c35d7b058
api(waitFor): click(waitFor) -> click(force) ( #1275 )
2020-03-06 16:24:21 -08:00
Dmitry Gozman
e5f82af47c
api(popups): emit PageEvent immediately, and resolve page() once initialized ( #1229 )
...
This way we do not miss any popups, even immediately closed ones.
2020-03-05 15:18:27 -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
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
40164298a8
api: remove ElementHandle.visibleRatio ( #1069 )
2020-02-19 16:08:25 -08:00
Dmitry Gozman
84ee297c4b
test: add a test for bounding box on partially visible element ( #1011 )
2020-02-19 16:08:29 -06:00
Dmitry Gozman
33824aa1d7
feat(click): waitForInteractable option, defaults to true ( #934 ) ( #1052 )
2020-02-19 09:34:57 -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
2e0d89e25c
fix(firefox): roll to 1029 and unskip passing tests ( #984 )
2020-02-13 13:19:25 -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
f25a27a0a4
test: add a test for bounding box with page scale ( #935 )
...
Does not work on WebKit, because it uses device-independent pixels instead of css pixels for content quads.
2020-02-11 17:04:49 -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
Yury Semikhatsky
eb568046eb
test: unflake owner frame test ( #760 )
2020-01-30 10:50:25 -08:00
Dmitry Gozman
541fa95ce4
fix(ownerFrame): correctly handle adopted node usecase ( #677 )
2020-01-27 11:43:43 -08:00
Yury Semikhatsky
b64604c1ea
chore: replace pptr with pw ( #643 )
2020-01-24 16:15:41 -08:00
Joel Einbinder
612834b9e8
test: disable failing scrollIntoViewIfNeeded test for firefox ( #546 )
2020-01-21 12:01:39 -08:00
Dmitry Gozman
447d76d6cd
fix(firefox): assorted fixes to evaluation and remote objects ( #511 )
2020-01-16 15:24:37 -08:00
Dmitry Gozman
21510a5b06
feat(firefox): support isolated worlds ( #507 )
2020-01-16 12:57:28 -08:00
Yury Semikhatsky
778ab3deff
chore: replace CHROME with CHROMIUM ( #465 )
2020-01-13 10:13:28 -08:00
Dmitry Gozman
491eeeef7e
feat(scrollIntoView): expose scrollIntoViewIfNeeded in api ( #382 )
...
This also replaces isIntersectingViewport with visibleRatio for more flexibility.
2020-01-06 13:16:56 -08:00
Yury Semikhatsky
f56ff07f19
fix(wk): support ElementHandle.ownerFrame ( #338 )
2019-12-26 14:05:46 -08:00
Andrey Lushnikov
a7f3490e48
feat(testrunner): implement "dit" command ( #312 )
2019-12-19 16:47:35 -07:00
Dmitry Gozman
12ac458614
fix(elementhandle): contentFrame and ownerFrame work in various scenarios ( #311 )
...
Drive-by: use evaluateInUtility for various utility evals.
2019-12-19 15:19:22 -08:00
Andrey Lushnikov
8cc682c7b8
feat(testrunner): allow focusing all tests in a file
...
With this change, exporting a "fdescribe" function from a file
will focus all tests inside the file.
2019-12-18 17:13:39 -08:00
Yury Semikhatsky
e851a27350
feat(webkit): implement ElementHandle.contentFrame ( #276 )
2019-12-17 12:21:53 -07:00
Pavel Feldman
f37d9bfe95
test: extract chromium-specific connect tests
2019-12-10 13:28:50 -08:00