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