Yury Semikhatsky
9b0e0c2273
fix: restore support for slowmo connect option ( #9038 )
2021-09-21 09:12:44 -07:00
Dmitry Gozman
7ec1035b98
test: improve child process utilities in tests ( #9036 )
2021-09-20 17:17:12 -07:00
Dmitry Gozman
b575c0e2e6
fix(actions): do not throw evaluate protocol errors from actions ( #8997 )
...
When using `evaluate` or `evaluateHandle` internally during actions
like `click`, we can sometimes get protocol errors if page
navigates. In this case, we throw the protocol error right away.
Instead, we can treat such a protocol error similar to "detached"
error and retry in the new execution context.
2021-09-17 22:18:00 -07:00
Yury Semikhatsky
cc15227327
fix: do not dedup header values ( #8998 )
2021-09-17 17:19:13 -07:00
Pavel Feldman
63ff405e6e
fix(inspector): stop on all snapshottable actions ( #8990 )
2021-09-17 15:24:15 -07:00
Yury Semikhatsky
43a690c204
feat(fetch): set content-length header if post data is present ( #8979 )
2021-09-17 09:00:18 -07:00
Yury Semikhatsky
806a71a4f0
feat(fetch): support form data and json encodings ( #8975 )
2021-09-16 17:48:43 -07:00
Dmitry Gozman
43213614a1
fix(test runner): after hooks step should not be nested ( #8969 )
2021-09-16 15:51:27 -07:00
Joel Einbinder
eafba43e15
fix(snapshot): render adoptedStyleSheets used in more than one node ( #8886 )
...
.
2021-09-16 09:37:38 -04:00
Dmitry Gozman
5379b2dcba
fix(test runner): account for errors with inconsistent stack/message ( #8950 )
2021-09-15 21:28:36 -07:00
Yury Semikhatsky
2380b07f30
feat(fetch): introduce FetchRequest.dispose, fulfill with global fetch ( #8945 )
2021-09-15 14:02:55 -07:00
Darrell Breeden
d82cb9a2ff
feat: addition of tags to JSON reporter output ( #8920 )
2021-09-15 12:30:22 -07:00
Pavel Feldman
14bc663742
chrome: don't nest pw:api steps ( #8932 )
2021-09-15 11:34:23 -07:00
Dmitry Gozman
b8a46580dd
fix(expect): toHaveText, toContainText and toHaveTitle normalize whitespace ( #8929 )
2021-09-14 19:24:29 -07:00
Yury Semikhatsky
c58f34fb2e
feat(fetch): introduce global fetch request ( #8927 )
2021-09-14 18:31:35 -07:00
Pavel Feldman
5253a7eb54
feat(html): restore trace, video, screenshot ( #8925 )
2021-09-14 16:26:31 -07:00
Yury Semikhatsky
5141407c6b
fix(fetch): prefix request with underscore ( #8922 )
2021-09-14 12:56:09 -07:00
Yury Semikhatsky
bdea9c74c4
fix(connect): report all frames in existing page to the client ( #8910 )
2021-09-14 12:44:49 -07:00
Joel Einbinder
afae5bef5d
feat(mouse): page.mouse.wheel ( #8690 )
2021-09-14 15:22:52 -04:00
Will 保哥
db1c8b2693
fix(codegen): NUnit's Equal API should be Assert.AreEqual ( #8859 )
2021-09-13 21:19:21 -07:00
Pavel Feldman
aa76cb5610
fix(tracing): fix tests via tracking context close state ( #8906 )
2021-09-13 21:12:36 -07:00
Pavel Feldman
16baaa317d
chore: remove stale html experiments ( #8905 )
2021-09-13 20:34:46 -07:00
Pavel Feldman
a1adc15ea3
tests: mark win32/webkit cookie multivalue test as failing
2021-09-13 20:13:25 -07:00
Pavel Feldman
1925c85dfb
feat(report): render attachment as a part of failure ( #8903 )
2021-09-13 18:07:40 -07:00
Pavel Feldman
b76e993951
chore: remove log from htmlreport ( #8898 )
2021-09-13 18:07:15 -07:00
Dmitry Gozman
d9d2d809a2
fix(test): make use
in config accept option values only ( #8828 )
...
Also include default options in FullConfig/FullProject.
Also make examples compile and add a test.
2021-09-13 17:50:31 -07:00
Dmitry Gozman
ed34a67d4a
fix(junit reporter): put stdio under testcase ( #8900 )
...
When output happened during test execution, it should be
under `<testcase><system-out>...</system-out></testcase>`.
2021-09-13 17:50:08 -07:00
Dmitry Gozman
440651e05c
test(test runner): calling test.step() from fixture ( #8899 )
2021-09-13 17:49:58 -07:00
Dmitry Gozman
6c41ad3329
test: expect(locator).toHaveCount should wait ( #8901 )
2021-09-13 17:06:19 -07:00
Yury Semikhatsky
b79be5d98d
feat(fetch): introduce failOnStatusCode ( #8896 )
2021-09-13 15:38:27 -07:00
Yury Semikhatsky
f8c0f0d637
feat(fetch): support query params ( #8893 )
2021-09-13 14:29:44 -07:00
Pavel Feldman
64f9c3ba1d
feat(api): move fetch api into the namespace ( #8871 )
2021-09-13 12:43:07 -07:00
Joel Einbinder
bf35da3656
fix(test-runner): accept unix separators even on windows ( #8881 )
...
.
2021-09-13 12:09:38 -04:00
Ross Wollman
549411dc33
feat(har): add _requestref ( #8847 )
2021-09-11 17:25:00 -07:00
Pavel Feldman
798d0bfa9b
chore: fix headers api again ( #8854 )
2021-09-11 13:27:00 -07:00
Yury Semikhatsky
b6180055df
feat(fetch): make fetch api public ( #8853 )
2021-09-10 18:36:55 -07:00
Yury Semikhatsky
8d6bcfb66c
test: headers return only last header value for duplicates ( #8851 )
2021-09-10 16:37:10 -07:00
Max Schmitt
cfe7c1a7e3
fix(sizes): responseBodySize on CR & WK macOS ( #8846 )
2021-09-10 23:19:34 +02:00
Yury Semikhatsky
ebdad167f2
feat(fetch): support new headers api ( #8843 )
2021-09-10 14:03:56 -07:00
Max Schmitt
8a3e992031
test: add test for responseBodySize with chunked requests ( #8839 )
2021-09-10 20:53:08 +02:00
Yury Semikhatsky
3c5d8ff18d
test: skip failing interception tests in Electron ( #8836 )
2021-09-10 09:33:12 -07:00
Dmitry Gozman
bcb0c1745b
fix(waitForEventInfo): reply from the server side ( #8825 )
...
Otherwise, client thinks that `waitForEventInfo` is a pending operation.
2021-09-09 21:20:26 -07:00
Pavel Feldman
665143d629
chore(report): don't generate file per test ( #8822 )
2021-09-09 17:35:31 -07:00
Dmitry Gozman
e85fba1c7d
fix(check): allow checking/unchecking role=radio elements ( #8821 )
...
We already do this for `role=checkbox` but not for radio.
2021-09-09 16:01:21 -07:00
Pavel Feldman
7bbb63d143
feat(test): start authoring raw reporter ( #8790 )
2021-09-09 14:17:18 -07:00
Andrey Lushnikov
c5ce263de7
fix: make sure page.goto
navigates away from pages with beforeunload ( #8770 )
...
As of today, we can't navigate away from a page with beforeunload unless
we have an explicit `beforeunload` handler.
This patch updates our dialog auto-closing logic so that it auto-accepts
all beforeunload dialogs.
Fixes #8144
2021-09-09 13:19:50 -07:00
Joel Einbinder
7fe30bb182
test(goto): add failing load event test for webkit ( #8809 )
2021-09-09 12:42:46 -07:00
Yury Semikhatsky
1ad6c8af6f
test: response finish hangs when page closes ( #8816 )
2021-09-09 12:27:57 -07:00
Yury Semikhatsky
81ae790288
feat(fetch): support ignoreHTTPSErrors ( #8795 )
2021-09-08 20:32:52 -07:00
Yury Semikhatsky
5550f58284
feat(fetch): fetch with request parameter ( #8793 )
2021-09-08 16:31:58 -07:00
Yury Semikhatsky
b11b274b0d
feat(fetch): fulfill without passing fetch response body client<->server ( #8789 )
2021-09-08 14:59:12 -07:00
Pavel Feldman
5a305a9c2e
fix(recorder): move recorder scripts into the main world ( #8761 )
2021-09-08 14:27:05 -07:00
Yury Semikhatsky
b4ca77be23
feat(fetch): get body lazily ( #8784 )
2021-09-08 13:40:07 -07:00
Yury Semikhatsky
77b3b0965a
feat(fetch): timeout option and default timeout ( #8762 )
2021-09-08 10:01:40 -07:00
Max Schmitt
25b5927a4d
docs: sizes enhancements ( #8771 )
2021-09-08 14:09:11 +02:00
Yury Semikhatsky
6263361284
feat(fetch): browser proxy credentials ( #8760 )
2021-09-07 17:42:31 -07:00
Yury Semikhatsky
afe92a6fcf
fix(runner): avoid line wrapping in list reporter ( #8705 )
2021-09-07 17:42:17 -07:00
Dmitry Gozman
bcbb792cf3
fix(tracing): retain script resources, but no body ( #8758 )
2021-09-07 15:23:13 -07:00
Dmitry Gozman
b30772c67e
fix(tracing): collect apiName for mouse/keyboard/touchscreen ( #8755 )
2021-09-07 13:48:30 -07:00
Daniel Dyssegaard Kallick
b2c59a15dd
feat(test-runner): include test step in json report ( #8476 )
2021-09-07 13:35:30 -07:00
Max Schmitt
913fb29353
test: fix 'should filter favicon and favicon redirects' in har.spec.ts
2021-09-07 19:42:14 +02:00
Dmitry Gozman
3739113e74
fix(test runner): allow dot-files and dot-directories with tests ( #8751 )
2021-09-07 10:32:47 -07:00
Joel Einbinder
e914f6bbc7
feat(network): remove Headers class and add headersArray method ( #8749 )
2021-09-07 10:27:53 -07:00
Max Schmitt
4f4bc72828
chore: add more tests for Request.sizes() ( #8686 )
2021-09-07 19:19:12 +02:00
Max Schmitt
e40b805782
feat(test-runner): support baseURL in toHaveURL ( #8743 )
2021-09-07 18:34:02 +02:00
Max Schmitt
b6ec6339d0
test: fix flaky 'should not fire events for favicon' test ( #8738 )
2021-09-07 13:05:29 +02:00
Max Schmitt
e832038ea2
test: skip wss/https tests which were failing on transport mode ( #8733 )
2021-09-07 11:17:09 +02:00
github-actions[bot]
f768ac03ee
feat(firefox): roll to r1292 ( #8731 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-09-06 22:57:26 +02:00
github-actions[bot]
1f43df3249
feat(firefox): roll to r1291 ( #8704 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-09-06 13:36:10 +02:00
Yury Semikhatsky
152f6c6f1c
fix: support connectOverCDP over https ( #8703 )
2021-09-03 17:52:22 -07:00
Yury Semikhatsky
e5e461c0de
fix: use logger from config if specified ( #8697 )
2021-09-03 14:21:25 -07:00
Dmitry Gozman
5d278db17b
fix(snapshot): remove CSP meta from snapshot ( #8698 )
2021-09-03 13:44:02 -07:00
Dmitry Gozman
e2b092c1a0
feat(html reporter): show log for pw:api and expect steps ( #8692 )
2021-09-03 13:08:17 -07:00
Max Schmitt
e7d4d61442
feat: add forced-colors media query emulation ( #6903 )
2021-09-03 21:48:06 +02:00
Dmitry Gozman
f7a490f80e
test: unflake trace-viewer.spec.ts ( #8694 )
2021-09-03 12:34:47 -07:00
Dmitry Gozman
2b4a93972d
test: use ToT test runner for non-test-runner tests ( #8671 )
2021-09-03 11:22:25 -07:00
Max Schmitt
31c76a086d
test: fix port forwarding tests in Docker
2021-09-03 12:53:21 +02:00
Pavel Feldman
5ac11a7760
fix(headers): fix webkit win headers tests ( #8675 )
2021-09-02 22:05:22 -07:00
Pavel Feldman
0d5b41ce7b
feat(headers): add Headers.headers that would mimic the behavior of the deprecated getters ( #8665 )
2021-09-02 20:48:23 -07:00
Dmitry Gozman
620712a5d9
feat(expect): support array of RegExp objects in toHaveText/toHaveClass ( #8667 )
2021-09-02 15:48:04 -07:00
Dmitry Gozman
e691b649de
feat(test runner): describe.parallel ( #8662 )
2021-09-02 15:42:07 -07:00
Pavel Feldman
94170dacbd
chore: rename rawHeaders to allHeaders ( #8659 )
2021-09-02 11:46:52 -07:00
Pavel Feldman
54bda2c8dd
fix(size): fix some of the request.size() problems ( #8645 )
2021-09-02 10:39:57 -07:00
Fokke Zandbergen
0ae38b5aec
fix(test-runner): WebServer: use socket for reuseExistingServer to detect servers that aren't using SO_REUSEADDR ( #8537 )
2021-09-02 18:39:41 +02:00
Yury Semikhatsky
bafa426231
feat(runner): support multiple names in project filter ( #8600 )
2021-09-02 09:29:55 -07:00
Chad Sheets
23daf84cdd
fix(har): favicon redirect handling ( #8176 )
2021-09-02 08:31:25 -07:00
Henrik Nygren
0202cdf797
fix(codegen): use new toHaveURL syntax ( #8624 )
2021-09-02 17:24:31 +02:00
Pavel Feldman
42e44f888b
feat(rawheaders): introduce initial plumbing ( #8638 )
2021-09-01 18:28:20 -07:00
Dmitry Gozman
b1260602ac
docs: update global setup docs ( #8637 )
...
Changing example to "authenticate once", and also updating the auth doc.
Adding a test with the same setup.
2021-09-01 15:35:46 -07:00
Max Schmitt
e0e4b48df6
test: skip security details on WK/Win
2021-09-01 23:21:03 +02:00
Dmitry Gozman
9618a8477b
feat(trace viewer): show call duration ( #8634 )
2021-09-01 13:41:47 -07:00
Dmitry Gozman
4f4cf448c2
fix(test runner): generate unique outputDir for beforeAll/afterAll ( #8633 )
2021-09-01 13:41:35 -07:00
Dmitry Gozman
1a9215a6ec
fix(html reporter): do not throw when attachment is actually missing ( #8630 )
2021-09-01 12:20:28 -07:00
Andrey Lushnikov
30b6614e5a
browser(firefox): enable SharedArrayBuffer in Firefox builds ( #8610 )
2021-09-01 12:27:37 +02:00
Pavel Feldman
1b2845764d
test: unflake trace viewer tests ( #8603 )
2021-08-31 21:49:08 -07:00
Pavel Feldman
ae3a4f5257
test: speculative fix for redirect event order ( #8602 )
2021-08-31 17:48:39 -07:00
Dmitry Gozman
0f34cfe339
test: roll test runner to 1.15.0-next-1630432230000 ( #8599 )
2021-08-31 17:06:32 -07:00
Dmitry Gozman
b8f8ca7493
feat(tracing): tracing.{start,stop}Chunk instead of tracing._export ( #8521 )
2021-08-31 17:03:31 -07:00
Dmitry Gozman
bee8ed117b
feat(html reporter): preview source code, steps and step errors ( #8598 )
2021-08-31 16:34:52 -07:00
Pavel Feldman
0fd5078b2b
chore: simplify client-side browserType.connect routine ( #8596 )
2021-08-31 15:56:55 -07:00
Pavel Feldman
246ac6aea6
chore: implement browserType.connect on the driver side ( #8566 )
2021-08-31 12:51:13 -07:00
Dmitry Gozman
900362ec0b
fix(test runner): report unhandled rejections during worker teardown ( #8592 )
2021-08-31 10:50:30 -07:00
Yury Semikhatsky
9f8e8444d8
feat(fetch): support response decompression ( #8571 )
2021-08-31 09:34:58 -07:00
Yury Semikhatsky
dd6dacb125
fix(fetch): throw on network error ( #8565 )
2021-08-30 14:34:31 -07:00
Yury Semikhatsky
6d51ed6e4d
feat(fetch): support baseURL, add tests for invalid args ( #8562 )
2021-08-30 13:41:25 -07:00
Yury Semikhatsky
4c1b47a00c
test: fix webkit win expectation for sameSite attribute ( #8559 )
2021-08-30 12:01:22 -07:00
github-actions[bot]
b6b9b4c170
feat(chromium): roll to r916288 ( #8551 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-08-30 19:51:06 +02:00
Pavel Feldman
e47bacdecb
fix(cookies): read response headers off extra info event, if any ( #8526 )
2021-08-30 09:58:44 -07:00
Pavel Feldman
57243bd023
chore: fix har tests
2021-08-30 09:42:41 -07:00
Andrey Lushnikov
cded6bc8d9
test: unskip iframe test on firefox ( #8546 )
...
Fixes #8016
2021-08-30 02:49:25 -07:00
Pavel Feldman
e574f4b7fd
feat(api): introduce setChecked convenience method ( #8525 )
2021-08-29 20:00:40 -07:00
Dmitry Gozman
37a897c9b4
fix(test runner): report beforeAll timeout instead of hanging ( #8529 )
...
We used to not report fatal error and hang forever because worker
did not run any tests but also did not report any errors.
Also properly show stack-less errors.
2021-08-28 07:19:45 -07:00
Yury Semikhatsky
60b0f46b60
feat(fetch): support setHTTPCredentials ( #8528 )
2021-08-27 23:47:33 -07:00
Yury Semikhatsky
3727aa5b67
feat(fetch): send extra http headers ( #8527 )
2021-08-27 23:47:21 -07:00
Dmitry Gozman
bf13259fa9
test: roll test runner to aug-27 ( #8523 )
2021-08-27 16:26:51 -07:00
Max Schmitt
3ea2f209ea
fix(har): requestFinished/page-close race ( #8518 )
2021-08-28 01:09:18 +02:00
Yury Semikhatsky
951b9ac21a
fix(fetch): handle cookies on redirects ( #8519 )
2021-08-27 15:28:36 -07:00
Max Schmitt
f3dde0650f
feat(network): expose bodySize, transferSize, and headerSize ( #8234 )
2021-08-27 22:53:57 +02:00
Max Schmitt
89245de0ef
fix(har): rewrite sizes and make transferSize work in WK/Linux ( #8504 )
2021-08-27 20:42:45 +02:00
Andrey Lushnikov
5901cb321d
browser(firefox): fix file chooser in iframes #8510 ( #8510 )
...
References #8016
2021-08-27 09:28:24 -07:00
Yury Semikhatsky
768a97cfdc
feat(fetch): set user-agent and other default headers ( #8491 )
2021-08-27 08:26:19 -07:00
Michael Rienstra
ed0c47a06f
fix(test-runner): minor error message typo ( #8489 )
2021-08-27 10:15:16 +02:00
Pavel Feldman
4ed976f2e9
chore: remove isContextDestroyedError heuristic ( #8456 )
2021-08-26 18:44:49 -07:00
Max Schmitt
998f2ab959
chore: hide Route.fulfill._response from API ( #8483 )
2021-08-27 00:44:20 +02:00
Ross Wollman
a1313727e8
fix(har): HAR artifacts need to be marked remote ( #8462 )
...
This is a follow-up fix to microsoft/playwright#8385 .
Testing options are limited right now, but this change was confirmed
with a client running on my physical machine and a LaunchServer running
in a Docker container.
Before this change, the har.spec.ts only passed when the client and
server were on the some filesystem.
microsoft/playwright#8450 will likely give us options to test this in an
automated way in the official CI suite.
2021-08-26 11:26:08 -07:00
Andrey Lushnikov
2198769f6c
fix(react-vue): support nested trees ( #8467 )
...
Turns out you can mount nested trees in both React and Vue.
This patch changes root discovery to support nested trees.
Fixes #8455
2021-08-26 03:07:33 -07:00
Pavel Feldman
95be45967a
feat(strict): list ambiguous matches when throwing strict exception ( #8449 )
2021-08-25 14:51:03 -07:00
Dmitry Gozman
a479cb6f52
fix(test runner): add an overload for test.skip(title, fn) ( #8454 )
...
We shipped this feature, but forgot to add the right overload to d.ts.
2021-08-25 14:36:36 -07:00
Yury Semikhatsky
204b6321b4
feat(webkit): bump to 1534 ( #8451 )
2021-08-25 14:27:49 -07:00
Ross Wollman
cd110e6477
feat(har): Remotely accessible HAR file ( #8385 )
...
This change ensure's the HAR file is saved at `recordHar.path` on the
client instead of the server.
NB: The goal was to make this change transparent to the user and NOT
introduce any new APIs. Namely, I want to leave the API open for
potential `context.har.start()` and `context.har.stop()`.
This does BREAK servers that expect the HAR to be at the `recordHar.path`
on the server, but I think that's OK since there haven't been reports
of missing HAR on client making me think not many users are getting
HAR with client and server on different hosts anyways.
Closes #8355
2021-08-25 13:32:56 -07:00
Dmitry Gozman
de85d8bb83
fix(test runner): do not special case test.fail ( #8447 )
...
This makes `test.fail` tests considered as passing when they actually fail:
- Stop restarting the worker.
- Retry when it passes instead of a fail.
- Behaves similar to regular tests in a `describe.serial` suite.
2021-08-25 12:19:50 -07:00
Max Schmitt
6c8c18dc73
test: skip 'should work with lazy loading iframes' on Android
2021-08-25 14:27:44 +02:00
Max Schmitt
8189de42cf
test: fix package installation tests ( #8430 )
2021-08-25 13:34:54 +02:00
Dmitry Gozman
29eb6cb777
chore: migrate tracing to har ( #8417 )
...
chore: migrate tracing to har
- `HarTracer` is used by both `HarRecorder` that implements
`recordHar` context option, and by tracing.
- We keep the `trace.network` format for now, so it is not
yet a valid har file, but it contains har entries.
2021-08-24 21:09:41 -07:00
Dmitry Gozman
33852635b7
fix(fetch): skip tests on non-default modes, add node-fetch to deps list ( #8425 )
2021-08-24 19:41:29 -07:00
Yury Semikhatsky
a6740c852a
test: webkit linux fails to load application/octet-stream resource ( #8424 )
2021-08-24 17:34:29 -07:00
Dmitry Gozman
b188468fa4
fix(tracing): rewrite blob urls so that we can intercept them ( #8423 )
2021-08-24 17:05:26 -07:00
Yury Semikhatsky
338d3c8fd4
test: override dns lookup to support subdomains ( #8419 )
2021-08-24 16:55:10 -07:00
Yury Semikhatsky
c0010d16c6
feat: introduce BrowserContext._fetch ( #8349 )
2021-08-24 14:29:04 -07:00
Dmitry Gozman
b0a7843247
chore: migrate tracing ResourceSnapshot to follow har entry format ( #8391 )
...
This will ease the migration of tracing to har.
2021-08-24 13:17:58 -07:00
Dmitry Gozman
75fb77355a
test(test runner): check retries with beforeAll failure and multiple tests ( #8413 )
2021-08-24 12:22:16 -07:00
Max Schmitt
8e20f13079
feat(routes): add support for the times option ( #8399 )
2021-08-24 20:45:50 +02:00
Yury Semikhatsky
59422a00f5
feat(route): rename method, add response option ( #8386 )
2021-08-24 11:07:54 -07:00
Joel Einbinder
a8a3799e9d
fix(test-runner): use describe name in output dir ( #8282 )
2021-08-24 10:33:40 -04:00
Joel Einbinder
ce2aa1782b
fix(test): fix broken codegen test ( #8383 )
2021-08-23 22:38:50 -04:00
Dmitry Gozman
47724fed5a
chore(tracing): rework start/export chunks ( #8378 )
...
Instead of filtering the whole trace file on export, we write
into separate trace file for each chunk. We also write a separate
trace.network file with all resources, because it is reused between
chunks.
This brings us towards `tracing.startFile()/stopFile()` api.
2021-08-23 16:08:09 -07:00
Joel Einbinder
0ed3c79d51
fix(selectors): nicer errors if the selector engine returns a bad value ( #8259 )
...
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2021-08-23 22:54:02 +02:00
Joel Einbinder
60829f8909
fix(codegen): escape tricky characters ( #8350 )
2021-08-23 12:22:19 -04:00
Dmitry Gozman
f9b87268a7
fix(test runner): afterAll error should not mask beforeAll error ( #8358 )
2021-08-23 09:21:40 -07:00
Ross Wollman
25a4c7b3df
feat(launchServer): accept wsPath option ( #8353 )
2021-08-22 09:04:47 -07:00
Pavel Feldman
0997c13151
fix(test-runner): do not attach non-existent diff ( #8297 )
2021-08-20 13:40:27 -07:00
Andrey Lushnikov
48e94c15c1
feat: support multiple roots in React and Vue selectors ( #8313 )
...
Fixes #8230
2021-08-20 05:05:52 -07:00
Dmitry Gozman
7818f5fa0b
test: add a tracing bot that collects a trace for most contexts ( #8316 )
2021-08-19 19:09:19 -07:00
Dmitry Gozman
e5be2c9205
feat(test runner): show failure details for flaky test runs ( #8332 )
...
Currently, we just say "foo.spec.ts > my test" is flaky, but do not
show how exactly the failed run went.
2021-08-19 18:20:53 -07:00
Dmitry Gozman
9c96468b9e
fix(tracing): do not stall while capturing snapshot with an open dialog ( #8328 )
2021-08-19 18:20:15 -07:00
Pavel Feldman
80dded6ccf
feat(proxy): bind proxy to open port ( #8331 )
2021-08-19 18:08:55 -07:00
Dmitry Gozman
70eca0401d
fix(test runner): avoid internal error for step end without begin ( #8327 )
...
fix(test runner): avoid internal error for step end without begin
Consider the following scenario:
- Test finishes and starts tearing down fixtures.
- Fixture teardown starts a step S and then times out.
- We declare the test finished (with timeout).
- Dispatcher shuts down the worker and spins a new one for a retry.
Additionally, it clears steps information for the test to be
ready for the new retry. Step S information is lost.
- Meanwhile, during worker teardown, the step S does
actually finish (usually with an error), and we send stepEnd for S.
- Dispatcher does not know what to do with step S end and
prints an internal error.
The fix is to ignore certain messages from the shutting down worker that failed.
2021-08-19 17:04:09 -07:00
Pavel Feldman
cad7fc2ef7
feat(proxy): support local.playwright for proxying ( #8330 )
2021-08-19 16:56:06 -07:00
Pavel Feldman
44887c237d
chore: reimplement socks to be readable ( #8315 )
2021-08-19 15:16:46 -07:00
Max Schmitt
96a9a26f9f
fix: strict mode on page.* methods on context level ( #8324 )
2021-08-19 23:08:28 +02:00
Yury Semikhatsky
356d69ae3f
test: make borwsercontext-proxy tests use test proxy server ( #8318 )
2021-08-19 13:34:32 -07:00
Max Schmitt
ddcdb6d413
chore(protocol): do client hello instead of server hello ( #8019 )
2021-08-19 17:31:14 +02:00
Yury Semikhatsky
c00db569e3
test: skip interception test in electron ( #8240 )
2021-08-19 16:44:13 +02:00
Yury Semikhatsky
d42169aba1
test: proxy server fixture, new test for https via http proxy ( #8299 )
2021-08-19 07:36:03 -07:00
Dmitry Gozman
f06e7b91fb
fix(tracing): serialize resource writes against trace export ( #8296 )
...
Inlining TraceSnapshotter makes it easier to serialize writes and removes no-op glue.
We also stop writing the same resource twice.
2021-08-19 07:26:24 -07:00
Pavel Feldman
4d7956c70b
chore: roll test runner to ToT ( #8291 )
2021-08-18 14:32:36 -07:00
Pavel Feldman
6ef76e333e
feat(strict): add context-level selector strictness ( #8290 )
2021-08-18 12:51:45 -07:00
Dmitry Gozman
8d81890e47
feat(codegen): support --save-trace option ( #8267 )
2021-08-18 07:27:45 -07:00
Pavel Feldman
710cec80a0
feat(test-runner): render step titles ( #8270 )
2021-08-17 16:41:36 -07:00
Pavel Feldman
97ba4f22f3
feat(test-runner): report nested steps ( #8266 )
2021-08-17 13:57:26 -07:00
Dmitry Gozman
99993e173b
fix(snapshots): account for malformed headers ( #8241 )
...
When browser receives multiple header values for the same header name,
we present them as LF-separated value. This is not considered valid in
Node, so we should split by LF when serving a snapshot.
There more invalid characters in headers, so just in case we try/catch it.
2021-08-16 17:40:46 -07:00
Dmitry Gozman
246495f705
fix(tracing): improve captureStackTrace ( #8236 )
...
- Simplify by only considering client/ vs non-client/
- Fix stack traces when calling from other playwright code, e.g. from the cli
- Account for re-entrant calls that happen when
instrumenting context creation/desctruction
- Add tests
- Fix StackTraceView on Windows
2021-08-16 17:06:38 -07:00
Dmitry Gozman
2aff06ec73
fix(test runner): make sure tracing is not running on non-retries ( #8232 )
...
When sharing a context between tests and using `'on-first-retry'` we
could end up with tracing still running in non-retried tests. That's
extra overhead without a reason.
2021-08-16 16:46:35 -07:00
Yury Semikhatsky
8cc4140933
fix: throw if intercepted response fails ( #8195 )
2021-08-16 16:40:47 -07:00
Ross Wollman
101662765c
api(cdp): newCDPSession accepts frames, too ( #8157 )
...
Without this, Playwright's CDP feature leaves unreachable
targets (namely OOPIFs).
This change allows for more advanced experimentation in user-land
without relying on out-of-band CDP connections and clients.
Now you can, for example, call `DOM.getDocument` on the
page OR main frame, observe there is an iframe node with
no `contentDocument` (i.e. OOPIF), make note of the referenced
`frameId`, and then iterate of page.frames() calling `Target.getInfo`
on each to link the Playwright Frame with the CDP `frameId` and
then recurse.
Relates #8113
2021-08-16 12:49:10 -07:00
Pavel Feldman
bdb772d710
fix(android): fix android tests ( #8209 )
2021-08-15 22:54:30 -07:00
Yury Semikhatsky
39f663834f
test: intercepted response status line ( #8189 )
2021-08-13 16:28:42 -07:00
Yury Semikhatsky
4705c90682
fix(firefox): fulfill response with empty body ( #8166 )
2021-08-12 11:00:20 -07:00
Andrey Lushnikov
45f51239a6
chore: roll TestRunner to tip-of-tree ( #8168 )
2021-08-12 10:03:23 -07:00
Andrey Lushnikov
04a37aea5e
test: fix electron tests ( #8169 )
2021-08-12 09:38:46 -07:00
Yury Semikhatsky
d0d6899822
test: download event for navigations that change into downloads ( #8167 )
2021-08-12 09:34:32 -07:00
Dmitry Gozman
d32d50a906
fix(test runner): make sure we always teardown all fixtures ( #8158 )
...
Even if one of the fixtures throws, we should teardown all of them
so that we can run afterAll hooks.
2021-08-12 09:08:56 -07:00
Pavel Feldman
d2d71c4cdb
fix(reporter): group fixture initialization under before hooks ( #8072 )
2021-08-12 07:58:00 -07:00
Dmitry Gozman
44cdda43fe
feat(test runner): show stdio for failures in terminal reporters ( #8150 )
2021-08-11 16:44:19 -07:00
Yury Semikhatsky
59df541de5
fix: fulfill intercepted response with empty body ( #8151 )
2021-08-11 14:47:05 -07:00
Yury Semikhatsky
1694b3e90c
feat(firefox): response interception after redirects ( #8148 )
2021-08-11 12:48:30 -07:00
Yury Semikhatsky
41770bf444
feat(webkit): response interception after redirects ( #8017 )
2021-08-11 11:14:50 -07:00
Pavel Feldman
1d4e2fe98c
feat(nth): make nth and visible selectors public ( #8142 )
2021-08-11 11:06:09 -07:00
Dmitry Gozman
052e0e197c
fix(types): allow specifying scope when overriding fixtures ( #8139 )
...
Otherwise it show a confusing error.
2021-08-11 10:44:15 -07:00
Yury Semikhatsky
e9e3349e2f
test: update sameSite cookie expectations on WebKit Win ( #8138 )
2021-08-11 10:27:41 -07:00
Dmitry Gozman
a5e0965087
feat(test runner): implement test.describe.serial ( #8132 )
2021-08-10 21:26:45 -07:00
Joel Einbinder
64da74fba8
feat(test-runner): allow non-ascii characters in the output dir path ( #8093 )
2021-08-10 21:24:35 -07:00
Pavel Feldman
21b510c6e7
chore(tracing): remove resource id ( #8131 )
2021-08-10 21:23:31 -07:00
Andrey Lushnikov
4975f4179e
feat: make React and Vue selectors experimental ( #8106 )
2021-08-10 17:21:16 -07:00
Andrey Lushnikov
792986c92d
feat: support props matching in react and vue selectors ( #8104 )
2021-08-10 17:10:14 -07:00
Dmitry Gozman
c9c1ea6546
fix(test runner): disallow use(workerFixture) in describes ( #8119 )
...
Using a worker fixture forces a new worker. This might be unexpected
when part of the test file runs in one worker, and another runs
in another worker. Top-level use of worker fixtures is still fine.
2021-08-10 16:32:32 -07:00
Dmitry Gozman
9d6c7cdf20
fix(test runner): ensure we run after hooks after failures ( #8102 )
2021-08-10 10:54:05 -07:00
Dmitry Gozman
2744cd6c9a
feat(test runner): remove createContext fixture ( #8109 )
...
We can now use `browser.newContext()` or `browser.newPage()` instead.
2021-08-10 09:26:36 -07:00
Yury Semikhatsky
75981bc0aa
fix(tests): do not throw if page did not produce video ( #8112 )
...
Fixes #8103
2021-08-10 01:24:14 -07:00
Dmitry Gozman
3bf3318350
fix(test runner): make sure options, trace and screenshot apply to all contexts ( #8083 )
...
- Uses some auto fixtures to set default options and instrumentation on BrowserType.
- Moves screenshot, trace and video to worker-scoped fixtures.
- Throws in page/context when used from beforeAll/afterAll.
- Plumbs around BrowserType to be accessible from Browser and BrowserContext.
2021-08-09 18:09:11 -07:00
Dmitry Gozman
e638c4597f
fix(test runner): do not swallow afterAll failure ( #8099 )
2021-08-09 14:21:53 -07:00
Andrey Lushnikov
29f7dfa3ee
feat(chromium): roll Chromium to M94 ( #8047 )
2021-08-09 13:57:17 -07:00
Dmitry Gozman
87548f94c1
feat(test runner): support test fixtures in beforeAll/afterAll ( #8082 )
...
Each hook gets its own test scope. This is not too useful for
object fixtures like `page` (although one can use a page in
`beforeAll` to save storage state), but much more useful for option
fixtures like `viewport`.
2021-08-09 13:26:33 -07:00
Dmitry Gozman
41949e559e
Revert "feat(test runner): file scope fixtures ( #7969 )" ( #8081 )
...
This reverts commit 1bbf86d060
,
leaving small improvements around.
2021-08-09 12:33:16 -07:00
Joel Einbinder
91394b257c
test(test-runner): add tests to show that grep is case insensitive ( #8091 )
2021-08-09 14:05:51 -04:00
Andrey Lushnikov
f455b6edc0
feat: introduce vue selector engine ( #8070 )
...
This patch adds support for the `vue` selector engine that allows
selecting DOM elements based on the component name.
> **NOTE**: `vue` engine supports Vue2 and Vue2.
References #7189
2021-08-09 01:34:52 -07:00
Pavel Feldman
290f601dae
feat(expect): introduce explicit default async expect timeout ( #8071 )
2021-08-07 22:08:56 -07:00
Andrey Lushnikov
f3ba2b54ff
feat: introduce react selectors ( #8069 )
...
This patch adds support for the `react` selector engine that allows
selecting DOM elements based on the component name.
> **NOTE**: in case of multi-root components (React.Fragment), `react`
engine will select all root DOM elements.
> **NOTE**: `react` engine supports react v15+.
References #7189
2021-08-07 16:51:39 -07:00
Pavel Feldman
40fb9d85e0
feat(test-result): render image diff ( #8061 )
2021-08-07 15:47:03 -07:00
Pavel Feldman
559d6242f0
chore: roll test runner to ToT ( #8063 )
2021-08-07 02:11:01 -07:00
Pavel Feldman
3424f59e67
chore(expect): polish matcher names, remote arguable ones ( #8060 )
2021-08-06 16:58:42 -07:00
Pavel Feldman
efb4af8489
chore: roll test runner to ToT ( #8025 )
2021-08-06 16:58:08 -07:00
Dmitry Gozman
5f297b6894
feat(junit reporter): add attachments to stdout ( #8059 )
...
`JUnitReporter` follows the common format for attachments in JUnit reports,
recognized by GitLab and Jenkins among others.
2021-08-06 15:47:54 -07:00
Pavel Feldman
2e63c59157
feat(trace-viewer): show remote object previews in console ( #8024 )
2021-08-06 11:37:36 -07:00
Dmitry Gozman
73b7230931
fix(trace viewer): render snapshots with correct viewport size ( #8020 )
2021-08-05 16:04:09 -07:00
Dmitry Gozman
d846c05619
fix(test runner): make obtainWorker() resolve with null when stopping ( #8018 )
...
This ensures that we properly exit from `Dispatcher.run()`, print
epilogue and set the right exit code.
2021-08-05 15:00:00 -07:00
Pavel Feldman
a8d404cd29
feat(test-runner): basic html reporter ( #7994 )
2021-08-05 13:36:47 -07:00
Max Schmitt
98f9f050a1
fix(isVisible): do not throw when element is not connected ( #8012 )
2021-08-05 21:10:33 +02:00
Yury Semikhatsky
7454647d8e
test: fix another EOL in expectations ( #8009 )
2021-08-05 08:59:48 -07:00
Yury Semikhatsky
28fb3c776a
feat: response interception after redirects in chromium ( #7910 )
2021-08-05 08:49:02 -07:00
Max Schmitt
611a8556c8
test: fix flaky locator-convenience test
2021-08-05 11:56:34 +02:00
Dmitry Gozman
9ab60f66bf
feat(tracing): allow calling tracing.start multiple times ( #7992 )
...
Subsequent invocations reset the trace. This removes the `tracing._reset` method.
Also fixed a bug where BASE element was not reset properly.
Also fixed a bug where tracing would affect the result of protocol call
by setting `callMetadata.error` property.
2021-08-04 21:11:35 -07:00
Dmitry Gozman
1bbf86d060
feat(test runner): file scope fixtures ( #7969 )
...
These are reset after running tests from a single file.
2021-08-04 21:11:02 -07:00
Max Schmitt
3e491114f2
test: fix some failing locators tests ( #7989 )
2021-08-04 23:36:27 +02:00
Yury Semikhatsky
8a7cfc08a6
test: use os-speific EOL sequence in test expectaions ( #7988 )
2021-08-04 20:54:52 +02:00
Max Schmitt
b88199d93e
test: fix locator-misc-1 tests on Android ( #7985 )
2021-08-04 20:11:17 +02:00
Max Schmitt
869f8d541b
chore: PlaywrightClient/Server enhancements ( #7980 )
...
- ensure timeout results in a meaningful message
- add onDisconnect handler
2021-08-04 19:45:33 +02:00
Pavel Feldman
542019f3a1
chore: roll test runner to ToT ( #7977 )
2021-08-03 22:19:27 -07:00
Dmitry Gozman
ea4f42b7ed
feat(report): add video to attachments ( #7976 )
2021-08-03 17:07:57 -07:00
Dmitry Gozman
3e05d8e9fa
feat(tracing): introduce _reset() and _export() ( #7974 )
...
`tracing._export({ path })` exports current tracing state into a file
and does not require tracing to be stopped.
`tracing._reset()` resets current tracing state, but keeps resources
around so they can be referenced in the future snapshots. Does not stop.
The usage pattern is:
```js
await tracing.start({ screenshots: true, snapshots: true });
// ...
await tracing._reset();
// Do stuff, it will all be in the export below.
await tracing._export({ path });
// ...
await tracing.stop();
```
2021-08-03 16:08:06 -07:00
Yury Semikhatsky
c08117d384
test: fulfilled intercepted response body ( #7975 )
2021-08-03 15:29:51 -07:00
Max Schmitt
385d489b35
feat(test-runner): re-enable web server ( #7906 )
...
Co-authored-by: Joel Einbinder <joel.einbinder@gmail.com>
2021-08-03 23:24:14 +02:00
Max Schmitt
2236d74f3f
chore: locator code style nits ( #7972 )
2021-08-03 13:32:39 -07:00
Dmitry Gozman
c406b23387
feat(tracing): do not store scripts in trace ( #7970 )
...
We do not need them for snapshots.
2021-08-03 13:05:58 -07:00
Joel Einbinder
4fabe5e6e4
feat(drag): sourcePosition and targetPosition ( #7803 )
2021-08-03 13:12:34 -04:00
Fabian Mendez
731f9453c5
feat(inputValue): implement inputValue for select elements ( #7951 )
2021-08-03 08:22:40 -07:00
Pavel Feldman
3b34e57ee4
feat(test-runner): introduce test.step ( #7956 )
2021-08-02 22:11:37 -07:00
Pavel Feldman
5803035c1b
feat(test-runner): introduce steps ( #7952 )
2021-08-02 17:17:20 -07:00
Pavel Feldman
af30d267b6
feat(test-runner): experiemental expect plumbing ( #7926 )
2021-07-30 16:07:02 -07:00
Dmitry Gozman
081b8683a3
feat(test runner): expect(locator) matchers to show a nice error on timeout ( #7935 )
2021-07-30 13:12:49 -07:00
Dmitry Gozman
5a3ebfc9f9
fix(test runner): dot reporter incorrectly splits by 80 ( #7925 )
2021-07-30 01:34:28 -07:00
Pavel Feldman
4163cec93b
feat(test-runner): introduce actionTimeout and navigationTimeout ( #7919 )
2021-07-29 21:03:50 -07:00
Dmitry Gozman
34c0c342fa
fix(test runner): make test order stable when fixtures are changing ( #7923 )
...
We used to sort based on workerHash, and that changes depending on
the exact worker fixtures list. Now we replace workerHash with
an ordinal when constructing the TestGroup list to preserve the
natural order.
2021-07-29 18:27:47 -07:00
Dmitry Gozman
40901e8b9a
feat(test runner): test.skip(title, testFunction) syntax ( #7922 )
2021-07-29 14:33:37 -07:00
Pavel Feldman
2c095294c5
feat(locators): introduce allTextContents, allInnerTexts ( #7920 )
2021-07-29 14:09:35 -07:00
Dmitry Gozman
dd0b089d13
feat(test runner): createContext fixture for multi-context scenarios ( #7779 )
2021-07-29 14:03:58 -07:00
Joel Einbinder
626dd23ce1
test(test-runner): unflake override-timeout.spec.ts ( #7869 )
2021-07-29 13:34:46 -07:00
Dmitry Gozman
82d2ec0b2d
test: unflake "max-failures should stop workers" ( #7918 )
2021-07-29 13:32:44 -07:00
Yury Semikhatsky
722f0606c4
feat(firefox): response interception ( #7510 )
2021-07-29 10:12:47 -07:00
Pavel Feldman
07c1c4bfb1
chore: roll test runner to tot ( #7912 )
2021-07-29 09:42:42 -07:00
Pavel Feldman
1807142eb7
feat(expect): even more matchers ( #7902 )
2021-07-29 07:33:19 -07:00
Pavel Feldman
b8cfce3b9d
chore: roll test runner to ToT ( #7896 )
2021-07-28 17:33:14 -07:00
Pavel Feldman
3187ffdebf
feat(expect): add more matchers ( #7891 )
2021-07-28 15:44:44 -07:00
Dmitry Gozman
3f0485486d
feat(test runner): show errors from interrupted tests when available ( #7874 )
...
This shows the exact operation that is timing out (like click) when
user hits Ctrl+C.
2021-07-28 15:43:37 -07:00
Pavel Feldman
49e9f8c15e
feat(expect): add text and true matchers ( #7873 )
2021-07-28 12:07:11 -07:00
Pavel Feldman
b8dc0b9156
feat(expect): implement toMatchText ( #7871 )
2021-07-27 20:26:12 -07:00
Pavel Feldman
cc43f9339f
feat(locators): implement last,nth ( #7870 )
2021-07-27 15:58:18 -07:00
Pavel Feldman
b9aad5eb86
chore: move locators to strict selectors ( #7866 )
2021-07-27 15:27:36 -07:00
Pavel Feldman
982f61d575
chore: BFS nodes, simplify querying ( #7861 )
2021-07-27 12:53:12 -07:00
Dmitry Gozman
da9b488d0d
fix(test-runner): sharding tests does not show a lot of skips ( #7708 )
2021-07-27 11:04:38 -07:00
Dmitry Gozman
cb978848d9
test(test runner): check custom reporter with .only tests ( #7862 )
2021-07-27 10:37:18 -07:00
Dmitry Gozman
cf886b3829
fix(test runner): align shard info to be one-based everywhere ( #7859 )
...
We used to treat shard from cli and shard from config differently.
2021-07-27 09:13:04 -07:00
Pavel Feldman
0a6ae11da1
feat(strict): introduce strict mode ( #7851 )
2021-07-26 22:00:23 -07:00
Pavel Feldman
7bdb901bb0
feat(webkit): roll WebKit to 1521 ( #7798 )
2021-07-23 09:13:57 -07:00
Dmitry Gozman
bf6482a58d
fix(test runner): do not override browserName when using without --browser ( #7806 )
2021-07-23 09:04:20 -07:00
Pavel Feldman
827fb80465
feat(locator): implement element locators ( #7808 )
2021-07-22 21:37:20 -07:00
Dmitry Gozman
03ebe21323
faet(test runner): help when describe() is misused ( #7753 )
2021-07-22 12:34:37 -07:00
Max Schmitt
acdc531efc
chore: migrate connect/overCDP to options instead of params ( #7606 )
2021-07-22 16:55:23 +02:00
Joel Einbinder
483b7d6a0d
feat(test-runner): mark launch as experimental ( #7757 )
2021-07-21 09:51:27 -05:00
Joel Einbinder
20ba7c3a96
feat(test-runner): use require.resolve for globalSetup and globalTeardown ( #7752 )
2021-07-20 15:13:40 -05:00
Joel Einbinder
051dc332a6
feat(test-runner): use require to resolve reporters ( #7749 )
2021-07-20 15:03:01 -05:00
Max Schmitt
c84c5c8c9b
fix(test-runner): do not list tests to stdout when JSON reporter is used ( #7730 )
2021-07-20 01:10:43 +02:00
Joel Einbinder
56ada374df
feat(dragAndDrop): page.dragAndDrop ( #6910 )
2021-07-19 12:42:55 -05:00
Joel Einbinder
0cf9cf0829
fix(test-runner): set expand: false for expect. ( #7722 )
2021-07-19 11:59:53 -05:00
Dmitry Gozman
642d6d4459
test: roll test-runner to 1.13.0-next-1626706866000 ( #7719 )
2021-07-19 09:10:34 -07:00
Max Schmitt
d5bb8a327b
test: fix CR proxy tests on Windows ( #7675 )
2021-07-19 17:50:14 +02:00
Max Schmitt
2ff25522cc
test: rework port forwarding server tests to launch server out of process ( #7693 )
2021-07-19 07:53:12 +02:00
Dmitry Gozman
66ea613c4d
feat(test-runner): small changes to Reporter api ( #7709 )
...
- `TestResult.startTime`
- `Suite.location` is optional now
- `Test.status()` renamed to `Test.outcome()` to differentiate against a
`Test.expectedStatus` and `TestResult.status` of the different type.
2021-07-18 17:40:59 -07:00
Dmitry Gozman
602d815981
fix(test-runner): list mode should print tests ( #7665 )
...
It was not doing anything before.
2021-07-16 22:34:55 -07:00
Dmitry Gozman
18be5f5319
feat(test-runner): suite per project ( #7688 )
...
This makes our suite structure the following:
```
Root(title='') > Project(title=projectName) > File(title=relativeFilePath) > ...suites > test
```
Removed `fullTitle()` because it is not used directly by anyone.
Default reporters now report each test as
```
[project-name] › relative/file/path.spec.ts:42:42 › suite subsuite test title
```
2021-07-16 15:23:50 -07:00
Pavel Feldman
bde764085c
feat(test-runner): introduce attachments ( #7685 )
2021-07-16 13:48:37 -07:00
Dmitry Gozman
31572fc372
chore(test-runner): misc changes to reporter api ( #7664 )
...
- `Location` with `file`, `line` and `column`.
- `fullTitle` does not include project name.
- `titlePath` method.
- All methods of `Reporter` are optional.
- Removed `Test.skipped` property that is superseeded by `Test.status()`.
- Replaced `Suite.findTest()` with `Suite.allTests()`.
- Removed `Test.suite` property.
2021-07-16 12:40:33 -07:00
Joel Einbinder
2f07846c9a
fix(webkit): proper value for event.buttons ( #7680 )
2021-07-16 13:06:00 -05:00
Dmitry Gozman
8b2dd2e3d1
chore(test-runner): remove the notion of Spec ( #7661 )
...
We now have Suites and Tests. When running multiple projects the whole
suite is cloned for each project. Same happens for repeatEach.
This simplifies the reporters API, but there is still room for improvement.
JSON reporter continues to produce old json output.
2021-07-15 22:02:10 -07:00
Max Schmitt
cf0fb33540
fix: add log entry if selector resolves to multiple elements on click ( #7623 )
2021-07-15 22:06:08 +02:00
Max Schmitt
1b92c674f9
feat: have up2date user-agents for WK and FF ( #7644 )
2021-07-15 17:41:23 +02:00
Pavel Feldman
ebaa2dd824
test(webkit): mark web socket over socks test as failing on Win ( #7631 )
2021-07-14 21:06:00 -07:00
Joel Einbinder
5389d507e7
test(webkit): disbale page-click-scroll test for WPE ( #7627 )
2021-07-14 20:52:04 -07:00
Pavel Feldman
3eb21e2322
feat(webkit): roll to r1515 ( #7625 )
2021-07-14 18:43:51 -07:00
Dmitry Gozman
bb34d7a953
fix(test-runner): sanitize snapshot name before constructing a path ( #7620 )
...
This avoids problems with `toMatchSnapshot('../../dir/file.png')`
where we append this path to `snapshotDir` and end up in some random
place.
Also added a note to documentation.
2021-07-14 16:31:19 -07:00
Max Schmitt
6cc2fe178e
feat(test-runner): migrate to launch config/server ( #7603 )
2021-07-15 01:19:45 +02:00
Max Schmitt
a26fe65db3
fix(test-runner): start webServer before globalSetup/teardown ( #7604 )
2021-07-14 19:01:46 +02:00
Dmitry Gozman
0742cb9076
chore: move working with browser channels to Registry Executables ( #7581 )
2021-07-13 19:03:49 -07:00
Dmitry Gozman
57c5e4d8cf
chore: replace Registry api with Executable list ( #7544 )
2021-07-13 15:57:40 -07:00
Max Schmitt
053d39cb19
test: add more baseURL tests for edge-cases ( #7586 )
2021-07-13 21:11:46 +02:00
Max Schmitt
767e22c6b2
fix(network): process last inserted routes first in request interception ( #7585 )
2021-07-13 20:22:01 +02:00
Yury Semikhatsky
ee0b16b087
test: MouseEvent.buttons for mouse move events (failing) ( #7577 )
2021-07-13 09:47:44 -07:00
Yury Semikhatsky
5d62d01450
fix(runner): mark tests skipped due to sharding in junit report ( #7578 )
2021-07-13 05:06:08 -07:00
Joel Einbinder
7ebbeea48d
test(drag): add high dpi drag test ( #7412 )
2021-07-12 17:20:08 -05:00
Joel Einbinder
eb31b9e4a9
feat(test-runner): support esm modules in more places ( #7542 )
2021-07-12 11:59:58 -05:00
Pavel Feldman
7fa67c9204
test: fix modernizer tests ( #7553 )
2021-07-12 08:35:59 -07:00
Yury Semikhatsky
869ef072e7
test: response interception after redirects (failing) ( #7534 )
2021-07-12 03:07:47 -07:00
Dmitry Gozman
65606c093a
chore: simplify Registry api ( #7451 )
2021-07-09 16:10:23 -07:00
Max Schmitt
894ff15e65
Revert "chore(eval): merge internal evaluate functions ( #7517 )" ( #7535 )
...
This reverts commit 7a5ef0d157
.
2021-07-09 16:19:42 +02:00
Joel Einbinder
7a5ef0d157
chore(eval): merge internal evaluate functions ( #7517 )
2021-07-08 23:55:01 -07:00
Max Schmitt
bc2f161a55
chore: roll test-runner to 1.13.0-next-1625774143000 ( #7519 )
2021-07-08 23:36:11 -07:00
Yury Semikhatsky
f5b552fde7
test(runner): new worker after test failure ( #7518 )
2021-07-08 23:30:15 -07:00
Dmitry Gozman
77deca1d6b
feat(test runner): export testInfo.data ( #7525 )
...
This is a key-value storage for any information that goes into the report.
Also export JSONReport types.
2021-07-08 17:16:36 -07:00
Max Schmitt
e604f185ca
fix(test-runner): with automatic fixtures workerInfo was undefined after conditional skip ( #7521 )
2021-07-08 21:55:43 +02:00
Yury Semikhatsky
b2742976a8
fix(runner): do not restart worker after skipping tests ( #7511 )
2021-07-08 09:36:28 -07:00
Max Schmitt
ae489b1c43
fix(test-runner): do not override error with unhandled error ( #7507 )
2021-07-08 18:24:07 +02:00
Max Schmitt
1cc2a2dc59
feat(har): add bodySize, transportSize, headersSize ( #7470 )
...
Co-authored-by: tnolet <tim@checklyhq.com>
2021-07-08 18:22:37 +02:00
Dmitry Zakharov
5464ad849e
fix(test-runner): handle negated toMatchSnapshot result ( #7345 )
2021-07-07 18:51:38 -07:00
Dmitry Gozman
2073193c36
fix(test runner): keep track of remaining tests on the runner side ( #7486 )
...
This fixes two issues:
- Sudden worker process exit is properly accounted for.
- We can stop() workers willy-nilly, e.g. after reaching maxFailures.
Details:
- DonePayload does not send `reamining` anymore, and worker does not track it.
- Instead, `Dispatcher._runJob` track remaining tests and acts accordingly.
- Upon worker exit, we emulate a fatal error for all remaining tests.
Drive-by:
- Do not report onTestBegin after reaching maxFailures to avoid confusion.
Before, we did report onTestBegin, but not onTestEnd.
- List reporter aligned between "running" and "finished" state - it was
one character misplaced.
- Added a SIGINT test.
2021-07-07 12:04:43 -07:00
Max Schmitt
98bcf26656
feat(test-runner): add webServer ( #7368 )
2021-07-07 20:19:42 +02:00
Max Schmitt
371aa3dab2
feat: add browser.newContext({ baseUrl }) ( #7409 )
2021-07-06 21:16:37 +02:00
Max Schmitt
b846ddda04
feat(download): introduce Download.cancel ( #7462 )
2021-07-06 09:38:50 +02:00
Yury Semikhatsky
02ff213d4d
feat(webkit): intercepted response body ( #7229 )
2021-07-05 00:27:14 -07:00
Pavel Feldman
f40611306e
test: add modernizr gtk/wpe diff ( #7454 )
2021-07-03 22:45:28 -07:00
Pavel Feldman
41a63a8825
test: add failing modernizr detection tests ( #7453 )
2021-07-03 19:18:21 -07:00
Pavel Feldman
f52a53e21e
feat(trace-viewer): add nicer params rendering ( #7448 )
2021-07-02 16:45:09 -07:00
Dmitry Gozman
444d1eb51a
feat(test runner): run modifier functions once if they do not depend on test fixtures ( #7436 )
2021-07-02 15:49:05 -07:00
Pavel Feldman
99d7d196c5
feat(trace-viewer): render call info w/ params, result ( #7438 )
2021-07-02 14:33:38 -07:00
Andrey Lushnikov
ec8d0629f3
feat: support msedge-beta channel ( #7442 )
...
Fixes #7232
2021-07-02 12:55:46 -07:00
Pavel Feldman
82b21e912e
feat(trace-viewer): add error links to actions ( #7434 )
2021-07-01 20:46:56 -07:00
Pavel Feldman
b9b0faf120
feat(trace-viewer): render console messages ( #7418 )
2021-07-01 14:31:20 -07:00
Pavel Feldman
b9d3cccac0
test(pageError): add a failing FF test for page error ( #7417 )
2021-07-01 13:23:23 -07:00
Max Schmitt
027fc4c0b4
chore: hide request interception for 1.13 ( #7425 )
2021-07-01 18:33:47 +02:00
Pavel Feldman
f43b4efbc9
fix(trace-viewer): include waitFor* in trace viewer ( #7413 )
2021-06-30 17:56:48 -07:00
Pavel Feldman
e9246089d5
test(trace-viewer): start adding tests ( #7393 )
2021-06-29 22:35:50 -07:00
Dmitry Gozman
fc0b8ad3f0
fix(tracing): record scroll position for all scrolled elements ( #7388 )
2021-06-29 16:20:15 -07:00
Joel Einbinder
7629587914
fix(test-runner): work with .mjs files ( #7373 )
2021-06-29 15:28:41 -07:00
Dmitry Gozman
6b3614fd4c
feat(test runner): support test.setTimeout for the whole block ( #7387 )
...
This enables `test.setTimeout()` outside of the test body, that
affects all tests in the block (either file or describe).
2021-06-29 13:33:13 -07:00
Joel Einbinder
368880962f
fix(test-runner): better test match glob ( #7382 )
2021-06-29 11:49:50 -07:00
Dmitry Gozman
6aefa02e91
feat(test runner): improve reporters api ( #7370 )
...
- onEnd may return a Promise
- onEnd now takes a result for the full run
- onTimeout is replaced with onEnd(result)
2021-06-29 10:55:46 -07:00
Dmitry Gozman
530523cb67
feat(setInputFiles): support label retargeting ( #7364 )
...
This way `page.setInputFiles('label')` works, similarly to other input actions.
2021-06-28 14:18:01 -07:00
Pavel Feldman
a8d48a1a48
chore: remove hard-coded wrapApi names ( #7347 )
2021-06-28 13:27:38 -07:00
Max Schmitt
0776cf76a2
feat(test-runner): do only allow unique spec titles per suite ( #7300 )
2021-06-28 22:13:35 +02:00
Max Schmitt
9f9201420a
fix(websockets): filter for text and binary frames ( #7360 )
2021-06-28 21:23:29 +02:00
Ronie Martinez
409aeaa443
feat(codegen): Add type annotations to Python output and make PEP8-compliant ( #7337 )
2021-06-26 13:11:32 -07:00
Pavel Feldman
02538fb587
fix(trace): account for last child node removal ( #7332 )
2021-06-25 18:52:36 -07:00
Pavel Feldman
ec47b03722
fix(trace): show interrupted actions in trace ( #7329 )
2021-06-25 17:14:19 -07:00
Max Schmitt
701624c484
chore: roll playwright-test to 1.13.0-next-1624575246000 ( #7291 )
2021-06-25 22:53:14 +02:00
Max Schmitt
4c6deaa449
test: added tests for WebSocket over Socks proxy ( #7235 )
2021-06-24 18:50:16 +02:00
Max Schmitt
bd86e70465
feat(test-runner): allow to focus a test in a location ( #7208 )
2021-06-24 10:02:34 +02:00
Pavel Feldman
5732307280
feat(inputValue): implement *.inputValue() ( #7285 )
2021-06-23 22:19:20 -07:00
Max Schmitt
b3cc683e6b
chore hide Download._cancel ( #7282 )
2021-06-23 23:20:36 +02:00
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×tamp=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×tamp=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×tamp=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