Commit graph

367 commits

Author SHA1 Message Date
Andrey Lushnikov 9b80546436
cherry-pick(release-1.14): support multiple roots in React and Vue selectors (#8364)
PR #8313 SHA 48e94c15c1

Fixes #8230
2021-08-23 04:40:45 -07:00
Pavel Feldman 7a720ce5bc cherry-pick(release-1.14): do not attach non-existent diff PR #8297 2021-08-20 13:42:21 -07:00
Pavel Feldman 8d77dcbb29 cherry-pick(release-1.14): group fixture initialization under before hooks PR #8072 2021-08-20 07:46:00 -07:00
Max Schmitt a83dad5909
fix: strict mode on page.* methods on context level (#8324) (#8325) 2021-08-19 23:36:21 +02:00
Dmitry Gozman e52abbcb06
cherry-pick(release-1.14): serialize resource writes against trace export (#8296) (#8317)
Inlining TraceSnapshotter makes it easier to serialize writes and removes no-op glue.
We also stop writing the same resource twice.
2021-08-19 11:40:08 -07:00
Dmitry Gozman 59d603daec
cherry-pick(release-1.14): make sure tracing is not running on non-retries (#8232) (#8288)
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-18 12:55:14 -07:00
Pavel Feldman fe02398d08 cherry-pick(release-1.14): add context-level selector strictness PR #8290 2021-08-18 12:52:58 -07:00
Pavel Feldman 965d8ea48b cherry-pick(release-1.14): render step titles PR #8270 2021-08-17 16:53:27 -07:00
Pavel Feldman 0bf59d2b35 cherry-pick(release-1.14): report nested steps PR #8266 2021-08-17 16:51:49 -07:00
Andrey Lushnikov b9a182314f
cherry-pick(release-1.14): show stdio for failures in terminal reporters (#8187)
PR #8150 SHA 44cdda43fe

Fixes #7900

Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2021-08-13 11:08:04 -07:00
Andrey Lushnikov cba2f05752
cherry-pick(release-1.14): make sure we always teardown all fixtures (#8171)
PR #8158 SHA d32d50a906

Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2021-08-12 10:31:05 -07:00
Andrey Lushnikov 4bdc06c212
cherry-pick(release-1.14): fix electron tests (#8170)
PR #8169
2021-08-12 10:21:49 -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