Commit graph

44 commits

Author SHA1 Message Date
Dmitry Gozman c51ea0afd1
feat(rpc): remove PageAttribution from the protocol, attribute on the client side (#2957)
This also changes timeout error format to
"page.click: Timeout 5000ms exceeded", so that all errors
can be similarly prefixed with api name.

We can now have different api names in different clients,
and our protocol is more reasonable.
2020-07-15 14:04:39 -07:00
Pavel Feldman 5bb018e0e5
chore(rpc): attribute calles to page, ignore USES_HOOKS (#2764) 2020-06-29 18:58:09 -07:00
Dmitry Gozman 355305d31d
feat(screenshot): accept timeout, migrate to Progress, wait for visible (#2679)
Element screenshot now waits for the element to become visible and
throws on detach.

Both screenshot methods accept a timeout and capture logs using Progress.
Also, carefully handling exceptions and restoring the viewport.
2020-06-24 10:16:54 -07:00
Dmitry Gozman 971bd88922
fix(chromium): do not bring page to front before screenshot (#2614) 2020-06-18 10:52:08 -07:00
Dmitry Gozman 8c6c571f22
test: add iframe screenshot tests (#2495) 2020-06-09 12:59:49 -07:00
Dmitry Gozman 76e106605f
fix(screenshot): use innerW/H instead of offsetW/H to determine viewport size (#2229)
When capturing a screenshot with null viewport, we determine the screenshot size
based on body.offsetHeight. This is a very large number for long pages. We should
use window.innerHeight instead.
2020-05-13 20:53:11 -07:00
Dmitry Gozman 963dc72dd2
devops: add headful linux bot (#2060) 2020-05-04 15:15:51 -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 29a6cdff6b
fix(tests): fix a race with golden setup (#1757)
When running multiple browsers, we should take the golden information from the state.
2020-04-13 14:12:44 -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
Pavel Feldman 17039f1649
fix(webkit): fix non-mac screenshots w/ dsf (#1665) 2020-04-03 21:54:43 -07:00
Pavel Feldman b89df07247
test: add device scale factor screenshot tests (#1660) 2020-04-03 15:48:29 -07:00
Pavel Feldman 049b336800
api(devices): extract isMobile/hasTouch from viewport (#1415) 2020-03-17 18:21:02 -07:00
Pavel Feldman 9b8f4a2246
test(webkit): uncomment fixed viewport screenshot tests (#1346) 2020-03-11 14:37:06 -07:00
Andrey Lushnikov 72ae5c8ceb
test: remove stray test (#1302)
Fixes #1294
2020-03-09 18:31:56 -07:00
Dmitry Gozman 1b863c2300
fix(screenshots): simplify implementation, allow fullPage + clip, add tests (#1194) 2020-03-03 16:09:32 -08:00
Pavel 2f98b5e26a test: mark some tests as skipped (2) 2020-03-02 15:08:15 -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 82a4ede6dc
chore: roll Chromium to 745253 (#1156) 2020-02-28 09:02:26 -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
Pavel Feldman e65897844f
test: add screenshot test that fails on Chromium (#1039) 2020-02-15 16:34:27 -08:00
Dmitry Gozman fbce2908ad
test: unskip passing Firefox tests (#966) 2020-02-12 16:27:45 -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
Pavel Feldman 79b7a8491e
fix(screenshot): be careful w/ default viewport, extract common logic (#913)
Fixes #887.
2020-02-10 09:15:15 -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
Dmitry Gozman f1d1dfb081 fix(webkit): rewrite global object retrieval errors (#640) 2020-01-24 15:56:41 -08:00
Joel Einbinder a92bec13cb test: disable flaky redirect loop test (#496) 2020-01-15 22:05:27 -08:00
Yury Semikhatsky 778ab3deff chore: replace CHROME with CHROMIUM (#465) 2020-01-13 10:13:28 -08:00
Pavel Feldman 16cedfe9da
test: rebaseline mobile viewport screenshot (#462) 2020-01-10 22:34:17 -08:00
Dmitry Gozman 63f16a9ef8
fix(screenshot): provide nice error message during navigation (#456) 2020-01-10 17:25:28 -08:00
Pavel 4bdbe81856 chore: shuffle screenshot tests 2020-01-09 17:45:30 -08:00
Pavel Feldman 63f208bafb test(screenshots): add a bunch of screenshot tests (#448) 2020-01-09 16:43:11 -08:00
Dmitry Gozman 310d4b193b test: check that we inherit options from BrowserContext to the Page (#367) 2020-01-03 11:17:14 -08:00
Joel Einbinder 26538d6aec test: add mobile screenshot test, failing on webkit and firefox (#354) 2020-01-02 15:28:14 -08:00
Pavel Feldman 6a04e1f026 feat(offline+auth): enable those in webkit, make them a part of the core API (#346) 2019-12-30 23:09:54 +01:00
Andrey Lushnikov a7f3490e48 feat(testrunner): implement "dit" command (#312) 2019-12-19 16:47:35 -07: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
Pavel Feldman 6440323003 fix(webkit): wait for main response on subresource-free goto (#216) 2019-12-11 16:19:37 -08:00
Pavel Feldman f37d9bfe95 test: extract chromium-specific connect tests 2019-12-10 13:28:50 -08:00
Pavel 349ce22565 lint: follow up with lints 2019-12-06 12:04:11 -08:00
Pavel Feldman bb1888c86e feat(screenshots): make them work everywhere (#164) 2019-12-06 11:33:24 -08:00
Dmitry Gozman b6c892842b
feat(screenshot): multiple element screenshots are now taken sequentially (#114)
This makes multiple element screenshots to not fight for the page viewport
by putting viewport manipulation under screenshot task queue.

Drive-by: encapsulated all screenshot logic in Screenshotter.
2019-12-02 10:53:58 -08:00
Pavel Feldman 9ba375c063 Initial commit 2019-11-19 10:58:15 -08:00