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
05382c997b
fix(test-runner): do only match JS/TS files when collecting ( #7014 )
2021-06-10 16:41:57 +02:00
Andrey Lushnikov
3c7d2aae6a
fix: add best-effort support for MacOS beta versions ( #7003 )
...
Similarly to how we provide best-effort support for non-LTS ubuntu
versions, this patch adds support for beta versions of MacOS releases.
2021-06-09 14:58:20 -07:00
Max Schmitt
178489d091
fix(test-runner): support passing slowMo option ( #6991 )
...
Fixes #6984
Reverts #6967
2021-06-09 14:02:05 -07:00
Pavel Feldman
19d69b792d
fix(tracing): do not merge srcset urls ( #6995 )
...
Fixes #6982
2021-06-09 12:05:21 -07:00
Joel Einbinder
6788b9cf8c
fix(@playwright/test): plumbing ( #6992 )
...
`npx playwright test` should find and forward to the @playwright/test package.
2021-06-09 11:18:32 -07:00
Pavel Feldman
521153844a
docs: fix the nunit example ( #6978 )
2021-06-08 19:14:18 -07:00
Dmitry Gozman
ff3f951dc8
fix(firefox): race between markAsError and Page.ready ( #6976 )
...
When new page turns into download, we can have `_markAsError` followed
by the `Page.ready` signal and report the page twice (as an error and
as a real page). This is flaky and depends on whether `Page.ready` is
fast enough before the page closes or not.
Exposed by the "should report new window downloads" test.
2021-06-08 17:28:24 -07:00
Dmitry Gozman
6eeafc171b
fix(chromium): fix a race when intialization does not finish before page close ( #6975 )
...
This is exposed by the flaky "should report new window downloads" test.
In this test a new page is created, initialized and closed before initialization
finishes. If `lifecycleEventsEnabled` fails with "Target closed error",
we correctly ignore the initialization failure, but a single usage of the
failed promise with `.then` fails anyway.
2021-06-08 17:28:16 -07:00
Pavel Feldman
021f51cc1f
feat(trace): add a trace option into the test runner ( #6961 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-06-08 11:22:07 -07:00
Joel Einbinder
93f6b57ca5
feat(playwright-test): scan the world ( #6935 )
...
Running `npx playwright test` results in a cryptic error message that says to check `--help` for more information.
I started to rewrite it, but I think instead it would be much nicer if we just treated `npx playwright test` as an alias for `npx playwright test -c .`. There is a comment in the code that worries this will be slow because it will scan the world. However we need to support this case anyway for the tests-next-to-code pattern.
It looks like this should be fast because we ignore node_modules/.gitignore entries. If this is still too slow we should make it faster. If we can't make it faster we should throw a more specific error telling the user how to make it faster.
2021-06-08 11:02:16 -07:00
Andrey Lushnikov
53d68bdb38
feat: firefox is stable by default ( #6953 )
...
This patch:
- rolls Firefox to v1269 which is now a firefox-stable build.
- introduces a new channel, `firefox-beta`, for our internal needs.
Fixes #6817
2021-06-08 09:34:17 -07:00
Andrey Lushnikov
55da16d8cd
Revert "feat: switch to the Firefox Stable equivalent by default ( #6926 )" ( #6947 )
...
This reverts commit a25b11659be8887b700311180fcd3653aa9e472b.
In a discussion with Dmitry Gozman we decided to revert this and instead
proceed with the following approach:
- rename `//browser_patches/firefox` to `//browser_patches/firefox-beta`
- rename `//browser_patches/firefox-stable` folder to
`//browser_patches/firefox`
In all of the folders, we will keep the `BUILD_NUMBER` original so that
it doesn't clash on the CDN.
2021-06-07 15:55:01 -07:00
Andrey Lushnikov
a1e8d2d531
feat: switch to the Firefox Stable equivalent by default ( #6926 )
...
This patch:
- starts downloading Firefox Stable equivalent by default
- starts running Firefox-Stable on our smoke tests (tests-1)
- starts running Firefox-Beta on our CQ1 tests (tests-2)
Note: there's a little confusion right now with browser names:
- `firefox-stable` - firefox-stable equivalent
- `firefox`- firefox-beta equivalent
I'll rename `firefox` to `firefox-beta` in a follow-up.
Fixes #6817
2021-06-07 15:00:23 -07:00
Andrey Lushnikov
d0eaec368b
chore: clarify that we download Playwright browser builds ( #6938 )
2021-06-07 14:16:42 -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
Andrey Lushnikov
cfd49b5c01
feat: support npx playwright install msedge ( #6861 )
2021-06-07 00:23:22 -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
Max Schmitt
ff3ad7a3d1
fix(android): to not call Browser.setDownloadBehavior ( #6913 )
2021-06-04 21:46:53 +02:00
Dmitry Gozman
233f1874da
feat(inspector): remove snapshots ( #6909 )
2021-06-04 10:47:19 -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
Dmitry Gozman
21b00d0bcc
test: roll to folio@0.4.0-alpha27 ( #6897 )
2021-06-03 22:06:59 -07:00
Dmitry Gozman
85786b1a11
feat(trace viewer): fix UI issues ( #6890 )
2021-06-03 21:52:29 -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
Max Schmitt
064150f8dd
chore: use fs.promises API instead of promisify ( #6871 )
2021-06-03 18:55:33 +02:00
Dmitry Gozman
3de3a88930
feat(test): introduce npx playwright test ( #6816 )
2021-06-03 08:07:55 -07: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
Max Schmitt
e91e49e533
feat(port-forwarding): add playwrightclient support ( #6786 )
2021-06-02 23:35:17 +02:00
Dmitry Gozman
33c2f6c31e
chore: do not bundle api.json and protocol.yml ( #6841 )
...
These are only needed for the driver, so bundle them
in the driver explicitly.
2021-06-02 14:01:05 -07: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
Andrey Lushnikov
17b6f06b98
feat: install media pack on windows with npx playwright install-deps ( #6836 )
...
Chromium on Windows requires Media Pack to be installed. This patch
moves media pack installation under the `npx playwright install-deps`
umbrella.
2021-06-02 10:47:10 -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
Yury Semikhatsky
f9c8b78c07
feat(webkit): bump to 1490 ( #6842 )
2021-06-02 09:08:55 -07:00
Andrey Lushnikov
919d258356
feat: support npx playwright install chrome ( #6835 )
...
This will install latest-and-greatest chrome stable.
2021-06-01 23:16:55 -07:00
Andrey Lushnikov
cb4adb1446
feat: install chrome-beta via cli ( #6831 )
...
This patch starts introduces `npx playwright install chrome-beta`
command and switches our Chrome Beta tests to it.
2021-06-01 18:26:12 -07:00
Andrey Lushnikov
3c3a7f9293
feat(chromium): roll Chromium to r888113 ( #6832 )
...
References #6818 , references #6390
2021-06-01 18:06:44 -07:00
Max Schmitt
d79110dcc1
fix(port-forwarding): close socket on unexpected payloads ( #6753 )
2021-06-01 23:13:23 +02:00
Max Schmitt
d21a72e7d5
chore: create new Playwright instance when launching server ( #6820 )
2021-06-01 21:21:24 +02:00
Joel Einbinder
2951f4b065
chore(evaluate): remove private _evaluateInUtility methods ( #6815 )
2021-06-01 08:36:16 -07:00
Pavel Feldman
9f3e66566b
fix(inspector): do not pause while recording ( #6604 )
2021-05-26 15:49:30 -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
Andrey Lushnikov
3aa1471489
chore: better logging for Windows CrashPad problem ( #6758 )
...
References #6123
2021-05-26 10:49:38 -07:00
Max Schmitt
1d0cdb352d
chore(chromium): disable GlobalMediaControls feature ( #6754 )
2021-05-26 18:47:00 +02:00
Max Schmitt
1778e117f7
fix(port-forwarding): on WebKit Win ( #6745 )
2021-05-26 16:51:55 +02:00
Max Schmitt
59d591bce6
chore(port-forwarding): validate forwarded ports on the client side ( #6756 )
2021-05-26 16:51:38 +02:00
Pavel Feldman
f7f08c9c02
api(dotnet): normalize enums, remove browser channel enum ( #6738 )
2021-05-25 14:33:27 -07: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
Anže Vodovnik
01d8f87923
chore(CLI): let other langs specify exec name ( #6719 )
2021-05-25 16:49:24 +02:00
Max Schmitt
39a8abd9ab
fix(install): prevent new-lines on CI/without TTY ( #6703 )
2021-05-25 07:10:45 +02: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
Andrey Lushnikov
d1d49b3412
feat(chromium): roll Chromium to r884693 ( #6686 )
2021-05-21 11:05:44 -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
Max Schmitt
88591d49eb
feat(firefox): roll to 1265 ( #6678 )
2021-05-20 08:06:05 -07:00
Max Schmitt
bae579440c
feat(webkit): roll to 1482 ( #6676 )
2021-05-20 09:27:31 +02:00
Yury Semikhatsky
2ef47b95f2
fix: wait for video to finish when persistent context closes ( #6664 )
2021-05-19 16:26:10 -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
Yury Semikhatsky
475a417dfc
fix: compute payload mime type on server ( #6647 )
2021-05-18 18:30:20 -07:00
Andrey Lushnikov
33a505b1e5
chore: add logging for installation steps ( #6565 )
...
This patch:
- adds debug logging
- sets up our workflows to use `DEBUG=pw:install` on CI
2021-05-18 17:38:02 -07:00
Andrey Lushnikov
dc4f37c923
feat(chromium): roll Chromium to r879910 ( #6635 )
2021-05-18 17:36:50 -07:00
Yury Semikhatsky
345f7da573
fix(codegen): move injected recorder scripts to utility world ( #6187 )
2021-05-18 09:40:24 -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
Yury Semikhatsky
c4b7818379
feat(webkit): bindings in util world ( #6592 )
2021-05-17 11:32:29 -07:00
Yury Semikhatsky
be8d836443
feat(webkit): bump to 1480 ( #6605 )
2021-05-17 09:38:04 -07:00
Pavel Feldman
d7c6720ce7
chore: include context options into the trace ( #6572 )
2021-05-13 22:36:34 -07:00
Pavel Feldman
7b844c5fab
chore(tracing): simplify resource treatment ( #6571 )
2021-05-13 20:41:32 -07:00
Joel Einbinder
9b0aeeffae
fix(install-deps): install deps on mint ( #6569 )
2021-05-13 20:13:11 -07:00
Pavel Feldman
0678f48289
chore(tracing): trim network urls for readability ( #6566 )
2021-05-13 16:07:38 -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
Pavel Feldman
17e9dd95f7
feat(trace): support loading trace from zip ( #6551 )
2021-05-12 21:31:34 -07:00
Pavel Feldman
a7ea00d02e
chore: show preview for page under cursor ( #6548 )
2021-05-12 20:54:17 -07:00
Pavel Feldman
cc43b0d23f
chore: remove storybook ( #6549 )
2021-05-12 19:55:49 -07:00
Pavel Feldman
1a39843df5
docs: follow up on adding trace dir, unify launch options ( #6545 )
2021-05-12 16:16:36 -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
Yury Semikhatsky
ab55918979
feat(firefox): bump to 1259 ( #6510 )
2021-05-12 09:03:15 -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