creevey 0.10.0-beta.32 → 0.10.0-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,5 @@
1
1
  [<img width="274" alt="Creevey" src="https://user-images.githubusercontent.com/4607770/220418756-89cf4f54-ccb7-4086-a74c-a044ea1d2a61.png">](https://harrypotter.fandom.com/wiki/Colin_Creevey)
2
2
 
3
- **IMPORTANT** _Looking for any help with maintaining_
4
-
5
3
  Cross-browser screenshot testing tool for [Storybook](https://storybook.js.org/) with fancy UI Runner.
6
4
 
7
5
  [![Creevey downloads](https://img.shields.io/npm/dt/creevey)](https://www.npmjs.com/package/creevey)
@@ -28,19 +26,20 @@ It named after [Colin Creevey](https://harrypotter.fandom.com/wiki/Colin_Creevey
28
26
  - [Pre-requisites](#pre-requisites)
29
27
  - [How to Start](#how-to-start)
30
28
  - [Comparison with other tools](#comparison-with-other-tools)
31
- - [Config/Options](docs/config.md)
32
- - [Examples](https://github.com/wKich/creevey-examples)
33
- - Advanced usage
34
- - [Write tests](docs/tests.md)
35
- - [Use your Selenium Grid (LambdaTest/BrowserStack/SauceLabs/etc)](docs/grid.md)
29
+ - [Config](docs/config.md)
30
+ - [CLI commands](docs/cli.md)
31
+ - [Storybook parameters](docs/storybook.md)
32
+ - [Write interactive tests](docs/tests.md)
33
+ - [Use your Selenium Grid (LambdaTest/BrowserStack/SauceLabs/etc)](docs/grid.md)
36
34
  - [Future plans](#future-plans)
37
35
  - [Known issues](#known-issues)
38
36
  - [Used by](#used-by)
39
37
 
40
38
  ## Pre-requisites
41
39
 
42
- - Make sure you have installed [Docker](https://www.docker.com/products/docker-desktop). But if you going to use your own separate Selenium Grid, you don't need `Docker`.
43
- - Supported Storybook versions: `^6.4.0`.
40
+ - Make sure you have installed [Docker](https://www.docker.com/products/docker-desktop). If you are going to use Selenium Grid or run screenshot tests exclusively in CI you don't need Docker in that case.
41
+ - Supported Storybook versions: >= 7.x.x
42
+ - Supported Node.js versions: >= 18.x.x
44
43
 
45
44
  ## How to start
46
45
 
@@ -53,44 +52,38 @@ yarn add -D creevey
53
52
  - Add addon `creevey` into your storybook config
54
53
 
55
54
  ```js
56
- // .storybook/main.js
57
- module.exports = {
58
- stories: [
59
- /* ... */
60
- ],
55
+ // .storybook/main.ts
56
+ const config: StorybookConfig = {
57
+ stories: [ /* ... */ ],
61
58
  addons: [
62
59
  /* ... */
63
60
  'creevey',
64
61
  ],
65
62
  };
63
+
64
+ export default config;
66
65
  ```
67
66
 
68
- - Start storybook and then start Creevey UI Runner in separate terminal. (To start tests from CLI, run Creevey without `--ui` flag)
67
+ - Start Creevey UI Runner, which starts Storybook automatically. (To start tests from CLI, run Creevey without `--ui` flag)
69
68
 
70
69
  ```bash
71
- yarn start-storybook -p 6006
72
- yarn creevey --ui
70
+ yarn creevey -s --ui
73
71
  ```
74
72
 
75
- And that's it.
73
+ - Open [http://localhost:3000](http://localhost:3000) in your browser. And that's it.
76
74
 
77
- **NOTE:** In first run you may noticed, that all your tests are failing, it because you don't have source screenshot images yet. If you think, that all images are acceptable, you may approve them all in one command `yarn creevey --update`.
75
+ **NOTE:** In first run you may noticed, that all your tests are failing, it because you don't have source screenshot images yet. If you think, that all images are acceptable, you can approve them all from UI.
78
76
 
79
77
  **NOTE:** Creevey captures screenshot of the `#storybook-root` element and sometimes you need to capture a whole browser viewport. To achieve this you could define `captureElement` Creevey parameter for story or kind. Or you may pass any different css selector.
80
78
 
81
79
  ```tsx
82
80
  // stories/MyModal.stories.tsx
83
-
84
- // NOTE: Define parameter for all stories
85
81
  export default {
86
82
  title: 'MyModal',
87
- parameters: { creevey: { captureElement: null } },
83
+ component: MyModal,
88
84
  };
89
85
 
90
- // NOTE: Or define it for specific one
91
-
92
- export const MyModalStory = () => <MyModal />;
93
- MyModalStory.parameters = { creevey: { captureElement: null } };
86
+ export const MyModalStory = { creevey: { captureElement: null } };
94
87
  ```
95
88
 
96
89
  ## Comparison with other tools
@@ -109,19 +102,11 @@ MyModalStory.parameters = { creevey: { captureElement: null } };
109
102
 
110
103
  ## Future plans
111
104
 
112
- - Allow use different webdrivers not only `selenium`, but also `puppeteer` or `playwright`.
113
- - Add ability to ignore elements.
114
105
  - Allow to define different viewport sizes for specific stories or capture story with different args.
115
106
  - And more, check [TODO](TODO.md) for more details. Also feel free to ask about feature that you want
116
107
 
117
108
  ## Known issues
118
109
 
119
- ### Creevey is trying to build storybook but fail or tests don't work
120
-
121
- This might happens because Creevey patches storybook webpack config and build nodejs bundle with stories meta information. And in some cases Creevey couldn't properly remove all unnecessary code cause of side-effects in stories files or you create stories dynamically. Try to rewrite such places. If it still doesn't help, [send to me](mailto:creevey@kich.dev) bundle that Creevey created (it located in `node_modules/creevey/.cache/creevey/storybook/main.js`)
122
-
123
- A little bit later I'll add possibility to run tests without building that bundle, so it fixes this issue.
124
-
125
110
  ### Docker-in-Docker
126
111
 
127
112
  Currently it's not possible to run Creevey in this configuration. I'll fix this in later versions.
@@ -138,13 +123,6 @@ This cause to flaky screenshots. Possible solutions:
138
123
  - Replace border to box-shadow `border: 1px solid red` -> `box-shadow: 0 0 0 1px red`
139
124
  - Set max retries to more than 5
140
125
 
141
- ### You can't directly import `selenium-webdriver` package in story file
142
-
143
- Because tests defined in story parameters and `selenium-webdriver` depends on nodejs builtin packages. Storybook may fail to build browser bundle. To avoid import use these workarounds:
144
-
145
- - `.findElement(By.css('#storybook-root'))` -> `.findElement({ css: '#storybook-root' })`
146
- - `.sendKeys(Keys.ENTER)` -> `.sendKeys(this.keys.ENTER)`
147
-
148
126
  ## Used by
149
127
 
150
128
  | [![Whisk](https://raw.githubusercontent.com/wKich/creevey/master/.github/images/whisk.svg)](https://whisk.com/) | [![SKB Kontur](https://kontur.ru/Files/userfiles/image/brandbook/logo-skb-kontur-eng.png)](https://kontur.ru/) | [![ABBYY](https://raw.githubusercontent.com/wKich/creevey/master/.github/images/abbyy.svg)](https://www.abbyy.com/) |
@@ -258,6 +258,7 @@ function withCreevey() {
258
258
  },
259
259
  });
260
260
  }
261
+ // TODO It's not accessible from the outside the package
261
262
  async function capture(options) {
262
263
  if (!isTestBrowser)
263
264
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"withCreevey.js","sourceRoot":"","sources":["../../../src/client/addon/withCreevey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withCreevey.js","sourceRoot":"","sources":["../../../src/client/addon/withCreevey.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,8 @@ const tar_stream_1 = __importDefault(require("tar-stream"));
10
10
  const loglevel_1 = __importDefault(require("loglevel"));
11
11
  const stream_1 = require("stream");
12
12
  const dockerode_1 = __importDefault(require("dockerode"));
13
- const messages_js_1 = require("./messages.js");
14
13
  const logger_js_1 = require("./logger.js");
15
- const webdriver_js_1 = require("./webdriver.js");
14
+ const context_js_1 = require("./worker/context.js");
16
15
  const docker = new dockerode_1.default();
17
16
  class DevNull extends stream_1.Writable {
18
17
  _write(_chunk, _encoding, callback) {
@@ -143,16 +142,7 @@ async function runImage(image, args, options, debug) {
143
142
  });
144
143
  return new Promise((resolve) => {
145
144
  hub.once('container', (container) => {
146
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
147
- (0, messages_js_1.subscribeOn)('shutdown', async () => {
148
- try {
149
- await Promise.race([(0, webdriver_js_1.waitForBrowserClose)(), new Promise((resolve) => setTimeout(resolve, 2_000))]);
150
- await container.remove({ force: true });
151
- }
152
- catch {
153
- /* noop */
154
- }
155
- });
145
+ (0, context_js_1.setWorkerContainer)(container);
156
146
  });
157
147
  hub.once('start', (container) => void container.inspect().then((info) => {
158
148
  resolve(info.NetworkSettings.Networks.bridge.IPAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/server/docker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/server/docker.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ async function start(gridUrl, config, options, resolveApi) {
99
99
  })
100
100
  .finally(() => {
101
101
  // NOTE: Take some time to kill processes
102
- void (0, utils_js_1.shutdownWorkers)().then(() => setTimeout(() => process.exit(), 1_000));
102
+ void (0, utils_js_1.shutdownWorkers)().then(() => setTimeout(() => process.exit(), 500));
103
103
  });
104
104
  });
105
105
  // TODO grep
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/server/master/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/server/master/start.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.PlaywrightWebdriver = void 0;
4
4
  const logger_1 = require("../logger");
5
5
  const messages_1 = require("../messages");
6
6
  const webdriver_1 = require("../webdriver");
7
+ const context_js_1 = require("../worker/context.js"); // Import container context
7
8
  class PlaywrightWebdriver extends webdriver_1.CreeveyWebdriverBase {
8
9
  #browser = null;
9
10
  #browserName;
@@ -17,7 +18,9 @@ class PlaywrightWebdriver extends webdriver_1.CreeveyWebdriverBase {
17
18
  this.#config = config;
18
19
  this.#options = options;
19
20
  (0, messages_1.subscribeOn)('shutdown', () => {
20
- void this.#browser?.closeBrowser().finally(() => setTimeout(() => process.exit(), 5_000));
21
+ void this.#browser?.closeBrowser().finally(() => {
22
+ void (0, context_js_1.removeWorkerContainer)().finally(() => process.exit());
23
+ });
21
24
  this.#browser = null;
22
25
  });
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/playwright/webdriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/playwright/webdriver.ts"],"names":[],"mappings":";;;AAGA,sCAAmC;AACnC,0CAA0C;AAC1C,4CAAoD;AAEpD,qDAA6D,CAAC,2BAA2B;AAEzF,MAAa,mBAAoB,SAAQ,gCAAoB;IAC3D,QAAQ,GAA2B,IAAI,CAAC;IACxC,YAAY,CAAS;IACrB,QAAQ,CAAS;IACjB,OAAO,CAAS;IAChB,QAAQ,CAAU;IAClB,YAAY,OAAe,EAAE,OAAe,EAAE,MAAc,EAAE,OAAgB;QAC5E,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAA,sBAAW,EAAC,UAAU,EAAE,GAAG,EAAE;YAC3B,KAAK,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9C,KAAK,IAAA,kCAAqB,GAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC;gBACH,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,eAAM,GAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhH,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,KAAiB;QACzB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,cAA6B,EAC7B,cAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IAES,eAAe,CAAC,QAAwC;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,YAAsB;QAC5D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,KAAiB,EAAE,WAAiB;QAClE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;CACF;AAtHD,kDAsHC"}
@@ -4,6 +4,7 @@ exports.SeleniumWebdriver = void 0;
4
4
  const messages_js_1 = require("../messages.js");
5
5
  const webdriver_js_1 = require("../webdriver.js");
6
6
  const logger_js_1 = require("../logger.js");
7
+ const context_js_1 = require("../worker/context.js");
7
8
  // TODO Update context interface through references
8
9
  class SeleniumWebdriver extends webdriver_js_1.CreeveyWebdriverBase {
9
10
  #browser = null;
@@ -18,7 +19,9 @@ class SeleniumWebdriver extends webdriver_js_1.CreeveyWebdriverBase {
18
19
  this.#config = config;
19
20
  this.#options = options;
20
21
  (0, messages_js_1.subscribeOn)('shutdown', () => {
21
- void this.#browser?.closeBrowser().finally(() => process.exit());
22
+ void this.#browser?.closeBrowser().finally(() => {
23
+ void (0, context_js_1.removeWorkerContainer)().finally(() => process.exit());
24
+ });
22
25
  this.#browser = null;
23
26
  });
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/selenium/webdriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/selenium/webdriver.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,7 @@ async function shutdownWorkers() {
97
97
  resolve();
98
98
  });
99
99
  (0, messages_js_1.sendShutdownMessage)(worker);
100
+ worker.disconnect();
100
101
  })));
101
102
  (0, messages_js_1.emitShutdownMessage)();
102
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/server/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/server/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Container } from 'dockerode';
2
+ export declare function setWorkerContainer(container: Container): void;
3
+ export declare function removeWorkerContainer(): Promise<void>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setWorkerContainer = setWorkerContainer;
4
+ exports.removeWorkerContainer = removeWorkerContainer;
5
+ let workerContainer = null;
6
+ function setWorkerContainer(container) {
7
+ workerContainer = container;
8
+ }
9
+ async function removeWorkerContainer() {
10
+ if (workerContainer) {
11
+ await workerContainer.remove({ force: true });
12
+ workerContainer = null;
13
+ }
14
+ }
15
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/server/worker/context.ts"],"names":[],"mappings":";;AAIA,gDAEC;AAED,sDAKC;AAXD,IAAI,eAAe,GAAqB,IAAI,CAAC;AAE7C,SAAgB,kBAAkB,CAAC,SAAoB;IACrD,eAAe,GAAG,SAAS,CAAC;AAC9B,CAAC;AAEM,KAAK,UAAU,qBAAqB;IACzC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;AACH,CAAC"}
package/docs/cli.md ADDED
@@ -0,0 +1,12 @@
1
+ ## Creevey CLI Options
2
+
3
+ There are several options available for the Creevey CLI:
4
+
5
+ - `--ui` — Starts Creevey UI Runner, which allows to run tests individually, compare screenshots and approve them without hesitation
6
+ - `-s, --storybookStart` — Starts Storybook for you by using `storybook dev` command
7
+ - `-c, --config` — Specify path to the config file. Default `.creevey/config.ts` or `creevey.config.ts`
8
+ - `-p, --port` — Specify port in which UI Runner should be started. Default `3000`
9
+ - `-d, --debug` — Enable debug output. It also enables recording video and traces if Playwright is used
10
+ - `-u, --update` — Approve all images from `report` directory. But it's recommended to do it from the UI Runner
11
+ - `--reportDir` — Path where reports will be stored
12
+ - `--screenDir` — Path where reference images are located
package/docs/config.md CHANGED
@@ -1,215 +1,226 @@
1
- ## Config/Options
1
+ # Creevey Configuration Examples
2
2
 
3
- ### CLI Options
3
+ Creevey is highly configurable and can be tailored to your specific needs. Here are some examples of how to configure Creevey for your Storybook.
4
4
 
5
- - `--config` — Specify path to config file. Default `.creevey/config.js` or `creevey.config.js`
6
- - `--ui` — Start runner web server
7
- - `--update` — Approve all images from `report` directory
8
- - `--port` — Specify port for web server. Default `3000`
9
- - `--reportDir` — Path where reports will be stored
10
- - `--screenDir` — Path where reference images are located
11
- - `--debug` — Enable debug output
5
+ ## Zero Configuration
12
6
 
13
- ### Creevey config
7
+ The simplest way to get started with Creevey, just run it without any configuration:
14
8
 
15
- In default configuration Creevey take screenshots of `#storybook-root` element only for chrome browser in one concurrent instance, to run tests in different browsers or speedup tests and run in parallel, you need to define config file `.creevey/config.js`
9
+ ```bash
10
+ yarn creevey -s
11
+ ```
12
+
13
+ This will start Creevey with default settings, using Chrome as the browser and also start Storybook hosted at `http://localhost:6006`. Adding `--ui` flag will start the web server for the UI Runner.
14
+
15
+ **NOTE** By default, Creevey uses Selenium WebDriver, but it's done for backward compatibility and it's recommended to define webdriver explicitly in the configuration.
16
16
 
17
17
  ```ts
18
- module.exports = {
19
- browsers: {
20
- chrome: {
21
- browserName: 'chrome',
22
- // Define initial viewport size
23
- viewport: { width: 1024, height: 720 },
24
- // Increase parallel sessions
25
- limit: 2,
26
- },
27
- firefox: {
28
- browserName: 'firefox',
29
- viewport: { width: 1024, height: 720 },
30
- },
31
- },
18
+ // creevey.config.ts
19
+ import { SeleniumWebdriver } from 'creevey/selenium';
20
+
21
+ const config = {
22
+ webdriver: SeleniumWebdriver,
23
+ };
24
+
25
+ // or use Playwright instead
26
+
27
+ import { PlaywrightWebdriver } from 'creevey/playwright';
28
+
29
+ const config = {
30
+ webdriver: PlaywrightWebdriver,
32
31
  };
33
32
  ```
34
33
 
35
- ### All possible config options
34
+ ## Basic Configuration
36
35
 
37
- :warning: **WARN** :warning: This config is just an example with all possible options. :warning: **WARN** :warning:
36
+ The minimal configuration to test your stories might be:
38
37
 
39
38
  ```ts
40
- const path = require('path');
39
+ // creevey.config.ts
40
+ import { CreeveyConfig } from 'creevey';
41
+ import { PlaywrightWebdriver } from 'creevey/playwright';
41
42
 
42
- module.exports = {
43
- // Specify custom Selenium Grid url (see usage below)
44
- // In most cases you don't need this option
45
- gridUrl: '<gridUrl>/wd/hub',
43
+ const config: CreeveyConfig = {
44
+ webdriver: PlaywrightWebdriver,
46
45
 
47
- // Default Storybook url
48
- storybookUrl: 'http://localhost:6006',
46
+ // The URL where your Storybook is hosted
47
+ storybookUrl: 'http://localhost:9000',
49
48
 
50
- // Command to automatically start Storybook if it is not running
51
- storybookAutorunCmd: 'yarn storybook',
49
+ // Define which browsers to use for testing
50
+ browsers: {
51
+ chromium: {
52
+ // The browser type name which will be used by Playwright
53
+ browserName: 'chromium',
54
+ // Default viewport dimensions
55
+ viewport: { width: 1024, height: 768 },
56
+ // Limit of retries for failed tests
57
+ maxRetries: 2,
58
+ },
59
+ },
60
+ };
52
61
 
53
- // Where original images are stored
54
- screenDir: path.join(__dirname, '../images'),
62
+ export default config;
63
+ ```
55
64
 
56
- // Report directory that contains data from previous runs
57
- reportDir: path.join(__dirname, '../report'),
65
+ ## Multiple Browsers Configuration
58
66
 
59
- // Pixelmatch options
60
- diffOptions: { threshold: 0.1 },
67
+ It's possible to est your stories across different browsers:
68
+
69
+ ```ts
70
+ // creevey.config.ts
71
+ import { CreeveyConfig } from 'creevey';
72
+ import { PlaywrightWebdriver } from 'creevey/playwright';
61
73
 
62
- // How many times test should be retried before to consider it as failed
63
- maxRetries: 2,
74
+ const config: CreeveyConfig = {
75
+ webdriver: PlaywrightWebdriver,
64
76
 
65
- // Describe browsers and their options
66
77
  browsers: {
67
- // Shorthand declarations of browsers
68
- chrome: true,
69
- ff: 'firefox',
70
-
71
- otherChrome: {
72
- browserName: 'chrome',
73
- // Define initial viewport size
74
- viewport: { width: 1024, height: 720 },
75
- // Increase parallel sessions
78
+ chromium: {
79
+ browserName: 'chromium',
80
+ // Amount of parallel browser sessions
76
81
  limit: 2,
77
- /* Also you can define any browser capabilities here */
78
- version: '86.0',
79
- // It's possible to set Storybook's globals
80
- // https://github.com/storybookjs/storybook/blob/v6.0.0/docs/essentials/toolbars-and-globals.md
81
- // NOTE: This is an experimental feature and will be replaced in future
82
- _storybookGlobals: {
83
- myTheme: 'dark',
84
- },
85
82
  },
86
-
87
- // You can override some global options for specific browser
88
- ie11: {
89
- browserName: 'internet explorer',
90
- // Like user another Selenium Grid url
91
- gridUrl: '<anotherGridUrl>/wd/hub',
92
- // Or use different storybook instance
93
- storybookUrl: 'http://mystoryhost:6007',
94
- // And use you own docker image
95
- // By default Creevey will use selenoid image according browser name and version:
96
- // `selenoid/${browserName}:${version ?? 'latest'}` image
97
- dockerImage: 'microsoft/ie:11.0',
83
+ firefox: {
84
+ browserName: 'firefox',
85
+ limit: 2,
98
86
  },
99
87
  },
88
+ };
89
+
90
+ export default config;
91
+ ```
92
+
93
+ ## Test stories with different themes
94
+
95
+ Test your components with different themes:
100
96
 
101
- // You may want to do something before tests started (for example start browserstack-local)
102
- hooks: {
103
- async before() {
104
- /* ... */
97
+ ```ts
98
+ // creevey.config.ts
99
+ import { CreeveyConfig } from 'creevey';
100
+ import { PlaywrightWebdriver } from 'creevey/playwright';
101
+
102
+ const config: CreeveyConfig = {
103
+ webdriver: PlaywrightWebdriver,
104
+ browsers: {
105
+ dark: {
106
+ browserName: 'chromium',
107
+ // Define a storybook globals which will be applied to the stories
108
+ _storybookGlobals: {
109
+ theme: 'dark',
110
+ },
105
111
  },
106
- async after() {
107
- /* ... */
112
+ light: {
113
+ browserName: 'chromium',
114
+ _storybookGlobals: {
115
+ theme: 'light',
116
+ },
108
117
  },
109
118
  },
110
119
  };
120
+
121
+ export default config;
111
122
  ```
112
123
 
113
- ### Storybook parameters
124
+ ## Using dedicated Selenium Grid server
114
125
 
115
- Also you could define parameters on `global`, `kind` or `story` levels. All these parameters are deeply merged by Storybook for each story. But bear in mind when you define skip option as an array Storybook treats it as primitive value and doesn't merge with other skip options.
126
+ Use Selenium Grid for distributed testing:
116
127
 
117
- ```tsx
118
- // .storybook/preview.tsx
119
- export const parameters = {
120
- creevey: {
121
- // Skip all *hover tests in IE11 on the global level
122
- skip: {
123
- "hovers don't work in ie11": { in: 'ie11', tests: /.*hover$/ },
128
+ ```ts
129
+ // creevey.config.ts
130
+ import { CreeveyConfig } from 'creevey';
131
+ import { SeleniumWebdriver } from 'creevey/selenium';
132
+
133
+ const config: CreeveyConfig = {
134
+ webdriver: SeleniumWebdriver,
135
+ // Selenium Grid connection settings
136
+ gridUrl: 'http://selenium-hub:4444/wd/hub',
137
+ browsers: {
138
+ chrome: {
139
+ browserName: 'chrome',
140
+ // You can define any additional selenium capabilities here
141
+ // https://w3c.github.io/webdriver/#capabilities
142
+ seleniumCapabilities: {
143
+ browserVersion: '128.0',
144
+ platformName: 'linux',
145
+ },
124
146
  },
125
147
  },
126
148
  };
149
+
150
+ export default config;
127
151
  ```
128
152
 
129
- ```tsx
130
- import React from 'react';
131
- import { Meta, Story } from '@storybook/react';
132
- import { CreeveyMeta, CreeveyStory } from 'creevey';
133
- import MyComponent from './src/components/MyComponent';
134
-
135
- export default {
136
- title: 'MyComponent'
137
- parameters: {
138
- creevey: {
139
- // You could skip some browsers/stories or even specific tests
140
- skip: {
141
- "`MyComponent` doesn't support ie11": { in: 'ie11' },
142
- "Loading stories are flaky in firefox": { in: 'firefox', stories: 'Loading' },
143
- "`MyComponent` hovering doesn't work correctly": {
144
- in: ['firefox', 'chrome'],
145
- tests: /.*hover$/,
146
- },
153
+ ## Playwright configuration options
154
+
155
+ Leverage Playwright for testing:
156
+
157
+ ```ts
158
+ // creevey.config.ts
159
+ import { CreeveyConfig } from 'creevey';
160
+ import { PlaywrightWebdriver } from 'creevey/playwright';
161
+
162
+ const config: CreeveyConfig = {
163
+ webdriver: PlaywrightWebdriver,
164
+ browsers: {
165
+ chromium: {
166
+ browserName: 'chromium',
167
+ // Playwright-specific options
168
+ // https://playwright.dev/docs/api/class-browsertype#browser-type-launch-server
169
+ playwrightOptions: {
170
+ headless: false,
171
+ channel: 'chrome-canary',
172
+ slowMo: 50, // Slow down Playwright operations by 50ms
147
173
  },
148
174
  },
149
175
  },
150
- } as Meta & CreeveyMeta;
151
-
152
- export const Basic: Story & CreeveyStory = () => <MyComponent />;
153
- Basic.parameters = {
154
- creevey: {
155
- captureElement: '.container',
156
- // elements to ignore in capturing screenshot
157
- ignoreElements: ['button', '.local-time'],
158
- // Delay before test starts in ms
159
- delay: 1000,
160
- tests: {
161
- /* ... */
162
- },
163
- },
164
176
  };
177
+
178
+ export default config;
165
179
  ```
166
180
 
167
- ### `skip` option examples:
181
+ ## Advanced Configuration
182
+
183
+ Comprehensive example combining multiple features and additional options:
168
184
 
169
185
  ```ts
170
- interface SkipOption {
171
- in?: string | string[] | RegExp;
172
- kinds?: string | string[] | RegExp;
173
- stories?: string | string[] | RegExp;
174
- tests?: string | string[] | RegExp;
175
- }
176
-
177
- type SkipOptions = boolean | string | Record<string, SkipOption | SkipOption[]>;
178
- ```
186
+ // creevey.config.ts
187
+ import path from 'path';
188
+ import MochaJUnitReporter from 'mocha-junit-reporter';
189
+ import { CreeveyConfig } from 'creevey';
190
+ import { PlaywrightWebdriver } from 'creevey/playwright';
191
+
192
+ const config: CreeveyConfig = {
193
+ webdriver: PlaywrightWebdriver,
194
+
195
+ // It's possible to resolve Storybook URL at the runtime
196
+ resolveStorybookUrl: () =>
197
+ fetch('https://example.com/resolve-ip')
198
+ .then((res) => res.text())
199
+ .then((data) => `http://${data}:6006`),
200
+
201
+ // Define custom reference screenshots directory
202
+ screenDir: path.join(process.cwd(), 'screenshots'),
203
+
204
+ // Define custom report directory
205
+ reportDir: path.join(process.cwd(), 'reports'),
206
+
207
+ // Define path where Creevey tests are located
208
+ testDir: path.join(process.cwd(), 'tests'),
209
+
210
+ // You can use any Mocha-like reporter
211
+ reporter: MochaJUnitReporter,
179
212
 
180
- - Skip all stories for all browsers:
181
- - `skip: true`
182
- - `skip: 'Skip reason message'`
183
- - `skip: { 'Skip reason message': true }`
184
- - Skip all stories for specific browsers:
185
- - `skip: { 'Skip reason message': { in: 'ie11' } }`
186
- - `skip: { 'Skip reason message': { in: ['ie11', 'chrome'] } }`
187
- - `skip: { 'Skip reason message': { in: /^fire.*/ } }`
188
- - Skip all stories in specific kinds:
189
- - `skip: { 'Skip reason message': { kinds: 'Button' } }`
190
- - `skip: { 'Skip reason message': { kinds: ['Button', 'Input'] } }`
191
- - `skip: { 'Skip reason message': { kinds: /.*Modal$/ } }`
192
- - Skip all tests in specific stories:
193
- - `skip: { 'Skip reason message': { stories: 'simple' } }`
194
- - `skip: { 'Skip reason message': { stories: ['simple', 'special'] } }`
195
- - `skip: { 'Skip reason message': { stories: /.*large$/ } }`
196
- - Skip specific tests:
197
- - `skip: { 'Skip reason message': { tests: 'click' } }`
198
- - `skip: { 'Skip reason message': { tests: ['hover', 'click'] } }`
199
- - `skip: { 'Skip reason message': { tests: /^press.*$/ } }`
200
- - Multiple skip options:
201
- - for one reason
202
- ```
203
- skip: {
204
- "reason": [{ /* ... */ }, { /* ... */ }],
205
- }
206
- ```
207
- - for several reasons
208
- ```
209
- skip: {
210
- "reason 1": { /* ... */ },
211
- "reason 2": { /* ... */ },
212
- }
213
- ```
214
-
215
- NOTE: If you try to skip stories by story name, the storybook name format will be used (For more info see [storybook-export-vs-name-handling](https://storybook.js.org/docs/formats/component-story-format/#storybook-export-vs-name-handling))
213
+ // Pixelmatch options
214
+ diffOptions: { threshold: 0.1 },
215
+
216
+ // Regex pattern to match test files
217
+ testsRegex: /\.creevey\.ts$/,
218
+
219
+ // Disable using docker, to start browsers locally, it's useful for CI
220
+ useDocker: process.env.CI,
221
+
222
+ browsers: {
223
+ /* ... */
224
+ },
225
+ };
226
+ ```
@@ -0,0 +1,60 @@
1
+ ## Creevey Storybook Parameters
2
+
3
+ Creevey allows you to customize how stories will be captured. You could define parameters on `global`, `kind` or `story` levels. All these parameters are deeply merged by Storybook for each story.
4
+
5
+ ```ts
6
+ // .storybook/preview.tsx
7
+ export const parameters = {
8
+ creevey: {
9
+ // Global parameters are applied to all stories
10
+ captureElement: '#storybook-root',
11
+ },
12
+ };
13
+ ```
14
+
15
+ ```ts
16
+ // stories/MyModal.stories.tsx
17
+ import React from 'react';
18
+ import { Meta, StoryObj } from '@storybook/react';
19
+ import { CreeveyMeta, CreeveyStory } from 'creevey';
20
+ import MyModal from './src/components/MyModal';
21
+
22
+ const Kind: Meta<typeof MyModal> = {
23
+ title: 'MyModal',
24
+ component: MyModal,
25
+ parameters: {
26
+ creevey: {
27
+ // It's possible to add additional delay before capturing screenshot
28
+ delay: 1000,
29
+
30
+ // For capturing the whole browser viewport, you can define `null` instead of css selector.
31
+ captureElement: null,
32
+
33
+ // You can skip some stories from capturing, by defining `skip` option:
34
+ // skip: { "The reason why story is skipped": { in: 'chrome', stories: 'Loading' } }
35
+ // - `in` - browser name, regex or array of browser names, which are defined in the Creevey config
36
+ // - `stories` - story name, regex or array of story names
37
+ // - `tests` - test name, regex or array of test names
38
+ // NOTE: If you try to skip stories by story name, the storybook name format will be used
39
+ // For more info see [storybook-export-vs-name-handling](https://storybook.js.org/docs/formats/component-story-format/#storybook-export-vs-name-handling))
40
+ skip: {
41
+ "`MyModal` doesn't support ie11": { in: 'ie11' },
42
+ 'Loading stories are flaky in firefox': { in: 'firefox', stories: 'Loading' },
43
+ "`MyModal` hovering doesn't work correctly": {
44
+ in: ['firefox', 'chrome'],
45
+ tests: /.*hover$/,
46
+ },
47
+ },
48
+ },
49
+ },
50
+ };
51
+
52
+ export default Kind;
53
+
54
+ export const Basic: StoryObj<typeof MyModal> = {
55
+ creevey: {
56
+ // Lastly some elements can be ignored in capturing screenshot
57
+ ignoreElements: ['button', '.local-time'],
58
+ },
59
+ };
60
+ ```
package/docs/tests.md CHANGED
@@ -1,63 +1,68 @@
1
- ## Write tests
1
+ ## Write interactive screenshot tests
2
2
 
3
- By default Creevey generate for each story very simple screenshot test. In most cases it would be enough to test your UI. But you may want to do some interactions and capture one or multiple screenshots with different states of your story. For this case you could write custom tests, like this
3
+ In most cases following Storybook's ideology of [writing stories](https://storybook.js.org/docs/get-started/whats-a-story) is enough to test your UI components. Where each component has a separate stories file with its different states. But sometimes you might have pretty complicated components with a lot of interactions and internal states. In this case, you can write tests for your stories.
4
4
 
5
- ```tsx
6
- import React from 'react';
7
- import { Story } from '@storybook/react';
8
- import { CreeveyStory } from 'creevey';
9
- import MyComponent from './src/components/MyComponent';
5
+ There are two different ways how to write interactive tests with Creevey:
10
6
 
11
- export default { title: 'MyComponent' };
7
+ ### Write tests in `*.creevey.ts` files
12
8
 
13
- export const Basic: Story & CreeveyStory = () => <MyComponent />;
14
- Basic.parameters = {
15
- creevey: {
16
- captureElement: '#storybook-root',
17
- tests: {
18
- async click() {
19
- await this.browser.actions().click(this.captureElement).perform();
9
+ It's the recommended way to write tests. It allows you to run these tests by Creevey itself and utilize webdriver benefits. The crucial part of it is webdriver action calls are more close to real user interactions and mitigate flakiness and false-negative results. Here is a simple example of how to write tests in `*.creevey.ts` files
20
10
 
21
- await this.expect(await this.takeScreenshot()).to.matchImage('clicked component');
22
- },
23
- },
24
- },
25
- };
11
+ ```ts
12
+ // stories/MyComponent.creevey.ts
13
+ import { kind, story, test } from 'creevey';
14
+
15
+ kind('MyComponent', () => {
16
+ story('Story', ({ setStoryParameters }) => {
17
+ // It's possible to pass Creevey parameters to story
18
+ setStoryParameters({
19
+ captureElement: 'span[data-test-id~="x"]',
20
+ ignoreElements: [],
21
+ });
22
+
23
+ test('idle', async (context) => {
24
+ await context.matchImage(await context.takeScreenshot());
25
+ });
26
+
27
+ test('input', async (context) => {
28
+ await context.webdriver.keyboard.press('Tab');
29
+ const focus = await context.takeScreenshot();
30
+ await context.webdriver.keyboard.type('Hello Creevey');
31
+ const input = await context.takeScreenshot();
32
+ await context.matchImages({ focus, input });
33
+ });
34
+ });
35
+ });
26
36
  ```
27
37
 
28
- NOTE: Here you define story parameters with simple test `click`. Where you setup capturing element `#storybook-root` then click on that element and taking screenshot to assert it. `this.browser` allow you to access to native selenium webdriver instance you could check [API here](https://www.selenium.dev/selenium/docs/api/javascript/module/selenium-webdriver/index_exports_WebDriver.html).
38
+ In the example above, we used Playwright API to interact with the story. But Creevey also supports Selenium webdriver. And in that case `context.webdriver` will be an instance of Selenium webdriver. Obviously Selenium API is different from Playwright.
29
39
 
30
- You also could write more powerful tests with asserting multiple screenshots
40
+ ### Using Storybook's `play` function
31
41
 
32
- ```tsx
33
- import React from 'react';
34
- import { CSFStory } from 'creevey';
35
- import MyForm from './src/components/MyForm';
42
+ Storybook allows you to write tests in the story file itself by using [`play` function](https://storybook.js.org/docs/writing-tests/component-testing). It's a good way to write simple tests. But there are couple drawbacks of this approach:
36
43
 
37
- export default { title: 'MyForm' };
44
+ - You can have only one test per story. Which is not a big deal, but sometimes you might not want to have multiple stories with the same markup.
45
+ - Tests are running in browser environment and use https://testing-library.com API under the hood. It's good for unit tests, but might not be suitable for visual regression tests, because testing-library relies on DOM API and not even close to real user interactions. For example, you might have a button that could be visible for user, but it's covered by some other transparent element. With testing-library the button easily accessible and clickable, but the user can't interact with it.
38
46
 
39
- export const Basic: CSFStory<JSX.Element> = () => <MyForm />;
40
- Basic.story = {
41
- parameters: {
42
- creevey: {
43
- captureElement: '#storybook-root',
44
- delay: 1000,
45
- tests: {
46
- async submit() {
47
- const input = await this.browser.findElement({ css: '.my-input' });
47
+ Here is an example of how to write tests using Storybook's `play` function:
48
48
 
49
- const empty = await this.takeScreenshot();
49
+ ```tsx
50
+ // stories/MyComponent.stories.tsx
51
+ import React from 'react';
52
+ import { Meta, StoryObj } from '@storybook/react';
53
+ import { fireEvent, within } from '@storybook/test';
54
+ import MyComponent from './src/components/MyComponent';
50
55
 
51
- await this.browser.actions().click(input).sendKeys('Hello Creevey').sendKeys(this.keys.ENTER).perform();
56
+ export default {
57
+ title: 'MyComponent',
58
+ component: MyComponent,
59
+ };
52
60
 
53
- const submitted = await this.takeScreenshot();
61
+ export const Basic: StoryObj<typeof MyComponent> = {
62
+ play: async ({ canvasElement }) => {
63
+ const slider = await within(canvasElement).findByTestId('slider');
54
64
 
55
- await this.expect({ empty, submitted }).to.matchImages();
56
- },
57
- },
58
- },
65
+ await fireEvent.change(slider, { target: { value: 50 } });
59
66
  },
60
67
  };
61
68
  ```
62
-
63
- NOTE: In this example I fill some simple form and submit it. Also as you could see, I taking two different screenshots `empty` and `submitted` and assert these in the end.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "creevey",
3
3
  "description": "Cross-browser screenshot testing tool for Storybook with fancy UI Runner",
4
- "version": "0.10.0-beta.32",
4
+ "version": "0.10.0-beta.34",
5
5
  "type": "commonjs",
6
6
  "bin": "dist/cli.js",
7
7
  "main": "./dist/index.js",
@@ -322,6 +322,7 @@ export function withCreevey(): ReturnType<typeof makeDecorator> {
322
322
  });
323
323
  }
324
324
 
325
+ // TODO It's not accessible from the outside the package
325
326
  export async function capture(options?: CaptureOptions): Promise<void> {
326
327
  if (!isTestBrowser) return;
327
328
 
@@ -3,9 +3,8 @@ import Logger from 'loglevel';
3
3
  import { Writable } from 'stream';
4
4
  import Dockerode, { Container } from 'dockerode';
5
5
  import { DockerAuth } from '../types.js';
6
- import { subscribeOn } from './messages.js';
7
6
  import { logger } from './logger.js';
8
- import { waitForBrowserClose } from './webdriver.js';
7
+ import { setWorkerContainer } from './worker/context.js';
9
8
 
10
9
  const docker = new Dockerode();
11
10
 
@@ -167,15 +166,7 @@ export async function runImage(
167
166
 
168
167
  return new Promise((resolve) => {
169
168
  hub.once('container', (container: Container) => {
170
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
171
- subscribeOn('shutdown', async () => {
172
- try {
173
- await Promise.race([waitForBrowserClose(), new Promise((resolve) => setTimeout(resolve, 2_000))]);
174
- await container.remove({ force: true });
175
- } catch {
176
- /* noop */
177
- }
178
- });
169
+ setWorkerContainer(container);
179
170
  });
180
171
  hub.once(
181
172
  'start',
@@ -109,7 +109,7 @@ export async function start(
109
109
  })
110
110
  .finally(() => {
111
111
  // NOTE: Take some time to kill processes
112
- void shutdownWorkers().then(() => setTimeout(() => process.exit(), 1_000));
112
+ void shutdownWorkers().then(() => setTimeout(() => process.exit(), 500));
113
113
  });
114
114
  });
115
115
  // TODO grep
@@ -5,6 +5,7 @@ import { logger } from '../logger';
5
5
  import { subscribeOn } from '../messages';
6
6
  import { CreeveyWebdriverBase } from '../webdriver';
7
7
  import type { InternalBrowser } from './internal';
8
+ import { removeWorkerContainer } from '../worker/context.js'; // Import container context
8
9
 
9
10
  export class PlaywrightWebdriver extends CreeveyWebdriverBase {
10
11
  #browser: InternalBrowser | null = null;
@@ -21,7 +22,9 @@ export class PlaywrightWebdriver extends CreeveyWebdriverBase {
21
22
  this.#options = options;
22
23
 
23
24
  subscribeOn('shutdown', () => {
24
- void this.#browser?.closeBrowser().finally(() => setTimeout(() => process.exit(), 5_000));
25
+ void this.#browser?.closeBrowser().finally(() => {
26
+ void removeWorkerContainer().finally(() => process.exit());
27
+ });
25
28
  this.#browser = null;
26
29
  });
27
30
  }
@@ -5,6 +5,7 @@ import { subscribeOn } from '../messages.js';
5
5
  import { CreeveyWebdriverBase } from '../webdriver.js';
6
6
  import type { InternalBrowser } from './internal.js';
7
7
  import { logger } from '../logger.js';
8
+ import { removeWorkerContainer } from '../worker/context.js';
8
9
 
9
10
  declare global {
10
11
  interface Window {
@@ -31,7 +32,9 @@ export class SeleniumWebdriver extends CreeveyWebdriverBase {
31
32
  this.#options = options;
32
33
 
33
34
  subscribeOn('shutdown', () => {
34
- void this.#browser?.closeBrowser().finally(() => process.exit());
35
+ void this.#browser?.closeBrowser().finally(() => {
36
+ void removeWorkerContainer().finally(() => process.exit());
37
+ });
35
38
  this.#browser = null;
36
39
  });
37
40
  }
@@ -106,6 +106,7 @@ export async function shutdownWorkers(): Promise<void> {
106
106
  resolve();
107
107
  });
108
108
  sendShutdownMessage(worker);
109
+ worker.disconnect();
109
110
  }),
110
111
  ),
111
112
  );
@@ -0,0 +1,14 @@
1
+ import type { Container } from 'dockerode';
2
+
3
+ let workerContainer: Container | null = null;
4
+
5
+ export function setWorkerContainer(container: Container): void {
6
+ workerContainer = container;
7
+ }
8
+
9
+ export async function removeWorkerContainer(): Promise<void> {
10
+ if (workerContainer) {
11
+ await workerContainer.remove({ force: true });
12
+ workerContainer = null;
13
+ }
14
+ }