Commit graph

380 commits

Author SHA1 Message Date
Dmitry Gozman 22e4a0d580
fix(snapshots): --update-snapshots + retries should work (#9799) 2021-10-26 13:50:16 -07:00
Pavel Feldman 273122b761
chore: align internal test harness w/ @playwright/test (#9796) 2021-10-26 13:45:53 -07:00
Pavel Feldman 87c64b2c1c
chore: align client side instrumentations (#9771) 2021-10-26 11:13:35 -07:00
Pavel Feldman 5451808df1
chore: append sources to traces (#9736) 2021-10-25 18:56:57 -07:00
Dmitry Gozman 13ed1dee50
fix(test runner): do not mask uncaught error in beforeEach (#9764) 2021-10-25 14:17:27 -07:00
Pavel Feldman 2d4db7a6f0
fix(stack): hide test runner stack frames (#9735) 2021-10-25 11:49:59 -07:00
Dmitry Gozman 7527ad27d3
fix(snapshot): empty adopted stylesheet should not prevent node refs (#9731)
We never marked empty stylesheets as "stale", so we never computed
css text for them. This prevented node reuse, because empty string
is not equal to undefined.
2021-10-23 16:26:46 -07:00
Pavel Feldman f08c22b467
fix(trace-viewer): show source files in local version (#9732) 2021-10-23 11:23:39 -07:00
Pavel Feldman c890510d86
feat(traceviewer): show load progress (#9726) 2021-10-22 16:59:17 -07:00
Yury Semikhatsky d183d364a0
fix(fetch): remove content-length from redirected post requests (#9728) 2021-10-22 16:52:49 -07:00
Dmitry Gozman 23aa0be15b
docs: update afterEach docs with an example (#9727)
Also add a test for TestInfo.status in afterEach.
2021-10-22 16:32:22 -07:00
Pavel Feldman e2710451f3
fix(trace viewer): keep sw alive (#9725) 2021-10-22 15:14:58 -07:00
Joel Einbinder 940466f830
fix(npm): don't ship src in @playwright/test and ensure we ship cli.js in playwright-core 2021-10-22 16:15:57 -04:00
Joel Einbinder f2888395a6
fix: support even older node 12 (#9718) 2021-10-22 15:59:52 -04:00
Dmitry Gozman 193c79a685
feat(test runner): rewrite dispatcher to avoid unneded stalls (#9629)
In some circumstances, dispatcher was waiting for all exisitng jobs
to finish before scheduling a new one. This leads to unneded stalls.
Instead, we can schedule jobs right away, if we have a worker
available.
2021-10-22 11:10:37 -07:00
Max Schmitt e17dbe8d01
chore: pin expect package (#9713) 2021-10-22 08:07:33 -07:00
Pavel Feldman d1ae6fdfdd
feat(trace): add drop trace here label (#9698) 2021-10-22 08:00:34 -07:00
Max Schmitt 60939a91b2
devops: release create-playwright over publish infra (#9683) 2021-10-22 10:13:49 +02:00
Max Schmitt 94d1fcf835
chore: move create-playwright build to build.js infra (#9687)
Co-authored-by: Joel Einbinder <joel.einbinder@gmail.com>
2021-10-22 10:13:05 +02:00
Pavel Feldman ea7a294924
fix(trace-viewer): restore dragndrop (#9697) 2021-10-21 22:06:24 -07:00
Pavel Feldman 6a3e08d1ac
fix(reporter): fix locator stacks to hide internal detail (#9693) 2021-10-21 16:10:47 -07:00
Pavel Feldman 299dffbdb3
fix(expect): fix toHaveCount(0) (#9690) 2021-10-21 14:46:54 -07:00
Max Schmitt da464cfe0c
chore(create-playwright): fix CI (#9685) 2021-10-21 21:06:28 +02:00
Pavel Feldman c21d6b791c
chore: fix the route(times) to disable interception (#9671) 2021-10-21 11:23:49 -07:00
Max Schmitt dd5364e445
feat(create-playwright): add option to add examples (#8963) 2021-10-21 20:21:50 +02:00
Pavel Feldman f853176df3
fix(html): allow serving html report w/ traces off relative path (#9668)
Fixes #9652
2021-10-20 17:52:13 -07:00
Andrey Lushnikov 962525b592
fix(trace-viewer): do not show negative time in action duration (#9669) 2021-10-20 17:26:35 -07:00
Andrey Lushnikov a9bf96e1bd
fix(trace-viewer): fix action icons to be always visible (#9666) 2021-10-20 14:44:32 -07:00
Pavel Feldman 225145fc3e
fix(expect): do not fail on navigated frames while polling (#9659) 2021-10-20 13:01:05 -07:00
Pavel Feldman b6a9a8a34a
Revert "chore: print global errors when running html report (#9657)" (#9661)
This reverts commit 68c9fce507.
2021-10-20 12:51:12 -07:00
Andrey Lushnikov 6b1767efbb
chore: cut v1.16.0 branch (#9656) 2021-10-20 12:44:32 -07:00
Pavel Feldman 68c9fce507
chore: print global errors when running html report (#9657) 2021-10-20 11:57:21 -07:00
Pavel Feldman b3b5497578
chore(html): allow serving from a subfolder (#9653) 2021-10-20 10:35:49 -07:00
Dmitry Gozman fb421e0a65
feat(github reporter): update docs, strip ansi escapes (#9640) 2021-10-20 07:56:03 -07:00
Pavel Feldman 4423de9996
chore: speed up snippet generation 50 times (#9638) 2021-10-19 21:10:14 -07:00
Andrey Lushnikov 983cfde4d4
feat: introduce docker integration for Playwright Test (#9599) 2021-10-19 16:10:24 -07:00
Pavel Feldman ba57be99a9
fix(infobar): account for infobar in headed mode (#9627) 2021-10-19 15:36:17 -07:00
Pavel Feldman 9d03a85c30
chore: make web-first matchers work outside of pw tests (#9624) 2021-10-19 14:46:56 -07:00
Andrey Lushnikov c5359ff6c5
feat: introduce npx playwright install docker-image command (#9597)
This command pulls matching docker image for Playwright.
2021-10-19 12:30:32 -07:00
Joel Einbinder adb5aa4544
fix(monorepo): support yarn2/pnp by specifying all deps and bins (#9620) 2021-10-19 14:49:47 -04:00
Yury Semikhatsky 7e52357178
docs(fetch): ApiResponse -> APIResponse (#9623) 2021-10-19 11:17:23 -07:00
Yury Semikhatsky ade2171c4b
fix(docs): APIRequest* variable names (#9621) 2021-10-19 09:37:17 -07:00
Joel Einbinder 53c866c0f2
fix(monorepo): explicitly list package.json exports instead of using glob patterns (#9584) 2021-10-19 12:28:02 -04:00
Dmitry Gozman 6d554a5e30
feat(reporter): expose more apis (#9603) 2021-10-19 08:38:04 -07:00
Yury Semikhatsky 6d727401bf
chore(fetch): rename ApiRequest* to APIRequest* (#9606) 2021-10-19 07:38:27 -07:00
Pavel Feldman 56d8481b87
chore: render large trace link (#9608) 2021-10-19 00:36:21 -07:00
Pavel Feldman bccd4c8906
feat(api): expose step location UI (#9605) 2021-10-18 22:14:01 -07:00
Pavel Feldman c06a6e1f63
fix(html): always highlight error code (#9604) 2021-10-18 21:37:19 -07:00
Pavel Feldman e37660b068
feat(api): expose step location (#9602) 2021-10-18 21:06:18 -07:00
Dmitry Gozman 4977edcaf3
fix(tracing): fix inconsistent calls of tracing.{start,stop} in fixtures (#9594)
Drive-by: fix error logging.
2021-10-18 21:05:59 -07:00
Yury Semikhatsky 4f7d53ac66
fix(fetch): abort requests when context is disposed (#9601) 2021-10-18 19:41:56 -07:00
Pavel Feldman ff16ac0351
chore(html): html report polish (#9600) 2021-10-18 18:33:38 -07:00
Pavel Feldman bc0895ea6c
chore(html): use primer colors for report (#9596) 2021-10-18 14:12:56 -07:00
Pavel Feldman 99a2bd604d
chore: minor UI updates (#9590) 2021-10-18 13:34:02 -07:00
Yury Semikhatsky 909b039b9a
docs: note that setViewportSize changes screen size (#9588) 2021-10-18 13:01:04 -07:00
Yury Semikhatsky fd81982c33
fix(selectors): combine visible with other selectors (#9585) 2021-10-18 10:47:37 -07:00
Pavel Feldman f6a768b67b
chore: remove codicon from html report (#9583) 2021-10-18 09:30:23 -07:00
Pavel Feldman 432fb453e4
chore(html): only copy trace viewer for reports with traces (#9579) 2021-10-18 08:03:04 -07:00
Pavel Feldman 6afa85927e
chore(ui): redesign html report a bit (#9577) 2021-10-17 20:58:06 -07:00
github-actions[bot] f83199fb4a
feat(firefox): roll to r1297 (#9564)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-16 12:39:10 +02:00
Paul Biggar e473fc6a10
docs(test-runner): afterEach JSDoc description typo (#9542) 2021-10-16 12:36:07 +02:00
Feng Yu 0160c18f7a
docs: fix typo retried (#9562) 2021-10-15 19:24:03 -07:00
Pavel Feldman 99f3389b3b
feat(html): automatically use console reporter with html (#9559) 2021-10-15 19:18:56 -07:00
Yury Semikhatsky 3e054e9ad6
feat(webkit): bump to r1564 (#9557) 2021-10-15 17:22:41 -07:00
Yury Semikhatsky a186278f2e
fix(selectors): empty text matcher (#9548) 2021-10-15 17:00:45 -07:00
Pavel Feldman 811d02dbe8
feat(trace): add web manifest (#9482) 2021-10-15 16:33:09 -07:00
Pavel Feldman 9135847950
feat(ui): merge stdio in html report (#9560) 2021-10-15 16:15:06 -07:00
Pavel Feldman e31b96cc26
feat(tracing): make context.request appear in the trace (#9555) 2021-10-15 15:22:49 -07:00
Dmitry Gozman 4ce765c3ae
feat(trace): highlight targets for accessors and expects (#9527) 2021-10-15 15:07:15 -07:00
Max Schmitt 2d3d733af7
chore(codegen): use offsetX instead of clientX for positioned clicks (#9521) 2021-10-15 22:21:19 +02:00
Yury Semikhatsky 235cd10a43
fix(runner): clarify where test.use() can be called (#9486) 2021-10-15 12:03:26 -07:00
Andrey Lushnikov 7a187d9994
feat: support socks proxy in Fetch API (#9545) 2021-10-15 11:33:21 -07:00
Dmitry Gozman b383c6bf3c
fix: separate Selectors instance per Playwright object (#9529)
We used to share selectors for inprocess, remote and any internal playwright objects.
2021-10-15 09:21:56 -07:00
Pavel Feldman 458945821f
doc(html): document html reporter (#9528) 2021-10-15 08:15:30 -07:00
Max Schmitt 9031c4d2e4
chore(create-playwright): nits and cleanups (#9537) 2021-10-15 16:39:12 +02:00
Pavel Feldman 5ea4ec2f7a
feat(html): open show html report when there are failures (#9526) 2021-10-14 21:09:41 -07:00
Dmitry Gozman 7a68f2f661
chore: merge Connection.{close,didDisconnect} (#9524)
This simplifes cleanup logic.
Also markAsRemote() in gridClient.
2021-10-14 20:58:09 -07:00
Yury Semikhatsky 4680ef46de
docs: clarify default retry behavior (#9525) 2021-10-14 19:28:47 -07:00
Dmitry Gozman c711fb35ad
fix(expect): do not rely on displayName (#9523)
Support for displayName was removed in Node 16.
Switching to Function.name instead.

Relevant V8 change: https://chromium-review.googlesource.com/c/v8/v8/+/2692189
2021-10-14 19:23:45 -07:00
Pavel Feldman 7ee48febf9
chore: html report ui fixes (#9522) 2021-10-14 18:54:33 -07:00
Pavel Feldman 75cfe5d1f5
chore: start adding html runner e2e tests (#9518) 2021-10-14 15:48:05 -07:00
Maximilian Hils 84a70eae2f
Create userDataDir if it does not exist (#9483) 2021-10-14 11:19:52 -07:00
Pavel Feldman 584014f6fa
feat(html): unhide html reporter (#9512) 2021-10-14 11:17:35 -07:00
Dmitry Gozman 9dd17773e6
feat: mark PlaywrightClient's connection as remote (#9477)
This makes artifacts work as expected for all remote scenarios.
2021-10-14 10:41:03 -07:00
Dmitry Gozman bb013d14c0
docs: minor changes in apirequest (#9507) 2021-10-14 09:48:53 -07:00
Max Schmitt 96be17463e
feat(codgen): support positioned clicks in a canvas (#9503) 2021-10-14 17:37:29 +02:00
Max Schmitt d851f4d58b
Reland chore: update to webpack v5.58.2 (#9498)
* Revert "Revert "chore: update to webpack v5.58.2 (#9479)" (#9489)"

This reverts commit e5a3c9b907.

* Fix icons
2021-10-14 17:36:59 +02:00
Max Schmitt 1c7a7fcf23
fix: electron launcher (#9504)
Broken-since: #9446
2021-10-14 16:45:52 +02:00
Joel Einbinder c8f875a193
chore: move test runner types into the playwright test package (#9472)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-14 11:55:08 +02:00
Andrey Lushnikov 4fa6d1e723
feat(firefox): roll to r1296 (#9494) 2021-10-14 11:35:39 +02:00
Pavel Feldman bb77912aee
chore: don't include babel compiled files in webpack bundles (#9491) 2021-10-13 19:27:50 -07:00
github-actions[bot] c054d19a5d
feat(webkit): roll to r1562 (#9476)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-14 02:00:25 +02:00
Joel Einbinder 9d3513ab13
chore(create-playwright): some nits (#9133) 2021-10-13 17:33:44 -04:00
github-actions[bot] a885e95646
feat(firefox-beta): roll to r1293 (#9456) 2021-10-13 14:32:35 -07:00
Yury Semikhatsky e827bde1c2
fix(runner): skip global hooks in --list mode (#9480) 2021-10-13 14:18:15 -07:00
Joel Einbinder 2a0a44bc09
chore: move diff_match_patch into the test package (#9475) 2021-10-13 13:38:26 -07:00
Pavel Feldman cd99ad0da2
feat(trace): allow multiple traces in a single app, gc traces (#9478) 2021-10-13 13:31:54 -07:00
Pavel Feldman 8b1a887756
feat(html): link traces from html report (#9473) 2021-10-13 11:07:29 -07:00
Dmitry Gozman 64a3099655
chore(expect): simplify expect implementation (#9459) 2021-10-13 08:56:57 -07:00
Pavel Feldman cdfe075b2a
chore(traceviewer): drop intermediate iframe, add drop handler (#9455) 2021-10-12 21:21:06 -07:00
Pavel Feldman c0945d9d00
chore(trace): make trace viewer a pwa (#9438) 2021-10-12 14:42:50 -07:00
Max Schmitt bcfd47343c chore: fix package description after monorepo 2021-10-12 23:32:08 +02:00
Max Schmitt 34e933f474
fix(trace-viewer): show warning when opening an empty trace (#9449) 2021-10-12 20:11:57 +02:00
Yury Semikhatsky 82ff85b106
fix(matchers): make isNot required in protocol (#9436) 2021-10-12 09:01:46 -07:00
Max Schmitt ded1e718b5
types(test-runner): fix access worker fixtures in test.skip (#9447) 2021-10-12 17:44:00 +02:00
Max Schmitt 2210426a6b
chore(electron): show helpful error when no x11 server is available (#9446) 2021-10-12 17:42:39 +02:00
Pavel Feldman 9dfc0a3394
chore: make sw global in trace viewer (#9431) 2021-10-11 20:52:28 -07:00
Pavel Feldman 876e08315b
fix(expect): continue polling in array-based matchers, fix edge cases (#9430) 2021-10-11 14:01:09 -07:00
Max Schmitt b1160ec239
chore(test-runner): make outputDir based on cwd instead of testDir (#9360) 2021-10-11 22:24:46 +02:00
Joel Einbinder d34b53a0d7
feat(test runner): allow comparing binary files to strings (#9315)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-11 21:57:59 +02:00
Max Schmitt f0ff2a23d2
chore: add README's for packages (#9432) 2021-10-11 19:28:10 +02:00
Max Schmitt 9dd6bb8c6a Revert "feat(test-runner): allow parametrized tests that don't extend base (#9301)"
This reverts commit f63af830de.
2021-10-11 17:32:31 +02:00
github-actions[bot] 9e0ee0e37e
feat(chromium): roll to r930007 (#9428)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-11 17:02:46 +02:00
Joel Einbinder c89d5a50dd
chore: migrate to monorepo (#9421) 2021-10-11 16:52:17 +02:00
Max Schmitt 8bfd63e4ba
chore(create-playwright): have better config defaults (#9362) 2021-10-07 21:21:56 +02:00
Yevhen Laichenkov 19715300b3
fix(create-playwright): add extra -- for the debug script (#9257)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-04 10:55:29 +02:00
Max Schmitt cd22072685
chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
Max Schmitt c66d72bddb chore(create-playwright): upload alwas test-results/ to GHA
Fixes #9014
2021-09-22 16:41:44 +02:00
Max Schmitt 08544a88a1 chore(create-playwright): cut v0.1.7 release 2021-09-20 09:22:00 +02:00
Max Schmitt f68ae4a2e0
chore(create-playwright): enhance UX follow-ups and add more verbose Playwright Test config (#8942) 2021-09-15 22:07:50 +02:00
Max Schmitt 299a55c562
chore(create-playwright): UX follow-ups (#8897) 2021-09-14 13:14:43 +02:00
Max Schmitt 87c2b4b200
chore(create-playwright): roll to 0.1.5 (#8889) 2021-09-13 22:48:19 +02:00
Max Schmitt 5eca7aa1d9
feat: add create-playwright package (#8841) 2021-09-13 22:05:38 +02:00
Yury Semikhatsky 210ad72228
fix: remove node-fetch dependency, use custom fetch implementation (#8486) 2021-08-26 16:18:54 -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
Dmitry Gozman 2ac0c59156
feat(test-runner): rename Test to TestCase (#7725) 2021-07-19 14:54:18 -07:00
Dmitry Gozman 167db03f05
feat(test-runner): export reporter api as @playwright/test/reporter (#7692) 2021-07-16 21:15:03 -07:00
Dmitry Gozman 47885db116
chore: move install to Registry (#7433)
This is an effort to consolidate all handling of browser binaries in a single place.
2021-07-06 20:59:16 -07:00
Joel Einbinder 7629587914
fix(test-runner): work with .mjs files (#7373) 2021-06-29 15:28:41 -07:00
Joel Einbinder 0af1f4399d
fix(test-runner): fix default export breaking on installation tests (#7331) 2021-06-25 22:52:04 -07:00
Joel Einbinder 7caf05b24a
fix(playwright-test): have the proper default export (#7328)
There are 3 ways to import `@playwright/test` library in the modern Node.js ecosystem:
- Using `require`: works great, this patch doesn't change it
- Using `import` statement from `.mjs` file - we have wrong `default` for @playwright/test that should be a `test`. This is what test checks for
- Using `import test from '@playwright/test'` from `.ts` file - was broken because TypeScript thought it's a CJS module, whereas it's a ESM module in reality.

Also, typescript types import from `.d.ts` file was broken because we had no default export (`export *` syntax does not export default).
2021-06-25 15:29:22 -07:00
Pavel Feldman deec8a4adb
docs: make docs test-first (#7214) 2021-06-18 10:09:38 -07:00
Dmitry Gozman b625a04adc
types: move exported objects from index.d.ts to overrides.d.ts (#7152)
This way we generate these types right away, without duplicating them everywhere.
2021-06-15 15:06:18 -07:00
Andrey Lushnikov afa9d69b63
test: fix installation tests (#7069)
This was regressed by 3b1bae8a40
2021-06-11 13:56:41 +02: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
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 3de3a88930
feat(test): introduce npx playwright test (#6816) 2021-06-03 08:07:55 -07: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
Max Schmitt 79b244a2f4
chore: use bash instead of sh in code blocks (#6847) 2021-06-02 18:23:06 +02: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
Dmitry Gozman 24dca969b6
chore: remove electron/android from build_packages (#6827)
We do not update these packages anymore, and bundle the code in playwright.
2021-06-01 15:53:47 -07:00
Max Schmitt 9592486225
feat: use up2date Chromium user-agents for device descriptors (#6594) 2021-05-18 09:29:48 +02:00
Andrey Lushnikov eb7b4dea0d
tests: disable certain installation tests on Node v16 (#6544)
NPM7 that comes with Node v16 swallows output from installation
scripts, so certain tests don't work.
2021-05-12 13:11:59 -07:00
Max Schmitt e0aaef5eab
docs: get rid of dollar sign prefix in code snippets (#6494) 2021-05-11 20:47:48 +02:00
Max Schmitt a59a494e64
chore: drop support for Node.js 10 (#6371) 2021-04-30 07:49:10 -07:00
Max Schmitt 9cd89ae052
fix: host dependency validation (#6227) 2021-04-20 18:54:53 +02:00
Yury Semikhatsky e4ae6503d7
fix(inspector): fall back to custom executable path for UI (#6214) 2021-04-16 15:19:44 -07:00
Dmitry Gozman bd8433ba49
test: cleanup various testing env variables (#6155) 2021-04-09 07:59:09 -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