Jean-François Greffier
a15fe50e7b
feat(test runner): workers as percentage ( #17400 )
...
Allows to set workers as a percentage of logical CPUs, for example
"50%".
Examples :
```bash
npx playwright test --workers 3
npx playwright test --workers 50%
```
```js
const config: PlaywrightTestConfig = {
// ...
workers: '33%',
}
```
2022-09-21 11:17:36 -07:00
Pavel Feldman
854c783019
chore: project.id, configFile in reporter apis ( #17346 )
2022-09-14 14:56:28 -07:00
Andrey Lushnikov
4f11a4d5e7
feat(docker): use the __screenshots__
dir for snapshots by default ( #17311 )
...
This patch opts into the `__screnshots__` folder snapshot management
for docker.
With this patch, docker-originating snapshots will be stored in the
following folder:
```
{testDir}/__screenshots__/{projectName}/{testFilePath}/{snapshotName}
```
Where `{testFilePath}` is a test file path relative to `testDir`
Drive-by: introduce and document the `PLAYWRIGHT_DOCKER` environment
variable that enables docker integration.
2022-09-13 15:49:04 -07:00
Andrey Lushnikov
fafd9837ba
feat: introduce the --ignore-snapshots
option ( #17004 )
...
This patch introduces `--ignore-snapshots` Playwright Test CLI option,
and `ignoreSnapshots` configuration argument.
2022-09-01 05:34:36 -07:00
Max Schmitt
e344fe60e7
fix(pwt): compatibility in CWD with wrong casing ( #16636 )
2022-08-22 21:45:59 +02:00
Max Schmitt
7e2aec7454
chore: align more ESLint rules with VSCode formatting ( #16647 )
2022-08-18 20:12:33 +02:00
Dmitry Gozman
7a86e140f5
chore: remove TestProject.projectSetup ( #16321 )
...
There are better ideas to address this issue in more general manner.
2022-08-05 15:24:30 -07:00
Pavel Feldman
7645ac25a0
chore: watch mode straw man ( #16127 )
2022-08-04 08:09:54 -07:00
Pavel Feldman
de147fafba
chore: experimental project isolation mode ( #16081 )
2022-08-02 11:22:22 -07:00
Dmitry Gozman
3112edb4ca
feat(test runner): TestProject.projectSetup ( #16063 )
...
`projectSetup` is a project-scoped alternative to `globalSetup`.
It is only executed if at least one test from the project is scheduled to run.
2022-08-01 09:01:23 -07:00
Pavel Feldman
8c190c3e09
feat(testId): expose persistent test id ( #16003 )
2022-07-27 20:17:19 -07:00
Dmitry Gozman
6009804e0e
Revert "fix(test runner): ignore undefined values in fixtures definit…ions ( #15119 )" ( #15979 )
...
Revert "fix(test runner): ignore undefined values in fixtures definitions (#15119 )"
Revert commit d7b63fa0b45ab12e40d0018b0e6f796ecd2df4b7.
Add a test for the broken behavior.
2022-07-27 08:51:45 -07:00
Ross Wollman
799d4703bc
feature(test-runner): multiple web servers ( #15388 )
...
Fixes #8206 .
Since #8206 is a long-awaited (~ 1 year old), popular (~ 45 reactions, frequently requested in community channels, etc.), this PR aims to unblock folks.
Notably, we do not innovate on the `webServer` API, despite knowing we're not in love with it. We'll save the innovation for either Plugins or a new `LaunchConfigs` option. (We haven't yet arrived at a Plugin API we like, and instead of launching a new option guessing what the "better" launchConfig API would be, let's wait and see how folks use this new Array-variant of `webServer` which—despite its name—can be used for non-Web Server launches!
2022-07-07 15:27:21 -07:00
Dmitry Gozman
89c16cbc8b
feat(runner): anonymous describes ( #15424 )
...
Useful to set some options without coming up with an artificial name.
```js
test.describe(() => {
test.use({ colorScheme: 'dark' });
test('my test', () => {});
})
```
2022-07-06 13:54:11 -07:00
Dmitry Gozman
d7b63fa0b4
fix(test runner): ignore undefined values in fixtures definitions ( #15119 )
...
These mean "I don't want to specify this fixture/option"
instead of "I want the value of undefined", aligned with how TypeScript works.
We already do similar things in the config.
2022-06-27 11:31:41 -07:00
Pavel Feldman
88664c39c9
chore: remove esm error interception, it only confuses users ( #14829 )
2022-06-13 12:32:42 -07:00
Pavel Feldman
c4b003a29a
chore: don't mask ESM error ( #14628 )
2022-06-03 15:28:53 -07:00
Yury Semikhatsky
b164d82ba3
fix(runner): ignore .gitignore if testDir is explicitly configured ( #14430 )
...
If the tests are in an explicitly configured testDir (either at the global config level or per project) .gitignore filters are not applied.
Fixes #14381
2022-05-26 14:39:51 -07:00
Pavel Feldman
9440f52b88
feat(ct): support cra w/ .js ( #14326 )
2022-05-24 19:43:28 -07:00
Pavel Feldman
e9378ba5fc
chore: hide plugins again ( #14038 )
2022-05-09 10:06:13 -07:00
Pavel Feldman
1bbefce9af
Revert "chore: use plugins for component testing again ( #13977 )" ( #13998 )
...
This reverts commit a2f9f15e3e2419d24b8b1deb87d304c363f93435.
2022-05-06 12:02:07 -07:00
Pavel Feldman
a2f9f15e3e
chore: use plugins for component testing again ( #13977 )
2022-05-05 14:26:56 -07:00
Pavel Feldman
058f32caff
chore: fixtures-via-plugin implementation ( #13950 )
2022-05-05 10:14:00 -07:00
Pavel Feldman
29fd1d86df
chore: hide plugins for now ( #13908 )
2022-05-03 14:25:56 -07:00
Pavel Feldman
19ce4e3514
chore: refactor web server plugin to extract legacy ( #13904 )
2022-05-03 11:47:37 -07:00
Dmitry Gozman
ef32069299
chore: small test runner changes in preparation of global fixtures ( #13899 )
...
The main change is splitting up options from the config from other
fixtures to ensure unique location for them.
2022-05-03 15:19:27 +01:00
Dmitry Gozman
4f5fbea26f
chore: get rid of ProjectImpl ( #13894 )
2022-05-03 13:36:24 +01:00
Ross Wollman
3b3cad7d69
feat: rewrite gitCommitInfo plugin, drop GlobalInfo & attachments ( #13837 )
2022-05-02 16:28:14 -07:00
Dmitry Gozman
d87de8c52c
fix(test runner): restore --headed
flag ( #13872 )
2022-05-02 16:55:14 +01:00
Pavel Feldman
a1b10c3856
chore: try serializing the config instead of requiring it in the worker ( #13839 )
2022-04-29 16:05:08 -07:00
Pavel Feldman
46acf84c68
chore: pass config w/ cli overrides to plugins ( #13835 )
2022-04-29 13:32:39 -07:00
Pavel Feldman
18bff137ce
chore: remove default config from cli ( #13832 )
2022-04-28 16:49:36 -07:00
Ross Wollman
4984878411
fix: await plugin.configure ( #13834 )
2022-04-28 16:22:20 -07:00
Ross Wollman
f486ce8c06
feat(plugins): add webServer implementation ( #13779 )
2022-04-28 15:08:10 -07:00
Dmitry Gozman
3aba94dbef
chore: remove unnecessary types from overrides-test ( #13794 )
2022-04-27 16:14:37 +01:00
Pavel Feldman
5e51c17d41
chore: use plugin story for components ( #13717 )
2022-04-25 10:40:58 -07:00
Andrey Lushnikov
88a9262dbb
fix: resolve WebServer cwd dir wrt configDir ( #13626 )
...
Drive-by: speed-up webserver tests by not waiting 750ms to start it.
Fixes #13115
2022-04-19 07:45:36 -07:00
Dmitry Gozman
189a5fa0f8
chore: freez FullProject public type ( #13570 )
...
This is similar to FullConfig.
Properties `expect` and `fullyParallel` are not exposed.
2022-04-14 16:58:01 -07:00
Dmitry Gozman
c86c2e8762
feat: restore toHaveScreenshot as experimental feature ( #13549 )
...
- Restore docs.
- Make `TestConfig.expect` generated.
- Allow experimental properties with "e" marker: `- foo e<float>`.
2022-04-14 13:22:42 -07:00
Ross Wollman
1af32e400f
feat(test-runner): introduce GlobalInfo ( #13083 )
2022-04-08 13:22:14 -07:00
Pavel Feldman
40d5e3a3c9
chore: use utils via index export (3) ( #13403 )
2022-04-07 13:55:44 -07:00
Pavel Feldman
5ae2017a5b
chore: always import type ( #13365 )
2022-04-06 14:57:14 -07:00
Dmitry Gozman
e31a5b690a
chore: unrelease toHaveScreenshot and screenshotsDir ( #13304 )
2022-04-05 08:34:51 -07:00
Dmitry Gozman
a71c151438
chore: introduce FullProjectInternal ( #13301 )
...
This is similar to FullConfigInternal to put private stuff on.
2022-04-04 16:07:04 -07:00
Dmitry Gozman
f6936c0461
chore: move private fields to FullConfigInternal ( #13261 )
2022-04-01 18:32:34 -07:00
Ross Wollman
16efbdef98
chore: remove/rename FullConfig._attachments ( #13233 )
...
This was originally introduced in #12734 .
It will be replaced with GlobalInfo (#13083 ), but not before the 1.21
release.
2022-04-01 12:36:05 -07:00
Andrey Lushnikov
aa1daeba85
fix(html): put HTML report next to package.json
by default ( #13141 )
...
Fixes #12970
2022-03-29 14:19:31 -07:00
Ross Wollman
ae365dda3b
chore: remove internal dep on FullConfig ( #13074 )
...
Resolves #13058 .
This blocks adding #8206 since we don't want the new launch configs
publicly available on FullConfig.
2022-03-28 15:53:42 -07:00
Pavel Feldman
3f1cb7b8e6
chore: only restart esm on Node 16+ ( #12955 )
2022-03-25 08:44:42 -07:00
Andrey Lushnikov
e1700bd167
feat: use package.json
directory as a default for outputDir
( #12942 )
...
This patch:
- starts using directory of `package.json` to resolve default
output directory path
- starts using either `package.json` directory or configuration
directory to resolve all relative paths
References #12970
2022-03-23 16:05:49 -07:00