creevey 0.10.0-rc.0 → 0.10.0-rc.2

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.
@@ -21,5 +21,14 @@ export interface TestsConfig {
21
21
  * @default true
22
22
  */
23
23
  reusePageContext: boolean;
24
+ /**
25
+ * Enables trace recording for each test.
26
+ * @default false
27
+ */
28
+ trace: boolean | {
29
+ screenshots?: boolean;
30
+ snapshots?: boolean;
31
+ sources?: boolean;
32
+ };
24
33
  }
25
34
  export declare function definePlaywrightTests(config?: Partial<TestsConfig>): void;
@@ -19,6 +19,7 @@ const defaultConfig = {
19
19
  odiffOptions: { threshold: 0.1, antialiasing: true },
20
20
  comparisonLibrary: 'pixelmatch',
21
21
  reusePageContext: true,
22
+ trace: false,
22
23
  };
23
24
  // TODO: Use this Storybook function for building args for query params
24
25
  // export const buildArgsParam = (initialArgs: Args | undefined, args: Args): string => {
@@ -49,6 +50,8 @@ async function takeScreenshot(page, storyId, captureElement, ignoreElements) {
49
50
  const ignore = ignoreElements ? (Array.isArray(ignoreElements) ? ignoreElements : [ignoreElements]) : [];
50
51
  const mask = ignore.map((selector) => page.locator(selector));
51
52
  if (captureElement) {
53
+ // TODO Use page.locator(captureElement) instead of page.$(captureElement)
54
+ // TODO Test `#storybook-root > *` selector, probably we don't need `> *` and use `#storybook-root >*:first-child` instead
52
55
  const element = await page.$(captureElement);
53
56
  if (!element)
54
57
  throw new Error(`Capture element '${captureElement}' not found for story '${storyId}'`);
@@ -72,8 +75,9 @@ function definePlaywrightTests(config) {
72
75
  (0, assert_1.default)(cacheDir, 'Cache directory not found');
73
76
  const stories = JSON.parse((0, fs_1.readFileSync)(path_1.default.join(cacheDir, 'stories.json'), 'utf-8'));
74
77
  let globals = {};
78
+ let reusedContext;
75
79
  let reusedPage;
76
- const { diffOptions, odiffOptions, comparisonLibrary, reusePageContext } = {
80
+ const { diffOptions, odiffOptions, comparisonLibrary, reusePageContext, trace } = {
77
81
  ...defaultConfig,
78
82
  ...config,
79
83
  };
@@ -93,12 +97,18 @@ function definePlaywrightTests(config) {
93
97
  };
94
98
  let assertImage;
95
99
  test_1.test.beforeAll('Setup images context', async ({ browser }, { project }) => {
96
- const { snapshotDir, outputDir } = project;
100
+ const { snapshotDir, outputDir, use: { viewport }, } = project;
97
101
  if (reusePageContext) {
98
102
  const storybookUrl = project.use.baseURL;
99
103
  (0, assert_1.default)(storybookUrl, 'Storybook URL not found');
100
- reusedPage = await browser.newPage();
101
- await reusedPage.goto((0, webdriver_1.appendIframePath)(storybookUrl), { waitUntil: 'networkidle', timeout: 60000 });
104
+ // TODO Record video
105
+ reusedContext = await browser.newContext({ viewport, screen: viewport ?? undefined });
106
+ if (trace) {
107
+ await reusedContext.tracing.start(typeof trace === 'object' ? trace : { screenshots: true, snapshots: true, sources: true });
108
+ }
109
+ reusedPage = await reusedContext.newPage();
110
+ await reusedPage.goto((0, webdriver_1.appendIframePath)(storybookUrl), { timeout: 60000 });
111
+ await reusedPage.waitForLoadState('networkidle');
102
112
  await (0, helpers_1.waitForStorybookReady)(reusedPage);
103
113
  }
104
114
  if (comparisonLibrary === 'pixelmatch') {
@@ -124,10 +134,8 @@ function definePlaywrightTests(config) {
124
134
  if (!reusePageContext) {
125
135
  const storybookUrl = project.use.baseURL;
126
136
  (0, assert_1.default)(storybookUrl, 'Storybook URL not found');
127
- await page.goto(appendStoryQueryParams((0, webdriver_1.appendIframePath)(storybookUrl), storyId), {
128
- waitUntil: 'networkidle',
129
- timeout: 60000,
130
- });
137
+ await page.goto(appendStoryQueryParams((0, webdriver_1.appendIframePath)(storybookUrl), storyId), { timeout: 60000 });
138
+ await page.waitForLoadState('networkidle');
131
139
  await (0, helpers_1.waitForStorybookReady)(page);
132
140
  // TODO: Pass globals to story
133
141
  await updateGlobals(page, storybookGlobals);
@@ -142,6 +150,11 @@ function definePlaywrightTests(config) {
142
150
  // TODO: DRY with withCreevey.ts
143
151
  // NOTE: Copy-pasted from withCreevey.ts
144
152
  const channel = window.__STORYBOOK_ADDONS_CHANNEL__;
153
+ async function sequence(fns) {
154
+ for (const fn of fns) {
155
+ await fn();
156
+ }
157
+ }
145
158
  const waitForReady = shouldWaitForReady
146
159
  ? new Promise((resolve) => (window.__CREEVEY_SET_READY_FOR_CAPTURE__ = resolve))
147
160
  : Promise.resolve();
@@ -175,7 +188,10 @@ function definePlaywrightTests(config) {
175
188
  channel.emit(StorybookEvents.SET_CURRENT_STORY, { storyId });
176
189
  }, 0);
177
190
  try {
178
- await Promise.race([renderErrorPromise, Promise.all([storyRenderedPromise, waitForReady])]);
191
+ await Promise.race([
192
+ renderErrorPromise,
193
+ sequence([() => storyRenderedPromise, () => document.fonts.ready, () => waitForReady]),
194
+ ]);
179
195
  }
180
196
  catch (reason) {
181
197
  // NOTE Event `STORY_THREW_EXCEPTION` triggered only in react and vue frameworks and return Error instance
@@ -222,6 +238,14 @@ function definePlaywrightTests(config) {
222
238
  }
223
239
  }
224
240
  });
241
+ if (trace && reusePageContext) {
242
+ test_1.test.afterAll('Save trace', async (_, { project }) => {
243
+ const { outputDir, name: projectName } = project;
244
+ await reusedContext.tracing.stop({
245
+ path: `${outputDir}/traces/${projectName}-${process.pid}.zip`,
246
+ });
247
+ });
248
+ }
225
249
  for (const story of Object.values(stories)) {
226
250
  const { name, title, parameters } = story;
227
251
  const { captureElement, ignoreElements } = (parameters.creevey ?? {});
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/playwright/generator.ts"],"names":[],"mappings":";;;;;AAoGA,sDA6NC;AAjUD,gDAAwB;AACxB,oDAA4B;AAC5B,2BAAkC;AAGlC,2CAA8C;AAC9C,mEAAwC;AACxC,oCAAuG;AACvG,+CAAsF;AACtF,mDAAuD;AACvD,uCAAkD;AAyBlD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAC/C,MAAM,aAAa,GAAgB;IACjC,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE;IACjD,YAAY,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE;IACpD,iBAAiB,EAAE,YAAY;IAC/B,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,uEAAuE;AACvE,yFAAyF;AAEzF,8BAA8B;AAC9B,SAAS,sBAAsB,CAAC,GAAW,EAAE,OAAe;IAC1D,OAAO,GAAG,GAAG,sBAAsB,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CACpB,MAA2E;IAE3E,OAAO,KAAK,UAAU,WAAW,CAAC,MAAM,EAAE,SAAS;QACjD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACrD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;oBACvB,EAAE,KAAK,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;qBAClD,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAU,EACV,OAAe,EACf,cAA8B,EAC9B,cAAyC;IAEzC,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzG,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,cAAc,0BAA0B,OAAO,GAAG,CAAC,CAAC;QACtG,OAAO,OAAO,CAAC,UAAU,CAAC;YACxB,KAAK,EAAE,wCAAwC;YAC/C,UAAU,EAAE,UAAU;YACtB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,UAAU,CAAC;YACrB,UAAU,EAAE,UAAU;YACtB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,+DAA+D;AAC/D,uDAAuD;AACvD,SAAgB,qBAAqB,CAAC,MAA6B;IACjE,IAAA,gBAAM,EAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAe,CAAC;IACrG,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,UAAgB,CAAC;IAErB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG;QACzE,GAAG,aAAa;QAChB,GAAG,MAAM;KACV,CAAC;IAEF,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,gBAAyB;QAChE,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,CAAC,IAAA,oBAAO,EAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACpG,OAAO,GAAG,gBAAoC,CAAC;YAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9B,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,uBAAe,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACxF,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAClC,MAAM,aAAa,GAAiB;YAClC,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,WAAkE,CAAC;QAEvE,WAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACxE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC3C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAEzC,IAAA,gBAAM,EAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;gBAEhD,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpG,MAAM,IAAA,+BAAqB,EAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,iBAAiB,KAAK,YAAY,EAAE,CAAC;gBACvC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3D,WAAW,GAAG,aAAa,CACzB,IAAA,6BAAmB,EAAC,UAAU,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAC9G,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC9C,WAAW,GAAG,aAAa,CACzB,IAAA,wBAAc,EAAC,OAAO,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CACvG,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAI,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;YAC3E,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAEvG,IAAA,gBAAM,EAAC,OAAO,EAAE,oEAAoE,CAAC,CAAC;YAEtF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAE/B,IAAA,gBAAM,EAAC,KAAK,EAAE,UAAU,OAAO,8BAA8B,CAAC,CAAC;YAE/D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YAC1C,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAuB,CAAC;YAE9F,MAAM,gBAAgB,GAAY,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAEpE,aAAa,CAAC,WAAW,GAAG,EAAE,CAAC;YAC/B,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5F,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;YAE1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAEzC,IAAA,gBAAM,EAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;gBAEhD,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAA,4BAAgB,EAAC,YAAY,CAAC,EAAE,OAAO,CAAC,EAAE;oBAC/E,SAAS,EAAE,aAAa;oBACxB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBACH,MAAM,IAAA,+BAAqB,EAAC,IAAI,CAAC,CAAC;gBAClC,8BAA8B;gBAC9B,MAAM,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAE5C,OAAO;YACT,CAAC;YAED,8BAA8B;YAC9B,MAAM,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAElD,0BAA0B;YAC1B,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAElC,kBAAkB;YAClB,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,QAAQ,CAI5C,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,EAAE,EAAE;gBACzD,gCAAgC;gBAChC,wCAAwC;gBACxC,MAAM,OAAO,GAAG,MAAM,CAAC,4BAA4B,CAAC;gBAEpD,MAAM,YAAY,GAAG,kBAAkB;oBACrC,CAAC,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,iCAAiC,GAAG,OAAO,CAAC,CAAC;oBACtF,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAEtB,IAAI,cAA0C,CAAC;gBAC/C,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC;gBAE9F,SAAS,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAA0C;oBAClF,cAAc,CAAC;wBACb,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,WAAW;qBACnB,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS,gBAAgB,CAAC,SAAgB;oBACxC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBACD,SAAS,mBAAmB;oBAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBACzD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;gBACnE,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;gBAEtE,IAAI,eAA2B,CAAC;gBAChC,MAAM,oBAAoB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC;gBACzF,SAAS,aAAa;oBACpB,eAAe,EAAE,CAAC;gBACpB,CAAC;gBACD,SAAS,oBAAoB;oBAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBAC7D,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBAE5D,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/D,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEN,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9F,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,0GAA0G;oBAC1G,2EAA2E;oBAC3E,MAAM,YAAY,GAChB,MAAM,YAAY,KAAK;wBACrB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC;wBAClC,CAAC,CAAC,IAAA,gBAAQ,EAAC,MAAM,CAAC;4BAChB,CAAC,CAAC,GAAG,MAAM,CAAC,OAAiB,SAAS,MAAM,CAAC,KAAe,EAAE;4BAC9D,CAAC,CAAE,MAAiB,CAAC;oBAC3B,OAAO,YAAY,CAAC;gBACtB,CAAC;wBAAS,CAAC;oBACT,mBAAmB,EAAE,CAAC;oBACtB,oBAAoB,EAAE,CAAC;gBACzB,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,EACD,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,eAAe,EAAf,uBAAe,EAAE,kBAAkB,EAAE,CAC3D,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,EAAE,MAAM,YAAY,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACrC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,WAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;YAElD,8CAA8C;YAE9C,+EAA+E;YAC/E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACzE,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC9C,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC1C,WAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;wBACtF,qDAAqD;wBACrD,MAAM;oBACR,CAAC;oBACD,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC1C,WAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;wBACtF,qDAAqD;wBACrD,MAAM;oBACR,CAAC;oBACD,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtC,WAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;wBACpF,mDAAmD;wBACnD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YAC1C,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAuB,CAAC;YAE5F,WAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;gBACxB,6BAA6B;gBAC7B,IAAA,WAAI,EAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;oBAC1F,qBAAqB;oBACrB,MAAM,UAAU,GAAG,MAAM,cAAc,CACrC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EACpC,KAAK,CAAC,EAAE,EACR,cAAc,EACd,cAAc,CACf,CAAC;oBACF,qBAAqB;oBACrB,mEAAmE;oBACnE,qEAAqE;oBAErE,kBAAkB;oBAClB,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/playwright/generator.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ class CreeveyPlaywrightReporter {
53
53
  */
54
54
  constructor(options) {
55
55
  this.port = options?.port ?? 3000;
56
- this.debug = options?.debug ?? false;
56
+ this.debug = options?.debug ?? !!process.env.PWDEBUG;
57
57
  }
58
58
  /**
59
59
  * Called when the test run starts
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/playwright/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/playwright/reporter.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ const docker_js_1 = require("./docker.js");
54
54
  const promises_1 = require("fs/promises");
55
55
  const assert_1 = __importDefault(require("assert"));
56
56
  const v = __importStar(require("valibot"));
57
- const playwright_js_1 = require("src/playwright.js");
57
+ const playwright_js_1 = require("../playwright.js");
58
58
  async function getPlaywrightVersion() {
59
59
  const { default: { version }, } = await import('playwright-core/package.json', { with: { type: 'json' } });
60
60
  return version;
@@ -199,17 +199,22 @@ async function default_1(command, options) {
199
199
  }
200
200
  }
201
201
  if (v.is(types_js_1.WorkerOptionsSchema, options) && cluster_1.default.isWorker) {
202
- if (config.webdriver !== playwright_js_1.PlaywrightWebdriver)
203
- return;
204
202
  let gridUrl = options.gridUrl;
205
203
  const { browser = config_js_1.defaultBrowser, debug } = options;
206
- if (config.useDocker) {
207
- const version = await getPlaywrightVersion();
208
- gridUrl = await startPlaywright(config, browser, version, debug);
209
- }
210
- else {
211
- const { browserName } = config.browsers[browser];
212
- gridUrl = `creevey://${(0, utils_js_1.resolvePlaywrightBrowserType)(browserName)}`;
204
+ if (!gridUrl) {
205
+ if (config.webdriver === playwright_js_1.PlaywrightWebdriver) {
206
+ if (config.useDocker) {
207
+ const version = await getPlaywrightVersion();
208
+ gridUrl = await startPlaywright(config, browser, version, debug);
209
+ }
210
+ else {
211
+ const { browserName } = config.browsers[browser];
212
+ gridUrl = `creevey://${(0, utils_js_1.resolvePlaywrightBrowserType)(browserName)}`;
213
+ }
214
+ }
215
+ else {
216
+ (0, assert_1.default)(gridUrl, 'Grid URL is required for Selenium');
217
+ }
213
218
  }
214
219
  (0, logger_js_1.logger)().info(`Starting Worker for ${browser}`);
215
220
  return (await import('./worker/start.js')).start(browser, gridUrl, config, options);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,10 @@ class CreeveyReporter {
21
21
  this.getLogger(test.creevey).warn(chalk_1.default.cyan(test.fullTitle()));
22
22
  });
23
23
  runner.on(types_js_1.TEST_EVENTS.TEST_PASS, (test) => {
24
- this.getLogger(test.creevey).info(chalk_1.default.cyan(test.fullTitle()), chalk_1.default.gray(`(${test.duration} ms)`));
24
+ this.getLogger(test.creevey).info(chalk_1.default.cyan(test.fullTitle()), test.duration ? chalk_1.default.gray(`(${test.duration} ms)`) : '');
25
25
  });
26
26
  runner.on(types_js_1.TEST_EVENTS.TEST_FAIL, (test, error) => {
27
- this.getLogger(test.creevey).error(chalk_1.default.cyan(test.fullTitle()), chalk_1.default.gray(`(${test.duration} ms)`), '\n ', this.getErrors(error, (error, imageName) => `${chalk_1.default.bold(imageName ?? test.creevey.browserName)}:${error}`, (error) => error.stack ?? error.message).join('\n '));
27
+ this.getLogger(test.creevey).error(chalk_1.default.cyan(test.fullTitle()), test.duration ? chalk_1.default.gray(`(${test.duration} ms)`) : '', '\n ', this.getErrors(error, (error, imageName) => `${chalk_1.default.bold(imageName ?? test.creevey.browserName)}:${error}`, (error) => error.stack ?? error.message).join('\n '));
28
28
  });
29
29
  }
30
30
  getLogger(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"creevey.js","sourceRoot":"","sources":["../../../src/server/reporters/creevey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"creevey.js","sourceRoot":"","sources":["../../../src/server/reporters/creevey.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,7 @@ export default defineConfig({
7
7
  // Configure reporters
8
8
  reporter: [
9
9
  ['list'],
10
- // Creevey reporter with debug enabled when playwright is run with `--debug` flag
11
- ['creevey/playwright/reporter', { debug: !!process.env.PWDEBUG }],
10
+ ['creevey/playwright/reporter'],
12
11
  ],
13
12
  // Reference images and report will be saved in these directories
14
13
  snapshotDir: './images',
@@ -6,7 +6,45 @@ This guide outlines the key changes and steps required to update your Creevey se
6
6
 
7
7
  ## Breaking Changes
8
8
 
9
- ### 1. Browser Configuration in `creevey.config.ts`
9
+ ### 1. CLI Commands Structure (Breaking Change)
10
+
11
+ Creevey 0.10 introduces a command-based CLI structure. You can no longer run Creevey without specifying a command.
12
+
13
+ **Before (0.9):**
14
+
15
+ ```bash
16
+ # Running tests
17
+ creevey --ui
18
+ creevey -s --ui
19
+ creevey --debug
20
+
21
+ # Update mode (approving images all at once with no way to review them)
22
+ creevey --update
23
+
24
+ # Viewing reports
25
+ # Doesn't have this feature
26
+ ```
27
+
28
+ **After (0.10):**
29
+
30
+ ```bash
31
+ # Running tests
32
+ creevey test --ui
33
+ creevey test -s --ui
34
+ creevey test --debug
35
+
36
+ # Viewing reports (approving images)
37
+ creevey report
38
+ creevey report ./custom-report-dir
39
+ ```
40
+
41
+ **Key Changes:**
42
+
43
+ - All test execution now requires the `test` command
44
+ - Image approval/update mode uses the `report` command instead of `-u/--update` flags
45
+ - Report viewing uses the `report` command
46
+
47
+ ### 2. Browser Configuration in `creevey.config.ts`
10
48
 
11
49
  The way browsers are configured has been updated to better distinguish between Selenium and Playwright settings.
12
50
 
@@ -62,7 +100,7 @@ const config: CreeveyConfig = {
62
100
  export default config;
63
101
  ```
64
102
 
65
- ### 2. Mocha Removal and New `CreeveyTestContext` API
103
+ ### 3. Mocha Removal and New `CreeveyTestContext` API
66
104
 
67
105
  Creevey no longer uses the Mocha testing framework. Tests now use a `CreeveyTestContext` object passed as an argument to the test function.
68
106
 
@@ -103,7 +141,7 @@ it('should interact with an element using Playwright', async (context) => {
103
141
  });
104
142
  ```
105
143
 
106
- ### 3. Reporter Configuration
144
+ ### 4. Reporter Configuration
107
145
 
108
146
  Reporter setup has moved from command-line options to the `creevey.config.ts` file.
109
147
 
@@ -16,98 +16,120 @@ Add the Creevey reporter to your Playwright configuration file:
16
16
 
17
17
  ```typescript
18
18
  // playwright.config.ts
19
- import { defineConfig } from '@playwright/test';
19
+ import { defineConfig, devices } from '@playwright/test';
20
20
 
21
21
  export default defineConfig({
22
+ testDir: './tests',
23
+ testMatch: 'visual.spec.ts',
24
+ globalSetup: 'creevey/playwright/setup',
25
+ // Configure reporters
22
26
  reporter: [
23
27
  ['list'], // Standard Playwright reporter for console output
24
- [
25
- 'creevey/playwright-reporter',
26
- {
27
- // Optional configuration options
28
- reportDir: './report', // Directory for report output
29
- screenDir: './images', // Directory for reference images
30
- port: 3000, // Port for Creevey UI server
31
- debug: false, // Enable debug logging
28
+ ['creevey/playwright/reporter'],
29
+ ],
30
+ // Reference images and report will be saved in these directories
31
+ snapshotDir: './images',
32
+ outputDir: './report',
33
+ use: {
34
+ viewport: { width: 1280, height: 720 },
35
+ baseURL: 'http://localhost:6006',
36
+ },
37
+ projects: [
38
+ {
39
+ name: 'chromium',
40
+ use: { ...devices['Desktop Chrome'] },
41
+ metadata: {
42
+ // Define storybook globals here (optional)
43
+ storybookGlobals: {
44
+ theme: 'dark',
45
+ },
32
46
  },
33
- ],
47
+ },
34
48
  ],
35
- // Other Playwright configuration...
49
+ webServer: {
50
+ command: 'yarn storybook dev --ci -p 6006',
51
+ url: 'http://localhost:6006',
52
+ reuseExistingServer: !process.env.CI,
53
+ },
36
54
  });
37
55
  ```
38
56
 
39
- ## Usage
57
+ ### Required Configuration
40
58
 
41
- ### Taking Screenshots for Comparison
59
+ - **Global Setup**: `globalSetup: 'creevey/playwright/setup'` - Required for proper initialization
60
+ - **Reporter**: `['creevey/playwright/reporter', options]` - The Creevey reporter
61
+ - **Output Directories**: Use standard Playwright `snapshotDir` and `outputDir` options
42
62
 
43
- The reporter automatically collects screenshots taken during Playwright tests. You can use Playwright's built-in screenshot capabilities:
63
+ ## Usage
44
64
 
45
- #### Using `page.screenshot()`
65
+ ### Basic Test Setup
46
66
 
47
- ```typescript
48
- import { test, expect } from '@playwright/test';
67
+ Create a visual test file using Creevey's `definePlaywrightTests()` function:
49
68
 
50
- test('capture screenshot with page.screenshot', async ({ page }) => {
51
- await page.goto('https://example.com');
69
+ ```typescript
70
+ // tests/visual.spec.ts
71
+ import { definePlaywrightTests } from 'creevey/playwright';
52
72
 
53
- // Take a screenshot and attach it to the test result
54
- const screenshot = await page.screenshot();
55
- await test.info().attach('example-screenshot', {
56
- body: screenshot,
57
- contentType: 'image/png',
58
- });
59
- });
73
+ definePlaywrightTests();
60
74
  ```
61
75
 
62
- #### Using Playwright's expect().toHaveScreenshot()
76
+ This simple setup will automatically:
63
77
 
64
- ```typescript
65
- import { test, expect } from '@playwright/test';
78
+ - Discover your Storybook stories
79
+ - Generate Playwright tests for each story
80
+ - Take screenshots and compare them with reference images
81
+ - Integrate with the Creevey UI for reviewing differences
66
82
 
67
- test('capture screenshot with toHaveScreenshot', async ({ page }) => {
68
- await page.goto('https://example.com');
83
+ ### Storybook Globals Configuration
69
84
 
70
- // This will automatically be picked up by the Creevey reporter
71
- await expect(page).toHaveScreenshot('example-screenshot.png');
72
- });
73
- ```
74
-
75
- ### Adding Creevey Metadata
76
-
77
- You can add metadata to your tests to better organize them in the Creevey UI:
85
+ You can configure Storybook globals for each browser project:
78
86
 
79
87
  ```typescript
80
- import { test } from '@playwright/test';
81
-
82
- test.describe('Homepage', () => {
83
- test('header elements @creevey{"storyPath": ["Website", "HomePage"], "browser": "chromium"}', async ({ page }) => {
84
- await page.goto('https://example.com');
85
- // Test code...
86
- await page.screenshot({ path: 'header.png' });
87
- });
88
- });
88
+ projects: [
89
+ {
90
+ name: 'chromium-light',
91
+ use: { ...devices['Desktop Chrome'] },
92
+ metadata: {
93
+ storybookGlobals: {
94
+ theme: 'light',
95
+ },
96
+ },
97
+ },
98
+ {
99
+ name: 'chromium-dark',
100
+ use: { ...devices['Desktop Chrome'] },
101
+ metadata: {
102
+ storybookGlobals: {
103
+ theme: 'dark',
104
+ },
105
+ },
106
+ },
107
+ ];
89
108
  ```
90
109
 
91
- The `@creevey` annotation accepts a JSON object with the following properties:
110
+ ## Running Tests
92
111
 
93
- - `storyPath`: Array of strings defining the hierarchy in the Creevey UI
94
- - `browser`: Browser name (chromium, firefox, webkit)
95
- - `testName`: Custom test name (defaults to the test title)
112
+ Run your visual tests with Playwright:
96
113
 
97
- ### Viewing Results
98
-
99
- After running your tests, you can view the results in the Creevey UI:
114
+ ```bash
115
+ # Run all tests
116
+ yarn playwright test
100
117
 
101
- 1. Open your browser and navigate to `http://localhost:3000` (or the port you configured)
102
- 2. Browse test results, view image comparisons, and approve changes
118
+ # Run with debug output
119
+ yarn playwright test --debug
103
120
 
104
- Run your tests with Playwright:
105
121
 
106
- ```bash
107
- npx playwright test
122
+ # Run tests for specific browser
123
+ yarn playwright test --project=chromium
108
124
  ```
109
125
 
110
- The Creevey server will automatically start during the test run, and you'll see a message with the URL once tests complete.
126
+ ### Viewing Results
127
+
128
+ After running your tests, you can run `yarn creevey report` to start the Creevey UI to review results:
129
+
130
+ 1. The reporter will output the URL where you can view results
131
+ 2. Navigate to the provided URL in your browser
132
+ 3. Browse test results, view image comparisons, and approve changes
111
133
 
112
134
  ### Approving Screenshots
113
135
 
@@ -117,241 +139,32 @@ You can approve screenshots directly from the Creevey UI by:
117
139
  2. Reviewing the differences between expected and actual images
118
140
  3. Clicking the "Approve" button to update the reference image
119
141
 
120
- ## Advanced Usage
121
-
122
- ### Custom Screenshot Names
123
-
124
- You can customize screenshot names to better organize your visual tests:
125
-
126
- ```typescript
127
- test('product page layout', async ({ page }) => {
128
- await page.goto('https://example.com/products/1');
129
-
130
- // Take multiple screenshots in a single test
131
- await test.info().attach('product-header', {
132
- body: await page.locator('.product-header').screenshot(),
133
- contentType: 'image/png',
134
- });
135
-
136
- await test.info().attach('product-details', {
137
- body: await page.locator('.product-details').screenshot(),
138
- contentType: 'image/png',
139
- });
140
- });
141
- ```
142
-
143
- ### Multiple Screenshots in One Test
144
-
145
- You can capture multiple screenshots in a single test:
146
-
147
- ```typescript
148
- test('responsive design checks', async ({ page }) => {
149
- await page.goto('https://example.com');
150
-
151
- // Mobile view
152
- await page.setViewportSize({ width: 375, height: 667 });
153
- await test.info().attach('mobile-view', {
154
- body: await page.screenshot(),
155
- contentType: 'image/png',
156
- });
157
-
158
- // Tablet view
159
- await page.setViewportSize({ width: 768, height: 1024 });
160
- await test.info().attach('tablet-view', {
161
- body: await page.screenshot(),
162
- contentType: 'image/png',
163
- });
164
-
165
- // Desktop view
166
- await page.setViewportSize({ width: 1280, height: 800 });
167
- await test.info().attach('desktop-view', {
168
- body: await page.screenshot(),
169
- contentType: 'image/png',
170
- });
171
- });
172
- ```
173
-
174
- ### Custom Test Names
175
-
176
- By default, the reporter will use the Playwright test title as the test name. You can customize how tests are named by setting meta data:
177
-
178
- ```typescript
179
- test('home page visual test', async ({ page }) => {
180
- test.info().annotations.push({
181
- type: 'creevey',
182
- description: JSON.stringify({
183
- testName: 'custom-test-name',
184
- browser: 'chrome', // Optional, to override browser name
185
- }),
186
- });
187
-
188
- // Test implementation...
189
- });
190
- ```
191
-
192
- ### Integration with Existing Creevey Configuration
193
-
194
- If you're already using Creevey for other tests, you can share configuration:
195
-
196
- ```typescript
197
- import { defineConfig } from '@playwright/test';
198
- import creeveyConfig from './creevey.config.js';
199
-
200
- export default defineConfig({
201
- reporter: [
202
- ['list'],
203
- [
204
- 'creevey/playwright-reporter',
205
- {
206
- reportDir: creeveyConfig.reportDir,
207
- screenDir: creeveyConfig.screenDir,
208
- port: 3001, // Use a different port to avoid conflicts
209
- },
210
- ],
211
- ],
212
- });
213
- ```
214
-
215
- ### Test Steps Integration
216
-
217
- The reporter supports Playwright's test steps, capturing screenshots at each step:
218
-
219
- ```typescript
220
- test('multi-step test', async ({ page }) => {
221
- await test.step('Step 1: Navigate to home', async () => {
222
- await page.goto('/');
223
- // Screenshot captured from this step will be associated with "Step 1"
224
- await test.info().attach('step1', {
225
- body: await page.screenshot(),
226
- contentType: 'image/png',
227
- });
228
- });
229
-
230
- await test.step('Step 2: Click button', async () => {
231
- await page.click('.button');
232
- // This screenshot will be associated with "Step 2"
233
- await test.info().attach('step2', {
234
- body: await page.screenshot(),
235
- contentType: 'image/png',
236
- });
237
- });
238
- });
239
- ```
240
-
241
- ### Integration with Existing Creevey Server
242
-
243
- If you're already running a Creevey server, you can configure the reporter to use it:
244
-
245
- ```typescript
246
- [
247
- CreeveyPlaywrightReporter,
248
- {
249
- useExistingServer: true, // Don't start a new server
250
- port: 3000, // Port of the existing server
251
- },
252
- ];
253
- ```
254
-
255
- ### Performance Optimization
256
-
257
- For large test suites with many screenshots, you can enable performance optimizations:
258
-
259
- ```typescript
260
- [
261
- CreeveyPlaywrightReporter,
262
- {
263
- batchProcessing: true, // Process screenshots in batches
264
- maxConcurrency: 4, // Maximum concurrent screenshot processing
265
- lazyInit: true, // Initialize components on demand
266
- },
267
- ];
268
- ```
269
-
270
- ## API Reference
271
-
272
- ### Reporter Options
273
-
274
- | Option | Type | Default | Description |
275
- | ------------------------- | ------- | ------------ | ----------------------------------------------------- |
276
- | `reportDir` | string | `'./report'` | Directory where Creevey will store reports |
277
- | `screenDir` | string | `'./images'` | Directory where reference images are stored |
278
- | `port` | number | `3000` | Port number for the Creevey UI server |
279
- | `debug` | boolean | `false` | Enable debug logging |
280
- | `uiEnabled` | boolean | `true` | Enable or disable the UI server |
281
- | `useExistingServer` | boolean | `false` | Use an existing Creevey server instance |
282
- | `batchProcessing` | boolean | `false` | Process screenshots in batches for better performance |
283
- | `maxConcurrency` | number | `2` | Maximum concurrent screenshot processing operations |
284
- | `lazyInit` | boolean | `false` | Initialize components on demand for faster startup |
285
- | `retainOrphanedImages` | boolean | `false` | Keep images not associated with current tests |
286
- | `customComparisonOptions` | object | `undefined` | Custom options for image comparison |
287
-
288
142
  ## Troubleshooting
289
143
 
290
144
  ### Common Issues
291
145
 
292
- - **Port conflicts**: If the Creevey server fails to start, it might be due to port conflicts. Change the port in the configuration.
293
- - **Missing screenshots**: Ensure your tests are attaching screenshots with unique names or using `toHaveScreenshot()`.
294
- - **Path issues**: If reference images aren't found, check that the `screenDir` path is correct and accessible.
295
-
296
- If screenshots are not appearing in the Creevey UI:
297
-
298
- 1. Ensure your screenshots are being properly attached to test results
299
- 2. Check that the content type is set to 'image/png' when attaching
300
- 3. Enable debug mode in the reporter configuration to see detailed logs
301
-
302
- ### Server Issues
303
-
304
- If the Creevey server fails to start:
305
-
306
- 1. Check if the configured port is already in use
307
- 2. Ensure the report directory is writable
308
- 3. Look for error messages in the console output
309
-
310
- ### Debug Mode
311
-
312
- Enable debug logging for more detailed information:
313
-
314
- ```typescript
315
- [
316
- CreeveyPlaywrightReporter,
317
- {
318
- debug: true,
319
- // Other options...
320
- },
321
- ];
322
- ```
146
+ **Tests not discovering stories**:
323
147
 
324
- ## Error Handling
148
+ - Ensure your Storybook server is running on the configured URL
149
+ - Check that `globalSetup: 'creevey/playwright/setup'` is included in your config
150
+ - Verify your `baseURL` points to your Storybook instance
325
151
 
326
- The reporter is designed to handle errors gracefully:
152
+ **Screenshots not being captured**:
327
153
 
328
- - If the reporter fails to initialize, tests will still run and screenshots will be captured when possible
329
- - If the server can't start, the reporter will continue to capture screenshots but the UI won't be available
330
- - All errors are logged with appropriate severity levels and won't cause your tests to fail
154
+ - Make sure you're using the `definePlaywrightTests()` function
155
+ - Check that `snapshotDir` is properly configured and writable
331
156
 
332
- ### Debugging Reporter Issues
157
+ **Port conflicts**:
333
158
 
334
- For detailed debugging information, enable debug mode and check the logs:
159
+ - If Storybook fails to start, ensure the port isn't already in use
160
+ - Configure a different port in the `webServer` configuration
335
161
 
336
- ```typescript
337
- [
338
- CreeveyPlaywrightReporter,
339
- {
340
- debug: true,
341
- },
342
- ];
343
- ```
162
+ ### Storybook Issues
344
163
 
345
- You can also specify a custom log file for the reporter:
164
+ If tests can't connect to Storybook:
346
165
 
347
- ```typescript
348
- [
349
- CreeveyPlaywrightReporter,
350
- {
351
- debug: true,
352
- logFile: './creevey-reporter.log',
353
- },
354
- ];
355
- ```
166
+ 1. Ensure Storybook starts successfully with `yarn storybook dev`
167
+ 2. Check that the URL in `webServer.url` matches your Storybook instance
168
+ 3. Verify your `baseURL` is correctly configured
356
169
 
357
170
  For more help, please check the main Creevey documentation or open an issue on GitHub.
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-rc.0",
4
+ "version": "0.10.0-rc.2",
5
5
  "type": "commonjs",
6
6
  "bin": "dist/cli.js",
7
7
  "main": "./dist/index.js",
@@ -14,7 +14,7 @@ export default defineConfig({
14
14
  retries: process.env.CI ? 2 : 0,
15
15
  reporter: [
16
16
  !process.env.PWDEBUG ? [defaultReporter] : ['null'],
17
- ['./src/playwright/reporter.ts', { debug: !!process.env.PWDEBUG }],
17
+ ['./src/playwright/reporter.ts'],
18
18
  // NOTE: use `playwright test --ui` to run tests with Creevey reporter
19
19
  ],
20
20
  use: {
@@ -3,7 +3,7 @@ import assert from 'assert';
3
3
  import { readFileSync } from 'fs';
4
4
  import type { PixelmatchOptions } from 'pixelmatch';
5
5
  import type { ODiffOptions } from 'odiff-bin';
6
- import { test, Page } from '@playwright/test';
6
+ import { test, Page, BrowserContext } from '@playwright/test';
7
7
  import isEqual from 'lodash/isEqual.js';
8
8
  import { CreeveyStoryParams, isObject, StoriesRaw, StorybookEvents, StorybookGlobals } from '../types';
9
9
  import { getOdiffAssert, getPixelmatchAssert, ImageContext } from '../server/compare';
@@ -31,6 +31,11 @@ export interface TestsConfig {
31
31
  * @default true
32
32
  */
33
33
  reusePageContext: boolean;
34
+ /**
35
+ * Enables trace recording for each test.
36
+ * @default false
37
+ */
38
+ trace: boolean | { screenshots?: boolean; snapshots?: boolean; sources?: boolean };
34
39
  }
35
40
 
36
41
  const cacheDir = process.env.CREEVEY_CACHE_DIR;
@@ -39,6 +44,7 @@ const defaultConfig: TestsConfig = {
39
44
  odiffOptions: { threshold: 0.1, antialiasing: true },
40
45
  comparisonLibrary: 'pixelmatch',
41
46
  reusePageContext: true,
47
+ trace: false,
42
48
  };
43
49
 
44
50
  // TODO: Use this Storybook function for building args for query params
@@ -80,6 +86,8 @@ async function takeScreenshot(
80
86
  const mask = ignore.map((selector) => page.locator(selector));
81
87
 
82
88
  if (captureElement) {
89
+ // TODO Use page.locator(captureElement) instead of page.$(captureElement)
90
+ // TODO Test `#storybook-root > *` selector, probably we don't need `> *` and use `#storybook-root >*:first-child` instead
83
91
  const element = await page.$(captureElement);
84
92
  if (!element) throw new Error(`Capture element '${captureElement}' not found for story '${storyId}'`);
85
93
  return element.screenshot({
@@ -103,9 +111,10 @@ export function definePlaywrightTests(config?: Partial<TestsConfig>): void {
103
111
 
104
112
  const stories = JSON.parse(readFileSync(path.join(cacheDir, 'stories.json'), 'utf-8')) as StoriesRaw;
105
113
  let globals: StorybookGlobals = {};
114
+ let reusedContext: BrowserContext;
106
115
  let reusedPage: Page;
107
116
 
108
- const { diffOptions, odiffOptions, comparisonLibrary, reusePageContext } = {
117
+ const { diffOptions, odiffOptions, comparisonLibrary, reusePageContext, trace } = {
109
118
  ...defaultConfig,
110
119
  ...config,
111
120
  };
@@ -128,14 +137,27 @@ export function definePlaywrightTests(config?: Partial<TestsConfig>): void {
128
137
  let assertImage: (actual: Buffer, imageName?: string) => Promise<void>;
129
138
 
130
139
  test.beforeAll('Setup images context', async ({ browser }, { project }) => {
131
- const { snapshotDir, outputDir } = project;
140
+ const {
141
+ snapshotDir,
142
+ outputDir,
143
+ use: { viewport },
144
+ } = project;
145
+
132
146
  if (reusePageContext) {
133
147
  const storybookUrl = project.use.baseURL;
134
148
 
135
149
  assert(storybookUrl, 'Storybook URL not found');
136
150
 
137
- reusedPage = await browser.newPage();
138
- await reusedPage.goto(appendIframePath(storybookUrl), { waitUntil: 'networkidle', timeout: 60000 });
151
+ // TODO Record video
152
+ reusedContext = await browser.newContext({ viewport, screen: viewport ?? undefined });
153
+ if (trace) {
154
+ await reusedContext.tracing.start(
155
+ typeof trace === 'object' ? trace : { screenshots: true, snapshots: true, sources: true },
156
+ );
157
+ }
158
+ reusedPage = await reusedContext.newPage();
159
+ await reusedPage.goto(appendIframePath(storybookUrl), { timeout: 60000 });
160
+ await reusedPage.waitForLoadState('networkidle');
139
161
  await waitForStorybookReady(reusedPage);
140
162
  }
141
163
  if (comparisonLibrary === 'pixelmatch') {
@@ -174,10 +196,8 @@ export function definePlaywrightTests(config?: Partial<TestsConfig>): void {
174
196
 
175
197
  assert(storybookUrl, 'Storybook URL not found');
176
198
 
177
- await page.goto(appendStoryQueryParams(appendIframePath(storybookUrl), storyId), {
178
- waitUntil: 'networkidle',
179
- timeout: 60000,
180
- });
199
+ await page.goto(appendStoryQueryParams(appendIframePath(storybookUrl), storyId), { timeout: 60000 });
200
+ await page.waitForLoadState('networkidle');
181
201
  await waitForStorybookReady(page);
182
202
  // TODO: Pass globals to story
183
203
  await updateGlobals(page, storybookGlobals);
@@ -201,6 +221,12 @@ export function definePlaywrightTests(config?: Partial<TestsConfig>): void {
201
221
  // NOTE: Copy-pasted from withCreevey.ts
202
222
  const channel = window.__STORYBOOK_ADDONS_CHANNEL__;
203
223
 
224
+ async function sequence(fns: (() => Promise<unknown>)[]): Promise<void> {
225
+ for (const fn of fns) {
226
+ await fn();
227
+ }
228
+ }
229
+
204
230
  const waitForReady = shouldWaitForReady
205
231
  ? new Promise<void>((resolve) => (window.__CREEVEY_SET_READY_FOR_CAPTURE__ = resolve))
206
232
  : Promise.resolve();
@@ -241,7 +267,10 @@ export function definePlaywrightTests(config?: Partial<TestsConfig>): void {
241
267
  }, 0);
242
268
 
243
269
  try {
244
- await Promise.race([renderErrorPromise, Promise.all([storyRenderedPromise, waitForReady])]);
270
+ await Promise.race([
271
+ renderErrorPromise,
272
+ sequence([() => storyRenderedPromise, () => document.fonts.ready, () => waitForReady]),
273
+ ]);
245
274
  } catch (reason) {
246
275
  // NOTE Event `STORY_THREW_EXCEPTION` triggered only in react and vue frameworks and return Error instance
247
276
  // NOTE Event `STORY_ERRORED` return error-like object without `name` field
@@ -295,6 +324,15 @@ export function definePlaywrightTests(config?: Partial<TestsConfig>): void {
295
324
  }
296
325
  });
297
326
 
327
+ if (trace && reusePageContext) {
328
+ test.afterAll('Save trace', async (_, { project }) => {
329
+ const { outputDir, name: projectName } = project;
330
+ await reusedContext.tracing.stop({
331
+ path: `${outputDir}/traces/${projectName}-${process.pid}.zip`,
332
+ });
333
+ });
334
+ }
335
+
298
336
  for (const story of Object.values(stories)) {
299
337
  const { name, title, parameters } = story;
300
338
  const { captureElement, ignoreElements } = (parameters.creevey ?? {}) as CreeveyStoryParams;
@@ -62,7 +62,7 @@ class CreeveyPlaywrightReporter implements Reporter {
62
62
  */
63
63
  constructor(options?: { port?: number; debug?: boolean }) {
64
64
  this.port = options?.port ?? 3000;
65
- this.debug = options?.debug ?? false;
65
+ this.debug = options?.debug ?? !!process.env.PWDEBUG;
66
66
  }
67
67
 
68
68
  /**
@@ -23,7 +23,7 @@ import { buildImage } from './docker.js';
23
23
  import { mkdir, writeFile } from 'fs/promises';
24
24
  import assert from 'assert';
25
25
  import * as v from 'valibot';
26
- import { PlaywrightWebdriver } from 'src/playwright.js';
26
+ import { PlaywrightWebdriver } from '../playwright.js';
27
27
 
28
28
  async function getPlaywrightVersion(): Promise<string> {
29
29
  const {
@@ -192,17 +192,21 @@ export default async function (command: 'report' | 'test' | 'worker', options: O
192
192
  }
193
193
 
194
194
  if (v.is(WorkerOptionsSchema, options) && cluster.isWorker) {
195
- if (config.webdriver !== PlaywrightWebdriver) return;
196
-
197
195
  let gridUrl = options.gridUrl;
198
196
  const { browser = defaultBrowser, debug } = options;
199
197
 
200
- if (config.useDocker) {
201
- const version = await getPlaywrightVersion();
202
- gridUrl = await startPlaywright(config, browser, version, debug);
203
- } else {
204
- const { browserName } = config.browsers[browser] as BrowserConfigObject;
205
- gridUrl = `creevey://${resolvePlaywrightBrowserType(browserName)}`;
198
+ if (!gridUrl) {
199
+ if (config.webdriver === PlaywrightWebdriver) {
200
+ if (config.useDocker) {
201
+ const version = await getPlaywrightVersion();
202
+ gridUrl = await startPlaywright(config, browser, version, debug);
203
+ } else {
204
+ const { browserName } = config.browsers[browser] as BrowserConfigObject;
205
+ gridUrl = `creevey://${resolvePlaywrightBrowserType(browserName)}`;
206
+ }
207
+ } else {
208
+ assert(gridUrl, 'Grid URL is required for Selenium');
209
+ }
206
210
  }
207
211
 
208
212
  logger().info(`Starting Worker for ${browser}`);
@@ -18,12 +18,15 @@ export class CreeveyReporter {
18
18
  this.getLogger(test.creevey).warn(chalk.cyan(test.fullTitle()));
19
19
  });
20
20
  runner.on(TEST_EVENTS.TEST_PASS, (test: FakeTest) => {
21
- this.getLogger(test.creevey).info(chalk.cyan(test.fullTitle()), chalk.gray(`(${test.duration} ms)`));
21
+ this.getLogger(test.creevey).info(
22
+ chalk.cyan(test.fullTitle()),
23
+ test.duration ? chalk.gray(`(${test.duration} ms)`) : '',
24
+ );
22
25
  });
23
26
  runner.on(TEST_EVENTS.TEST_FAIL, (test: FakeTest, error) => {
24
27
  this.getLogger(test.creevey).error(
25
28
  chalk.cyan(test.fullTitle()),
26
- chalk.gray(`(${test.duration} ms)`),
29
+ test.duration ? chalk.gray(`(${test.duration} ms)`) : '',
27
30
  '\n ',
28
31
  this.getErrors(
29
32
  error,