Commit Graph

2694 Commits

Author SHA1 Message Date
Dmitry Gozman
4c6fa42810
fix(test runner): expose real stack traces and speed up locations (#7265)
Stop wrapping/prepending error messages so that we do not loose the stack trace. For this, update a few manually thrown errors with better messages (usually including a file path).

Speed up locations by doing manual `sourceMapSupport.wrapCallSite()` for a single call site. Performance gain in the runner process with 100 files x 100 tests each:
- 25% on the fresh run without babel cache;
- 80% on the cached run where babel is almost instant.

Also some obvious cleanups around stack traces (removing unused code).
2021-06-23 10:30:54 -07:00
Max Schmitt
103f8ddd06
Revert "chore: update eslint config (#6840)" partly (#7268)
This reverts commit ec7d37d92f.
2021-06-23 11:08:35 +02:00
Max Schmitt
7b6e9b9be9
test: skip some failing req interception tests for current Chrome stable (#7255)
Some tests are currently failing Chrome/Edge stable and Electron:

- page/page-request-intercept.spec.ts:60:1 › [chromium] should support fulfill after intercept
- page/page-request-intercept.spec.ts:73:1 › [chromium] should support request overrides

Was introduced in #7122. This change should give us again full green bots.
2021-06-23 01:47:28 -07:00
Max Schmitt
99bbc51760
fix(test-runner): support ANSII terminals with list reporter (#7258) 2021-06-22 19:04:24 +02:00
Dmitry Gozman
6118d16edd
fix(test runner): properly keep track of requireFile to support helpers/wrappers (#7243)
This fixes an issue where we incorrectly labeled and assigned ids for tests
that declared tests in require'd files or used test wrappers.
See new tests for examples.
2021-06-21 11:25:15 -07:00
Max Schmitt
590184998f
chore: improve connectOverCDP error handling (#7239) 2021-06-21 19:57:00 +02:00
Pavel Feldman
ea4eebeb2d
feat(test-runner): document tagging, implement grep-invert (#7227) 2021-06-18 17:56:59 -07:00
Yury Semikhatsky
c0cd2d4579
feat: response interception (#7122) 2021-06-18 11:04:48 -07:00
Dmitry Gozman
388c6f5196
feature(test runner): capture error and pending calls when timing out (#7193) 2021-06-17 15:09:38 -07:00
Ross Wollman
219e5138be
feat(response): expose connection details in API (#7150) 2021-06-17 13:04:55 -07:00
Joel Einbinder
10a82f862c
fix(snapshotter): support constructed CSSStyleSheet
Fixes #7085
2021-06-17 09:41:29 -07:00
Pavel Feldman
82a50b0e1d
fix(test-runner): property handle artifacts in context of preserveOutput (#7181) 2021-06-16 16:05:30 -07:00
Pavel Feldman
184f2c2e93
feat(test-runner): allow specifying video size (#7158) 2021-06-16 07:51:54 -07:00
Andrey Lushnikov
34d151a1f9
devops: introduce Docker tests (#7157)
Fixes #7139
2021-06-15 23:59:20 -07:00
Joel Einbinder
38e27c9c6c
fix(test-runner): case insensitive test filtering 2021-06-15 17:27:52 -07:00
Yury Semikhatsky
e5d0a535a8
fix: return valid browser from context.browser() when connect over CDP (#7155) 2021-06-15 16:06:38 -07:00
Joel Einbinder
4c2a3fb443
fix(test-runner): accept relative paths for outputDir (#7149)
fixes #7124
2021-06-15 13:39:07 -07:00
Ross Wollman
195eab8787
feat(har): record remote IP:PORT and SSL details (#6631) 2021-06-15 09:48:08 +02:00
Dmitry Gozman
742cce3a1d
feat(test runner): configurable reportSlowTests (#7120)
Also splits tests by projects and reports them with nice relative paths.
2021-06-14 22:45:58 -07:00
Joel Einbinder
aa72b2b9bb
fix(pwt): max-failures should work with retries (#7127)
fixes #7112
2021-06-14 22:16:16 -07:00
Pavel Feldman
970bb6a70d
feat(test-runner): allow setting pixel match threshold for project (#7123) 2021-06-14 21:52:10 -07:00
Dmitry Gozman
060f7ffa92
fix: specify the right apiName for artifact errors (#7119)
This produces errors like `download.saveAs: <error>` instead of `.saveAs: <error>`.
Drive-by: fix the flaky test.
2021-06-14 16:41:53 -07:00
Dmitry Gozman
cc186be9a9
test: unflake two tests (#7115) 2021-06-14 16:01:18 -07:00
Max Schmitt
a3a9ccad6f
fix(test-runner): do not require esModuleInterop=true (#7100) 2021-06-14 21:58:10 +02:00
Max Schmitt
604cf2b89f
roll(test-runner): to 1.13.0-next-alpha-jun-14-2021 (#7111) 2021-06-14 20:30:42 +02:00
Peng-Yu Chen
5f6d4a7b73
feat(download): adding a new Download._cancel method (#6236) 2021-06-12 22:23:22 +02:00
Andrey Lushnikov
8a8b3932f8
Revert "fix(test-runner): support passing slowMo option (#6991)" (#7077)
This reverts commit 178489d091.

Reason for revert: this clashes with testrunner options.
2021-06-11 16:19:50 -07:00
Andrey Lushnikov
d6831df26f
feat: roll Firefox to r1271 (#7067)
References #7015
2021-06-11 10:50:02 -07:00
Pavel Feldman
49a8f67c0f
fix(test-runner): resolve global hooks relative to the config dir (#7061) 2021-06-10 22:31:27 -07:00
Pavel Feldman
cbce7cbdec
fix(tracing): do not stall on dialogs (#7059) 2021-06-10 22:24:04 -07:00
Andrey Lushnikov
f52290d4ea
Revert "feat: add defaultTimeout browser context configuration option (#6944)" (#7057)
This reverts commit 617dfdef9e.

It turns out this might conflict with our bright testrunner future.
2021-06-10 18:38:56 -07:00
Amit Abershitz
617dfdef9e
feat: add defaultTimeout browser context configuration option (#6944)
Fixes #6940

Co-authored-by: Amit Abershitz <aabershitz@proofpoint.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-06-10 18:10:20 -07:00
Pavel Feldman
3b1bae8a40
feat(codegen): allow generating tests (#7049) 2021-06-10 16:52:59 -07:00
Max Schmitt
5157f74bcc
test: toJSON property for Arrays after evaluation in FF (#7016) 2021-06-10 10:53:30 -07:00
Max Schmitt
05382c997b
fix(test-runner): do only match JS/TS files when collecting (#7014) 2021-06-10 16:41:57 +02:00
Max Schmitt
178489d091
fix(test-runner): support passing slowMo option (#6991)
Fixes #6984
Reverts #6967
2021-06-09 14:02:05 -07:00
Dmitry Gozman
e707207d6f
test: update evaluate-no-stall test to get a proper error (#6973)
This test is flaky, and gives us "expected true, got false".
We should see the actual error message instead.
2021-06-08 16:27:44 -07:00
Dmitry Gozman
1d6ca5284c
feat(test runner): add tests for playwright-specific fixtures (#6952) 2021-06-08 15:52:08 -07:00
Andrey Lushnikov
37af9ce3cf
test(playwright-test): fix fixtures test (#6967)
🤷‍♂️
2021-06-08 13:10:15 -07:00
Dmitry Gozman
eb01844710
chore(tests): roll stable test runner to jun-8-2021 (#6951) 2021-06-08 08:35:04 -07:00
Joel Einbinder
8960584b78
fix(chromium): drag and drop works in chromium (#6207)
Waiting for #6203 to percolate to the cdn. But this all works locally.

Fixes #1094
2021-06-07 10:27:34 -07:00
Dmitry Gozman
8c13f679b7
fix(test runner): remove folio/jest namespaces in expect matchers (#6930) 2021-06-07 08:02:01 -07:00
Andrey Lushnikov
cfd49b5c01
feat: support npx playwright install msedge (#6861) 2021-06-07 00:23:22 -07:00
Dmitry Gozman
46a0213769
chore: remove internal uses of "folio" (#6931)
Replaced by "pwt" or "playwright test".
2021-06-06 22:07:07 -07:00
Dmitry Gozman
b556ee6f5b
chore: brush up playwright-test types (#6928) 2021-06-06 20:18:47 -07:00
Dmitry Gozman
f745bf1fbc
chore: bring in folio source (#6923)
- Source now lives at `src/test`.
- Former folio tests live at `tests/playwright-test`.
- We use `src/test/internal.ts` that exposes base test without
  Playwright fixtures for most tests (to avoid modifications for now).
- Test types live in `types/testFoo.d.ts`.
- Stable test runner is installed to `tests/config/test-runner` during `npm install`.
- All deps including test-only are now listed in `package.json`.
  Non-test deps must also be listed in `build_package.js` to get included.
2021-06-06 17:09:53 -07:00
Dmitry Gozman
82041b2f74
test: roll to folio@0.4.0-alpha28 (#6918) 2021-06-04 20:54:58 -07:00
Dmitry Gozman
69b734629c
fix: various test-related fixes (#6916)
- Closing inspector window resumes the script.
- Replace FOLIO_WORKER_INDEX with TEST_WORKER_INDEX.
- Account for `@playwright/test` stack traces.
2021-06-04 18:43:54 -07:00
Dmitry Gozman
a83646684a
fix(tracing): error handling (#6888)
- Reject when ZipFile signals an error.
- Make sure snapshotter does not save trace events after stop().
- Await pending blob writes on stop().
2021-06-04 14:52:16 -07:00
Pavel Feldman
ec2b6a7d8b
test: add a glob test (#6911) 2021-06-04 13:33:45 -07:00
Yury Semikhatsky
a96491cbbb
feat(downloads): subscribe to download events in Browser domain instead of Page (#6082) 2021-06-04 09:54:29 -07:00
Joel Einbinder
e37c078ea6
test(nonStallingRawEvaluateInExistingMainContext): fix broken test (#6908) 2021-06-04 09:33:44 -07:00
Dmitry Gozman
21b00d0bcc
test: roll to folio@0.4.0-alpha27 (#6897) 2021-06-03 22:06:59 -07:00
Yury Semikhatsky
fb0004c22c
feat(webkit): bump to 1492 (#6887) 2021-06-03 16:21:23 -07:00
Dmitry Gozman
d4482f3ad3
chore: do not use Array.from in injected script (#6876)
This method is most often overridden by some bad polyfill that
does not work correctly and breaks `$eval` and `$$eval` methods.

As a best-effort fix, use a `[...iterable]` throughout the code.
2021-06-03 15:10:02 -07:00
Dmitry Gozman
375ceca950
test: disable chromium headed tracing test (#6878) 2021-06-03 14:33:33 -07:00
Max Schmitt
064150f8dd
chore: use fs.promises API instead of promisify (#6871) 2021-06-03 18:55:33 +02:00
Pavel Feldman
b2143a951b
chore: make tracing zero config (#6859) 2021-06-02 22:00:34 -07:00
Dmitry Gozman
837ee08a53
fix(waitForSelector): retry when context is gone during node adoption (#6851)
There is a small window after finishing the "rerunnable task" where
we adopt the node to the main world and navigation could destroy the context.
2021-06-02 20:17:24 -07:00
Max Schmitt
c09726b023
test: add tests for port-forwarding via playwrightclient (#6860)q 2021-06-03 02:19:01 +02:00
Karan Shah
254ec155eb
feat(user-agent): Adding User-Agent in headers while making connection to browser (#6813) 2021-06-02 11:36:58 -07:00
Yury Semikhatsky
2fde9bc13f
fix(webkit): use new awaitPromise parameter instead of separate command (#6852) 2021-06-02 10:04:47 -07:00
Pavel Feldman
d28f45b6ee
api(tracing): export -> stop({path}) (#6802) 2021-06-02 10:04:25 -07:00
Andrey Lushnikov
831a1c846f
feat(firefox-stable): roll Firefox-Stable to Firefox v89 (#6833)
References #6817
2021-06-02 08:34:03 -07:00
Yury Semikhatsky
1020d3d329
feat(webkit): bump to 1488 (#6826) 2021-06-01 23:09:58 -07:00
Andrey Lushnikov
251c7d8df1
test: properly disable electron test (#6839)
This test is failing since ee7e38c60d
Dashboard: https://devops.aslushnikov.com/flakiness2.html#browser=electron&platform=Ubuntu+20.04&timestamp=1622444340000

P.S. this is a follow-up to a1106e5d4e -
turns out `it.fail` is still failing in case of a timeout.
2021-06-01 23:09:07 -07:00
Andrey Lushnikov
a1106e5d4e
test: disable test that fails on Electron (#6837)
This test is failing since ee7e38c60d
Dashboard: https://devops.aslushnikov.com/flakiness2.html#browser=electron&platform=Ubuntu+20.04&timestamp=1622444340000
2021-06-01 19:04:24 -07:00
Joel Einbinder
2951f4b065
chore(evaluate): remove private _evaluateInUtility methods (#6815) 2021-06-01 08:36:16 -07:00
Yury Semikhatsky
7f0d817afd
test: side effects of context.storageState() (#6793) 2021-05-28 18:20:49 -07:00
Dmitry Gozman
8fefac9b8c
test: roll to folio@0.4.0-alpha21 (#6789) 2021-05-28 17:03:18 -07:00
Yury Semikhatsky
d2ab1951fd
feat(firefox): bump to 1268 (#6779) 2021-05-28 09:16:42 -07:00
Yury Semikhatsky
3b220e50ee
test: add failing test for eval with overridden Array.toJSON (#6766) 2021-05-26 16:02:21 -07:00
Pavel Feldman
95bd4b315c
chore: fix codegen to emit new C# api (#6763) 2021-05-26 15:44:40 -07:00
Dmitry Gozman
d36bffb9a9
fix(connect): respect timeout in all scenarios (#6762)
Drive-by: fix console error in test arising from bad usage
of test websocket server in `connect()` calls.
2021-05-26 15:18:52 -07:00
Max Schmitt
1778e117f7
fix(port-forwarding): on WebKit Win (#6745) 2021-05-26 16:51:55 +02:00
Dmitry Gozman
9dd2f83361
fix(codegen): update csharp boilerplate (#6742) 2021-05-25 10:59:17 -07:00
Max Schmitt
3f43db5cc4
feat(browserServer): forward local ports (#6375) 2021-05-25 17:11:32 +02:00
Max Schmitt
c9f35fb811
test: revert partly 8770c64 (#6740) 2021-05-25 17:10:43 +02:00
Andrey Lushnikov
30e5681b82
chore: report correct browser channel for Android tests (#6733) 2021-05-24 19:06:46 -07:00
Yury Semikhatsky
05e5ed25a8
test: revert .only (#6728) 2021-05-24 16:05:21 -07:00
Yury Semikhatsky
8770c64601
browser(webkit): fix mac compilation after latest roll (#6727) 2021-05-24 14:56:10 -07:00
Yury Semikhatsky
2e8d65e978
test: skip falky raw headers test in Chromium (#6721) 2021-05-24 11:03:31 -07:00
Dmitry Gozman
48b48828cc
test: roll to folio@0.4.0-alpha17 (#6712) 2021-05-23 16:21:18 -07:00
Max Schmitt
ac0980e1ee
chore(linting): enable required semicolons rule in TS (#6701) 2021-05-24 00:09:46 +02:00
Max Schmitt
ba29e99ace
feat: added reduced motion media query emulation (#6646) 2021-05-22 01:56:09 +02:00
Dmitry Gozman
af2fec6bcf
fix(codegen): generate all options for java (#6698) 2021-05-21 16:17:25 -07:00
Dmitry Gozman
f529f0a25d
fix(codegen): generate acceptDownloads option for download signals (#6697) 2021-05-21 15:08:39 -07:00
Dmitry Gozman
e4946b79e6
fix(codegen): update csharp scripts to new syntax (#6685)
Drive-by: fix middle/right button clicks in codegen.
2021-05-20 15:47:14 -07:00
Dmitry Gozman
57f3a53a7e
test: roll to folio@0.4.0-alpha16 (#6656) 2021-05-20 09:51:09 -07:00
Dmitry Gozman
8cc103f43e
test: unflake sync predicate test (#6654)
Ensure that requests come in order by awaiting them.
2021-05-19 09:05:32 -07:00
Joel Einbinder
754ee13c93
feat(electron): accept BrowserContextOptions in electron.launch (#6621) 2021-05-19 06:56:29 -07:00
Yury Semikhatsky
b94643786b
fix: wait for ffmpeg to finish writing even if page was closed (#6648) 2021-05-18 22:29:39 -07:00
Dmitry Gozman
e804d16dce
test: unflake webview tests (#6644)
We close webviews after each test, for the safe `webViews().length` assertions.
2021-05-18 20:22:00 -07:00
Max Schmitt
b52cbfdb16
fix(chromium): close background pages on close (#6608) 2021-05-18 18:07:45 +02:00
Max Schmitt
9592486225
feat: use up2date Chromium user-agents for device descriptors (#6594) 2021-05-18 09:29:48 +02:00
Dmitry Gozman
a728a89264
test: unskip a few tests previously skipped with channels (#6609) 2021-05-17 15:01:17 -07:00
Dmitry Gozman
68a15fc04b
fix(tests): force a new worker for channels.spec (#6616)
It has some global-state expectations that do not play nicely
with reusing Browser between test files.
2021-05-17 14:56:39 -07:00
Yury Semikhatsky
c23a06c96e
test: mark "should produce screencast frames fit" as flaky on wk linux (#6617) 2021-05-17 12:06:18 -07:00
Dmitry Gozman
4c3bd11820
test: roll to folio@0.4.0-alpha14 (#6602) 2021-05-16 19:58:26 -07:00
Dmitry Gozman
5aafae39bb
test: enable download url test on webkit (#6588)
Fixed by the recent bump to 1478.
2021-05-16 15:12:34 -07:00
Dmitry Gozman
5e84eade85
test: roll to folio@0.4.0-alpha13 (#6570) 2021-05-15 07:42:35 -07:00
Max Schmitt
cff3bd0422
test: mark android test as failing (#6575) 2021-05-15 07:41:35 -07:00
Joel Einbinder
7bbb91f265
test(downloads): add passing test for downloads and interception (#6586) 2021-05-14 13:28:42 -07:00
Pavel Feldman
d7c6720ce7
chore: include context options into the trace (#6572) 2021-05-13 22:36:34 -07:00
Dmitry Gozman
fbae295ce2
fix(har): save popup's main request/response (#6562)
This migrates server side code from networks events on the Page
to network events on the BrowserContext.
2021-05-13 15:02:10 -07:00
Sébastien Règne
e87fbfcc1d
feat(download): add Page in Download (#6501) 2021-05-13 14:18:21 -07:00
Joel Einbinder
3bded35834
fix(chromium): wait for existing pages when connecting (#6511) 2021-05-13 14:10:52 -07:00
Andrey Lushnikov
92fa7ddead
feat(firefox): roll to latest Firefoxes (#6561)
Fixes #4704
2021-05-13 13:42:25 -07:00
Pavel Feldman
6a39b86640
chore: GoToAsync -> GotoAsync (#6563) 2021-05-13 11:57:02 -07:00
Vignesh Shanmugam
4b3e5e5c17
feat(network): expose network events via browser context (#6370)
- fix #6340
- Exposes all the network related events (request, response, requestfailed, requestfinished) through the browser context to allow for managing network activity even if the is any navigations through popups or to new tabs which could result in creation of multiple page objects.
2021-05-13 10:29:14 -07:00
Dmitry Gozman
8b6b894dd8
test: prepare test to use options as passed (#6557)
This changes `headful` to `headless` to align with launch options.
Also replaces `isChromium` and friends with `browserName`.
2021-05-13 10:22:23 -07:00
Yury Semikhatsky
41df6607b0
fix: enable util world bindings in firefox (#6546) 2021-05-12 15:19:27 -07:00
Max Schmitt
dc7f7f9a8c
fix(chromium): handle backgroundPages() onClose (#6541) 2021-05-12 22:15:04 +02:00
Pavel Feldman
21cb726b7d
chore(tracing): expose tracing api (#6523) 2021-05-12 12:21:54 -07:00
Yury Semikhatsky
460cc31941
fix: propagate custom executable path to codegen (#6509) 2021-05-12 11:45:57 -07:00
Pavel Feldman
45ee257a26
chore(test): fix some screencast tests (#6522) 2021-05-12 08:35:19 -07:00
Anx
1c10c4cbe8
fix: fix har entry time calculation (#6472) 2021-05-11 13:28:17 -07:00
Pavel Feldman
d08c50d277
feat(screencast): scale fixes (#6475) 2021-05-11 13:21:01 -07:00
Joel Einbinder
2ea465bc82
test(chromium): add failing test for connecting to a browser with pages (#6502) 2021-05-11 13:04:21 -07:00
Joel Einbinder
6c821a08b3
test(network): adding failing post data test for chromium and webkit (#6484) 2021-05-11 11:46:29 -07:00
Dmitry Gozman
b01ccc282f
test: roll to folio@0.4.0-alpha11 (#6496) 2021-05-11 06:40:06 -07:00
Dmitry Gozman
00ec43974d
test: fix android test failure (#6487) 2021-05-10 11:07:56 -07:00
Dmitry Gozman
845054d28b
feat(firefox): bump to 1257 and 1247 (stable) (#6476)
This fixes addBinding on pages with CSP.
2021-05-10 08:41:18 -07:00
Dmitry Gozman
76e409637a
test: simplify more tests (#6471) 2021-05-09 17:47:20 -07:00
Andrey Lushnikov
5c1ddc7f0a
fix: fix method elementHandle.frameElement() for framesets (#6468)
Playwright clicks did not work in regular frames due to a bug
in `frameElement` method.

Fixes #6453
2021-05-08 21:25:12 -07:00
Dmitry Gozman
2d4538c23d
test: cleanup tests and configs after last folio update (#6463) 2021-05-08 17:45:04 -07:00
Pavel Feldman
a9523d9d8f
feat(ff): roll to 1256/1246 (#6466) 2021-05-08 11:35:36 -07:00
Dmitry Gozman
573327b7b5
test: roll to folio@0.4.0-alpha8 (#6451) 2021-05-07 15:25:55 -07:00
Andrey Lushnikov
7c85846f26
test: remove "headless should be able to read cookies by headful" (#6444)
With the `storageState` API that was introduced some time ago, there's
no more need to re-use profile directories in Chromium.
2021-05-06 11:40:56 -07:00
Dmitry Gozman
b29b7df47e
fix(connect): handle disconnect in various situations (#6276)
There are a few ways for `connect()` to finish:
- `Browser.close()` from the client side.
- Browser on the server side did exit (e.g. crashed).
- Connection was dropped by either of the sides.

We reduce all the cases to the last one by dropping the
connection when client wants calls `Browser.close()` or
server-side browser exits.

In all these cases we should properly cleanup on the server side,
and ensure that all promises reject on the client side.
2021-05-06 09:34:06 -07:00
Dmitry Gozman
217cbe3e21
test: cleanup bad usages of pageTest (#6430) 2021-05-06 07:08:22 -07:00
Dmitry Gozman
9433cae4fe
test: move all page tests to a subdirectory (#6427) 2021-05-05 19:10:28 -07:00
Yury Semikhatsky
47cf9c3e8f
feat(chromium): bump to r878941 (#6216)
This roll was blocked by a few upstream bugs that were crashing Chromium on Windows.
- https://bugs.chromium.org/p/chromium/issues/detail?id=1198567#c33
- https://bugs.chromium.org/p/chromium/issues/detail?id=1200964
2021-05-05 09:47:34 -07:00
Max Schmitt
ab850afb45
fix: support relative downloadsPath directory for downloads (#6402) 2021-05-05 17:07:10 +02:00
Yury Semikhatsky
86df1df8e7
test: update download test expectations (#6394) 2021-05-04 11:59:39 -07:00
Andrey Lushnikov
ce7a72b217
test: disable certain screencast tests on Firefox. (#6396)
These were regressed by 934bc672f7

Tests link: https://devops.aslushnikov.com/flakiness2.html#commits=20&timestamp=1620085865166
2021-05-04 00:45:36 -07:00
Pavel Feldman
1a859ebe68
chore(electron): fix node/browser race conditions, expose browser window asynchronously (#6381) 2021-05-02 22:45:06 -07:00
Dmitry Gozman
de21a94b75
test: roll to folio@0.4.0-alpha6 (#6366) 2021-04-30 13:26:13 -07:00
Joel Einbinder
6ce56dde49
test(accessibility): remove and update tests for new chromium (#6372) 2021-04-30 10:19:37 -07:00
Andrey Lushnikov
5e8d9d20b5
feat(firefox): roll Firefox to r1248 @ v89.0b2 (#6281) 2021-04-30 09:36:54 -07:00
Pavel Feldman
934bc672f7
test(tracing): start adding tracing tests (#6369) 2021-04-30 07:40:22 -07:00
Max Schmitt
1c40c94ed7
chore: only throw the proxy on launch required on win/CR (#6350) 2021-04-30 00:02:48 +02:00
Dmitry Gozman
263a0fd2e1
fix: evaluate in utility for screenshots (#6364)
We use `waitForFunctionValue` in the main world that may be corrupted.

References #6356.
2021-04-29 14:53:53 -07:00
Dmitry Gozman
11882cdda7
test: roll to folio@0.4.0-alpha3 (#6262) 2021-04-29 11:11:32 -07:00
Pavel Feldman
434f474ce8
chore(evaluate): implement non-stalling evaluate (#6354) 2021-04-29 09:28:19 -07:00
Yury Semikhatsky
560bea5f8d
fix: do not close stream until all bytes have been read (#6351) 2021-04-28 14:54:51 -07:00
Pavel Feldman
922d9ce1fb
chore(tracing): fix some of the start/stop scenarios (#6337) 2021-04-27 11:07:07 -07:00
Pavel Feldman
be27f47309
feat(tracing): introduce context.tracing, allow exporting trace (#6313) 2021-04-24 20:39:48 -07:00
Pavel Feldman
a9219aa8b6
chore: start / stop context tracing (#6309) 2021-04-23 20:39:09 -07:00
Yury Semikhatsky
fd31ea8b0d
feat: support extra http headers in browserType.connect() (#6301) 2021-04-23 14:52:27 -07:00
Yury Semikhatsky
f63f92be5e
chore: repair run_static_server.js (#6298) 2021-04-23 11:42:54 -07:00
Dmitry Gozman
6bdc67ac6a
feat(actions): trial option that only performs the checks (#6246)
Available for check, click, dblclick, hover, tap, uncheck.
2021-04-21 12:22:19 -07:00
Dmitry Gozman
640b10c70f
fix(codegen): missing await before newPage.goto (#6253) 2021-04-21 07:59:38 -07:00
Pavel Feldman
85e2db2416
chore: push dispatcher guid into object, reuse it in trace (#6250) 2021-04-20 23:03:56 -07:00
Dmitry Gozman
06b0619260
fix(codegen): do not commit last action on mouse move (#6252)
On a slow page that does a lot of things before navigating upon click,
it is common to move mouse away from the click point. Previously,
we would commit the click action and record a `page.goto()` for the
navigation. Now we attribute any signals, even after accidental mouse move,
to the previous action, in the 5-seconds time window.
2021-04-20 18:45:52 -07:00
Andrey Lushnikov
23dfaf9e9b
feat: start downloading firefox-stable channel (#6177)
This patch adds support for downloading and running Playwright with
firefox-stable channel.

References #5993
2021-04-19 21:26:33 -07:00
Max Schmitt
8ca58e344e
fix(page): add name property to pageerror event (#5970) 2021-04-19 22:37:38 +02:00
Dmitry Gozman
243ede5dfb
feat(waitForEvent): allow async predicate (#6201)
We await the predicate now. For synchronous predicates,
nothing should change becase the await will finish before
the next protocol message arrives (thanks to `makeWaitForNextTask`).
2021-04-19 10:32:51 -07:00
Dmitry Gozman
e81a3c5901
api: add option position to check/uncheck (#6153)
Since check/uncheck does click under the hood, sometimes it might
need to click at a different position. One example would be a long
label that contains links inside, and clicking in the center happens
to hit the link instead of the label itself.
2021-04-12 12:41:25 -07:00
Dmitry Gozman
fff1f3d45c
chore: simplify remote connection protocol (#6164)
This changes the root object from RemoteBrowser to Playwright,
similar to local driver connection. This way, any remote connection
gets a Playwright object.

This also starts reusing PlaywrightServer class, and introduces
`cli run-server` hidden command that runs ws server on the
specified port.

Previous structure:
```
RemoteBrowser
  - browser (using ConnectedBrowser for remote-specific behavior)
  - selectors (special instance for this remote connection)
```

New structure:
```
Playwright
  - ...
  - selectors (special instance for this remote connection)
  - preLaunchedBrowser (using ConnectedBrowser for remote-specific behavior)
```
2021-04-12 11:14:54 -07:00
Joel Einbinder
b3b87f6c69
fix(codegen): ignore AltGraph when typing (#6086) 2021-04-12 09:00:29 -07:00
Dmitry Gozman
b62a436041
feat(selectors): support max distance in layout selectors (#6172)
Supports `div:near(button, 120)` with configurable distance in pixels.
2021-04-10 15:20:26 -07:00
Ross Wollman
bba7ca34c8
feat(chromium): roll to r869727 (#6170)
Fixes #5952
Fixes #6016
2021-04-09 20:57:41 -07:00
Andrey Lushnikov
ec07a581f7
test: disable test on mac 10.14 (#6157) 2021-04-09 08:54:18 -07:00
Dmitry Gozman
bd8433ba49
test: cleanup various testing env variables (#6155) 2021-04-09 07:59:09 -07:00
Andrey Lushnikov
856ced6e65
tests: attribute electron tests to electron on the dashboard (#6156) 2021-04-08 23:19:36 -07:00
Yury Semikhatsky
f6606d505b
fix: finish all artifacts when browser exits (#6151) 2021-04-08 18:56:09 -07:00
Joel Einbinder
63d0d466e3
feat(cdp): replace wsEndpoint with protocol neutral endpointURL (#6141) 2021-04-08 14:55:28 -07:00
Yury Semikhatsky
53d50f9b72
fix(screencast): properly stop screencast on context closure (#6146) 2021-04-08 14:01:05 -07:00
Yury Semikhatsky
f7e7ea93e2
chore: skip click test based on the browser version (#6127) 2021-04-08 10:32:16 -07:00
Joel Einbinder
779355ad51
feat(types): make the template on BrowserType optional (#6142)
This makes it much nicer to use `BrowserType` because it no longer has a template.

Technically a breaking change because of the rare edge case where someone used their own non-browser type inside the template, but I don't consider that intended behavior and think this is fine.
2021-04-08 10:27:24 -07:00
Dmitry Gozman
310692b101
test: run page tests on electron bot (#6122) 2021-04-08 10:26:26 -07:00
Pavel Feldman
d9546fd098
chore: read all traces from the folder (#6134) 2021-04-08 07:59:05 -07:00
Andrey Lushnikov
632ff111d4
test: properly annotate Android tests for flakiness dashbboard (#6133) 2021-04-07 19:58:49 -07:00
Pavel Feldman
d0db4f6737
feat: include screencast in trace (#6128) 2021-04-07 14:32:12 -07:00
Dmitry Gozman
ee44fbe2bc
devops: upload test results for android bots (#6121) 2021-04-07 08:07:31 -07:00
Andrey Lushnikov
2897df693f
devops: restore flakiness dashboard upload (#6116) 2021-04-06 22:46:52 -07:00
Dmitry Gozman
36a546999e
test: roll to folio 0.3.21-alpha (#6108) 2021-04-06 16:09:54 -07:00
Pavel Feldman
0dfde2e975
fix(screenshot): never throw page is navigating (#6103) 2021-04-06 16:01:38 -07:00
Andrey Lushnikov
ba5ba52e41
test: expose browserVersion in the tests (#6090)
Drive-by: expose browser version in test report as well.
2021-04-05 22:22:07 -07:00
Dmitry Gozman
63e471ca22
test: cleanup proxy and context tests (#6085) 2021-04-05 18:48:46 -07:00
Andrey Lushnikov
1a44f68155
devops: migrate flakiness dashboard to the new folio reporter format (#6089)
New folio changed the JSON report, so we have to keep with the changes.

The most notable changes:
- there are no parameters any more. We recreate these as `testInfo.data`
  arguments that are saved under test result's data.
- `test.runs` are renamed into `test.results`

I didn't find other changes so far - let's see if this works in the
cloud!
2021-04-05 17:35:34 -07:00
Dmitry Gozman
5afe282fbb
test: move remaining files from old test/ directory (#6081) 2021-04-05 15:51:45 -07:00
Joel Einbinder
8e6639b770
test(keyboard): add test with contenteditable and selection (#5938) 2021-04-05 15:06:41 -07:00
Dmitry Gozman
e3cf675624
test: remove a copy of folio, use upstream (#6080) 2021-04-05 13:23:49 -07:00
Dmitry Gozman
bd61f863c4
test: print "Using executable at ..." for custom executable (#6077) 2021-04-05 09:19:39 -07:00
Dmitry Gozman
4f7e7450e2
test: migrate last tests to new folio (#6071) 2021-04-05 09:18:56 -07:00
Dmitry Gozman
f21f47889e
test: migrate more page tests to folio (#6062) 2021-04-04 19:32:14 -07:00
Dmitry Gozman
f5781f90ba
test: migrate most non-page tests to new folio (#6059) 2021-04-02 21:07:45 -07:00
Dmitry Gozman
0629922774
test: migrate page tests to new folio (#6054) 2021-04-02 14:23:42 -07:00
Dmitry Gozman
d0afa9d8de
test: migrate cli tests to new folio (#6048) 2021-04-02 11:19:26 -07:00
Dmitry Gozman
1444cc873a
test: migrate electron tests to new folio (#6043) 2021-04-02 09:00:49 -07:00
Dmitry Gozman
a4eb4c0baf
test: migrate remoteServer tests to new folio (#6042) 2021-04-01 19:13:08 -07:00
Dmitry Gozman
be79b3883b
test: bring new folio and migrate small amount of tests to it (#5994) 2021-04-01 16:35:26 -07:00