Yury Semikhatsky
0037acffc6
cherry-pick(1.19): open all test traces in one viewer ( #12142 ) ( #12163 )
2022-02-16 09:56:13 -08:00
Andrey Lushnikov
d22bde13c4
chore: mark v1.19.1 ( #12132 )
2022-02-15 13:25:32 -08:00
Andrey Lushnikov
e57b4b5073
cherry-pick( #12070 ): fix: propagate exit code in experimental mode ( #12133 )
...
SHA: 5db7ce5964
In experimental ESM mode a child process is forked in order to run the tests. Currently the exit code of this child process is not propagated to the exit code of the parent process, which means that the process exits with a status code of `0` even if some of the tests failed.
This makes it difficult to use Playwright in CI in experimental mode, as the CI pipeline as a whole will pass despite the test failures.
This change addresses this by propagating the exit code in the case where it is non-zero.
Co-authored-by: pierscowburn <me@pierscowburn.com>
2022-02-15 13:25:14 -08:00
Andrey Lushnikov
46aeb8fe3d
cherry-pick( #12124 ):fix(docker): add missing dependency to the docker 1.19 ( #12127 )
...
SHA: e6d79a4f10
The `libxtst6` is required in both amd64 and arm64.
Fixes #12075
2022-02-15 12:49:33 -08:00
Yury Semikhatsky
d8bc6dbeea
cherry-pick(1.19): always return non-empty body regardless of request method ( #12102 ) ( #12121 )
2022-02-15 11:24:15 -08:00
Andrey Lushnikov
241add240c
cherry-pick( #12025 ): chore(dotnet): do not use global CLI and use ps1 instead ( #12047 )
...
SHA: 7e7996a7b7
Fixes https://github.com/microsoft/playwright-dotnet/issues/2005
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-02-11 11:29:04 -08:00
Andrey Lushnikov
aafaa2b9ed
chore: mark v1.19.0 ( #11981 )
2022-02-11 09:42:54 -08:00
Dmitry Gozman
ca116db2cb
cherry-pick( #12016 ): fix(reporters): correctly handle missing stdout.columns ( #12033 )
...
When columns are not available, do not trim the output.
2022-02-11 08:58:13 -08:00
Pavel Feldman
8a52c3ca76
cherry-pick( #12022 ): chore: don't close page in generated test
2022-02-11 08:12:54 -08:00
Pavel Feldman
73d78f5988
cherry-pick( #12020 ): chore: headless mode for codegen
2022-02-10 21:24:22 -08:00
Pavel Feldman
55be85284c
cherry-pick( #12012 ): fix(teardown): await teardown in failed test runs
2022-02-10 12:47:06 -08:00
Pavel Feldman
35f921e7aa
cherry-pick( #12004 ): chore: revert "fix(test-runner): escape backslashes in win cli"
2022-02-10 08:55:56 -08:00
Andrey Lushnikov
786bb337f0
cherry-pick( #11991 ): fix(mac): avoid printing empty line to stderr on mac ( #11993 )
...
SHA: 1f6b84f445
It turns out, `sw_vers` prints an empty stderr line and we inherit it.
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2022-02-09 15:38:30 -08:00
Andrey Lushnikov
8f1f97f508
cherry-pick( #11984 ): fix(test-runner): fix browser initialization in test modifiers ( #11992 )
...
SHA: 6904b3294e
Fixes #11985
2022-02-09 15:35:36 -08:00
Andrey Lushnikov
4959558527
cherry-pick( #11973 ): fix: proper chrome-beta channel installation on MacOS ( #11978 )
...
SHA: 1e1a6acaf7
chrome-beta installation on MacOS should download universal binaries.
The old download URL for chrome-beta was downloading Chrome Beta M96
2022-02-09 11:40:41 -08:00
Yury Semikhatsky
eaeb7de95a
cherry-pick( #11954 ): respect tracing config for APIRequestContext ( #11976 )
...
706c897031
Fixes #10585
2022-02-09 11:31:10 -08:00
Pavel Feldman
72a767fd4d
cherry-pick( #11953 ): feat(debug): allow preprocessing JS scripts as well
2022-02-09 10:23:00 -08:00
Dmitry Gozman
e92caf01b3
fix(webServer): do not set baseURL equal to webServer.url ( #11951 )
2022-02-08 15:57:36 -08:00
Pavel Feldman
8dff2e35c8
chore: don't throw on no testDir ( #11950 )
2022-02-08 15:27:05 -08:00
Pavel Feldman
d5158e8d24
chore: revert source-map-support to 0.4.18 ( #11945 )
2022-02-08 14:50:20 -08:00
Pavel Feldman
4bcca2c87e
chore: add a parallel mode note ( #11943 )
2022-02-08 14:36:14 -08:00
Pavel Feldman
9ce8572c78
chore: don't run debugger on pause() ( #11948 )
2022-02-08 14:24:13 -08:00
Yury Semikhatsky
985f932033
chore(trace-viewer): introduce MultiTraceModel ( #11922 )
2022-02-08 12:27:29 -08:00
Pavel Feldman
1b3c7c03b6
chore: fix(stack): ignore stack frames inside whole core ( #11935 )
2022-02-08 10:33:50 -08:00
Pavel Feldman
9f35a97a55
chore(chrome): tolerate unknown target types ( #11936 )
2022-02-08 09:46:05 -08:00
Dmitry Gozman
8a5c93436d
fix(reporter): do not report parallel tests as slow ( #11921 )
2022-02-07 20:10:13 -08:00
Pavel Feldman
dbd124d84b
chore: disable page.pause() when JS debugger is attached ( #11926 )
2022-02-07 19:21:58 -08:00
Dmitry Gozman
7912c515a3
fix(fixtures): account for default options being undefined ( #11916 )
2022-02-07 17:11:36 -08:00
Yury Semikhatsky
1e00218ead
feat(tracing): suport loading multiple files in trace viewer ( #11880 )
2022-02-07 17:05:42 -08:00
Pavel Feldman
9116adc684
chore: allow opt-into the legacy global setup mode ( #11888 )
2022-02-07 10:41:56 -08:00
Pavel Feldman
c3c99a5f66
chore: shift left the inspector window.
2022-02-07 10:41:33 -08:00
Dmitry Gozman
f82e09be04
feat(codegen): generate locators and frame locators ( #11873 )
2022-02-04 19:27:45 -08:00
Yury Semikhatsky
46dfa45b4e
docs: fix parallel test docs build ( #11877 )
2022-02-04 16:44:04 -08:00
Yury Semikhatsky
afc4b505aa
docs: fix duplicate sections ( #11874 )
2022-02-04 13:50:46 -08:00
Dmitry Gozman
c45dacc834
feat(codegen): make selector generator strict ( #11856 )
...
This is required to migrate to locators.
2022-02-04 07:34:23 -08:00
Andrey Lushnikov
547a32885b
feat: hide blinking cursor when making screenshots ( #11854 )
...
References #9938
2022-02-03 21:44:23 -08:00
Dmitry Gozman
d9a8bb057d
fix(test-fail): allow unhandled expects in test.fail ( #11850 )
...
Previously, we would consider this a worker error, but
we make an exception for "expect()" calls.
2022-02-03 17:14:12 -08:00
Pavel Feldman
72424dc904
chore: allow setting reporter via env ( #11848 )
2022-02-03 16:10:39 -08:00
github-actions[bot]
f96b1dd43b
feat(webkit): roll to r1609 ( #11824 )
2022-02-03 08:20:39 -08:00
Pavel Feldman
1215057ca1
chore: use ipc transport for out-of-process driver ( #11826 )
2022-02-02 21:26:45 -08:00
Pavel Feldman
fdda759a9d
feat(parallel): allow setting enclosing scope parallel mode ( #11822 )
2022-02-02 20:44:11 -08:00
Andrey Lushnikov
ba0c7e679b
feat(test-runner): support expect.soft ( #11800 )
...
Soft expects will still fail the test, but will not abort it's execution. As a consequence of this:
- `TestResult` now might have multiple errors, which is reflected with a new `testResult.erros: TestError[]` field.
- `TestInfo` now might have multiple errors as well, which is reflected with a new `testInfo.errors: TestError[]` field.
Fixes #7819
2022-02-02 18:33:51 -08:00
Dmitry Gozman
f587a43932
feat(locator): "has" option ( #11411 )
...
This introduces `locator('div', { has: locator })` syntax that matches elements containing other elements.
Can be used together with `hasText`.
Internally, has selector engine takes an inner selector escaped with double-quotes:
`div >> has="li >> span >> text=Foo" >> span`.
2022-02-02 16:55:50 -08:00
github-actions[bot]
fba523a9d0
feat(chromium): roll to r965416 ( #11802 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-02-02 11:39:10 +01:00
Max Schmitt
c752b28516
chore: pin production dependencies ( #11793 )
2022-02-02 11:14:41 +01:00
Andrey Lushnikov
b0daa7754f
feat: filter stack traces to exclude test runner frames ( #11795 )
...
Before:
```bash
Running 1 test using 1 worker
1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
Error: expect(received).toBe(expected) // Object.is equality
Expected: 2
Received: 1
2 |
3 | test('should work', async({page}) => {
> 4 | expect(1).toBe(2);
| ^
5 | });
6 |
at Proxy.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/expect.ts:151:30)
at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
at /Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:335:13
at runNextTicks (node:internal/process/task_queues:61:5)
at processImmediate (node:internal/timers:437:9)
at TestInfoImpl._runFn (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:164:7)
at WorkerRunner._runTestWithBeforeHooks (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:317:24)
at TimeoutRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-core/src/utils/async.ts:48:14)
at TestInfoImpl._runWithTimeout (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:151:7)
at WorkerRunner._runTestOrAllHook (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:276:5)
at WorkerRunner._runSuite (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:190:11)
at WorkerRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:137:9)
at process.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/worker.ts:87:5)
```
after:
```
Running 1 test using 1 worker
1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
Error: expect(received).toBe(expected) // Object.is equality
Expected: 2
Received: 1
2 |
3 | test('should work', async({page}) => {
> 4 | expect(1).toBe(2);
| ^
5 | });
6 |
at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
```
2022-02-01 18:40:44 -08:00
Pavel Feldman
ceb3027bdf
chore(test-runner): force colors in worker processes ( #11799 )
2022-02-01 17:29:15 -08:00
Pavel Feldman
6e2fcc4700
chore: do not expose suite load error ( #11797 )
2022-02-01 15:34:16 -08:00
Yury Semikhatsky
e7bd62f202
docs(electron): minimal version ( #11792 )
2022-02-01 14:45:30 -08:00
Pavel Feldman
f875ebe730
fix(test-runner): respect source maps when reporting test files ( #11770 )
2022-02-01 13:04:54 -08:00