@quickpickle/playwright 0.9.4 → 0.9.6

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.
@@ -4,27 +4,40 @@ var playwright = require('playwright');
4
4
  var quickpickle = require('quickpickle');
5
5
  var lodashEs = require('lodash-es');
6
6
 
7
+ const browsers = { chromium: playwright.chromium, firefox: playwright.firefox, webkit: playwright.webkit };
7
8
  const defaultPlaywrightWorldConfig = {
9
+ host: 'http://localhost',
10
+ screenshotDir: 'screenshots',
8
11
  nojsTags: ['@nojs', '@noscript'],
12
+ showBrowserTags: ['@browser', '@show-browser', '@showbrowser'],
13
+ slowMoTags: ['@slowmo'],
9
14
  headless: true,
10
- slowMo: 0,
15
+ slowMo: false,
16
+ slowMoMs: 500,
11
17
  };
12
18
  class PlaywrightWorld extends quickpickle.QuickPickleWorld {
13
- constructor(context, info, worldConfig) {
19
+ constructor(context, info, worldConfig = {}) {
14
20
  super(context, info);
15
21
  this.playwrightConfig = defaultPlaywrightWorldConfig;
16
- let newConfig = lodashEs.defaults(defaultPlaywrightWorldConfig, worldConfig || {});
22
+ let newConfig = lodashEs.defaultsDeep(worldConfig || {}, defaultPlaywrightWorldConfig);
17
23
  newConfig.nojsTags = quickpickle.normalizeTags(newConfig.nojsTags);
24
+ newConfig.showBrowserTags = quickpickle.normalizeTags(newConfig.showBrowserTags);
25
+ newConfig.slowMoTags = quickpickle.normalizeTags(newConfig.slowMoTags);
26
+ if (typeof newConfig.slowMo === 'number') {
27
+ newConfig.slowMoMs = newConfig.slowMo;
28
+ newConfig.slowMo = newConfig.slowMoMs > 0;
29
+ }
18
30
  this.playwrightConfig = newConfig;
19
31
  }
20
32
  async init() {
21
- this.browser = await playwright.chromium.launch({
22
- headless: this.playwrightConfig.headless,
23
- slowMo: this.playwrightConfig.slowMo,
33
+ let browserName = this.info.tags.find(t => t.match(/^@(?:chromium|firefox|webkit)$/))?.replace(/^@/, '') ?? 'chromium';
34
+ this.browser = await browsers[browserName].launch({
35
+ headless: this.tagsMatch(this.playwrightConfig.showBrowserTags) ? false : this.playwrightConfig.headless,
36
+ slowMo: (this.playwrightConfig.slowMo || this.tagsMatch(this.playwrightConfig.slowMoTags)) ? this.playwrightConfig.slowMoMs : 0
24
37
  });
25
38
  this.browserContext = await this.browser.newContext({
26
39
  serviceWorkers: 'block',
27
- javaScriptEnabled: lodashEs.intersection(this.info.tags, this.playwrightConfig.nojsTags)?.length ? false : true,
40
+ javaScriptEnabled: this.tagsMatch(this.playwrightConfig.nojsTags) ? false : true,
28
41
  });
29
42
  this.page = await this.browserContext.newPage();
30
43
  }
@@ -39,6 +52,12 @@ class PlaywrightWorld extends quickpickle.QuickPickleWorld {
39
52
  async close() {
40
53
  await this.browser.close();
41
54
  }
55
+ get baseUrl() {
56
+ if (this.playwrightConfig.port)
57
+ return new URL(`${this.playwrightConfig.host}:${this.playwrightConfig.port}`);
58
+ else
59
+ return new URL(this.playwrightConfig.host);
60
+ }
42
61
  }
43
62
  quickpickle.After(async (world) => {
44
63
  await world.browserContext.close();
@@ -1 +1 @@
1
- {"version":3,"file":"PlaywrightWorld.cjs","sources":["../src/PlaywrightWorld.ts"],"sourcesContent":[null],"names":["QuickPickleWorld","defaults","normalizeTags","chromium","intersection","After"],"mappings":";;;;;;AAYa,MAAA,4BAA4B,GAAG;AAC1C,IAAA,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;AAChC,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,MAAM,EAAE,CAAC;EACV;AAIK,MAAO,eAAgB,SAAQA,4BAAgB,CAAA;AAMnD,IAAA,WAAA,CAAY,OAAmB,EAAE,IAAgD,EAAE,WAAyC,EAAA;AAC1H,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAHtB,IAAgB,CAAA,gBAAA,GAAyB,4BAA4B,CAAA;QAInE,IAAI,SAAS,GAAGC,iBAAQ,CAAC,4BAA4B,EAAE,WAAW,IAAI,EAAE,CAAC,CAAA;QACzE,SAAS,CAAC,QAAQ,GAAGC,yBAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AACtD,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;KAClC;AAED,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,GAAG,MAAMC,mBAAQ,CAAC,MAAM,CAAC;AACnC,YAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;AACxC,YAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;AACrC,SAAA,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAClD,YAAA,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAEC,qBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;AACvG,SAAA,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA;KAChD;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,QAAA,MAAM,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAA;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAClD,YAAA,cAAc,EAAE,OAAO;AACxB,SAAA,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA;KAChD;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;KAC3B;AACF,CAAA;AAEDC,iBAAK,CAAC,OAAO,KAAqB,KAAI;AACpC,IAAA,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;AACpC,CAAC,CAAC;;;;;"}
1
+ {"version":3,"file":"PlaywrightWorld.cjs","sources":["../src/PlaywrightWorld.ts"],"sourcesContent":[null],"names":["chromium","firefox","webkit","QuickPickleWorld","defaultsDeep","normalizeTags","After"],"mappings":"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"}
@@ -1,17 +1,30 @@
1
1
  import { type Browser, type BrowserContext, type Page } from 'playwright';
2
2
  import { QuickPickleWorld, QuickPickleWorldInterface } from 'quickpickle';
3
3
  import type { TestContext } from 'vitest';
4
- export type PlaywrightWorldConfigSetting = {
5
- nojsTags?: string | string[];
4
+ export type PlaywrightWorldConfigSetting = Partial<{
5
+ host: string;
6
+ port: number;
7
+ screenshotDir: string;
8
+ nojsTags: string | string[];
9
+ showBrowserTags: string | string[];
10
+ slowMoTags: string | string[];
6
11
  headless: boolean;
7
- sloMo: number;
8
- };
12
+ slowMo: boolean | number;
13
+ slowMoMs: number;
14
+ }>;
9
15
  export declare const defaultPlaywrightWorldConfig: {
16
+ host: string;
17
+ screenshotDir: string;
10
18
  nojsTags: string[];
19
+ showBrowserTags: string[];
20
+ slowMoTags: string[];
11
21
  headless: boolean;
12
- slowMo: number;
22
+ slowMo: boolean;
23
+ slowMoMs: number;
24
+ };
25
+ export type PlaywrightWorldConfig = typeof defaultPlaywrightWorldConfig & {
26
+ port?: number;
13
27
  };
14
- export type PlaywrightWorldConfig = typeof defaultPlaywrightWorldConfig;
15
28
  export declare class PlaywrightWorld extends QuickPickleWorld {
16
29
  browser: Browser;
17
30
  browserContext: BrowserContext;
@@ -21,4 +34,5 @@ export declare class PlaywrightWorld extends QuickPickleWorld {
21
34
  init(): Promise<void>;
22
35
  reset(): Promise<void>;
23
36
  close(): Promise<void>;
37
+ get baseUrl(): URL;
24
38
  }
@@ -1,28 +1,41 @@
1
- import { chromium } from 'playwright';
1
+ import { chromium, firefox, webkit } from 'playwright';
2
2
  import { After, QuickPickleWorld, normalizeTags } from 'quickpickle';
3
- import { defaults, intersection } from 'lodash-es';
3
+ import { defaultsDeep } from 'lodash-es';
4
4
 
5
+ const browsers = { chromium, firefox, webkit };
5
6
  const defaultPlaywrightWorldConfig = {
7
+ host: 'http://localhost',
8
+ screenshotDir: 'screenshots',
6
9
  nojsTags: ['@nojs', '@noscript'],
10
+ showBrowserTags: ['@browser', '@show-browser', '@showbrowser'],
11
+ slowMoTags: ['@slowmo'],
7
12
  headless: true,
8
- slowMo: 0,
13
+ slowMo: false,
14
+ slowMoMs: 500,
9
15
  };
10
16
  class PlaywrightWorld extends QuickPickleWorld {
11
- constructor(context, info, worldConfig) {
17
+ constructor(context, info, worldConfig = {}) {
12
18
  super(context, info);
13
19
  this.playwrightConfig = defaultPlaywrightWorldConfig;
14
- let newConfig = defaults(defaultPlaywrightWorldConfig, worldConfig || {});
20
+ let newConfig = defaultsDeep(worldConfig || {}, defaultPlaywrightWorldConfig);
15
21
  newConfig.nojsTags = normalizeTags(newConfig.nojsTags);
22
+ newConfig.showBrowserTags = normalizeTags(newConfig.showBrowserTags);
23
+ newConfig.slowMoTags = normalizeTags(newConfig.slowMoTags);
24
+ if (typeof newConfig.slowMo === 'number') {
25
+ newConfig.slowMoMs = newConfig.slowMo;
26
+ newConfig.slowMo = newConfig.slowMoMs > 0;
27
+ }
16
28
  this.playwrightConfig = newConfig;
17
29
  }
18
30
  async init() {
19
- this.browser = await chromium.launch({
20
- headless: this.playwrightConfig.headless,
21
- slowMo: this.playwrightConfig.slowMo,
31
+ let browserName = this.info.tags.find(t => t.match(/^@(?:chromium|firefox|webkit)$/))?.replace(/^@/, '') ?? 'chromium';
32
+ this.browser = await browsers[browserName].launch({
33
+ headless: this.tagsMatch(this.playwrightConfig.showBrowserTags) ? false : this.playwrightConfig.headless,
34
+ slowMo: (this.playwrightConfig.slowMo || this.tagsMatch(this.playwrightConfig.slowMoTags)) ? this.playwrightConfig.slowMoMs : 0
22
35
  });
23
36
  this.browserContext = await this.browser.newContext({
24
37
  serviceWorkers: 'block',
25
- javaScriptEnabled: intersection(this.info.tags, this.playwrightConfig.nojsTags)?.length ? false : true,
38
+ javaScriptEnabled: this.tagsMatch(this.playwrightConfig.nojsTags) ? false : true,
26
39
  });
27
40
  this.page = await this.browserContext.newPage();
28
41
  }
@@ -37,6 +50,12 @@ class PlaywrightWorld extends QuickPickleWorld {
37
50
  async close() {
38
51
  await this.browser.close();
39
52
  }
53
+ get baseUrl() {
54
+ if (this.playwrightConfig.port)
55
+ return new URL(`${this.playwrightConfig.host}:${this.playwrightConfig.port}`);
56
+ else
57
+ return new URL(this.playwrightConfig.host);
58
+ }
40
59
  }
41
60
  After(async (world) => {
42
61
  await world.browserContext.close();
@@ -1 +1 @@
1
- {"version":3,"file":"PlaywrightWorld.mjs","sources":["../src/PlaywrightWorld.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYa,MAAA,4BAA4B,GAAG;AAC1C,IAAA,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;AAChC,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,MAAM,EAAE,CAAC;EACV;AAIK,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;AAMnD,IAAA,WAAA,CAAY,OAAmB,EAAE,IAAgD,EAAE,WAAyC,EAAA;AAC1H,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAHtB,IAAgB,CAAA,gBAAA,GAAyB,4BAA4B,CAAA;QAInE,IAAI,SAAS,GAAG,QAAQ,CAAC,4BAA4B,EAAE,WAAW,IAAI,EAAE,CAAC,CAAA;QACzE,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AACtD,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;KAClC;AAED,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,YAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;AACxC,YAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;AACrC,SAAA,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAClD,YAAA,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;AACvG,SAAA,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA;KAChD;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,QAAA,MAAM,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAA;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAClD,YAAA,cAAc,EAAE,OAAO;AACxB,SAAA,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA;KAChD;AAED,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;KAC3B;AACF,CAAA;AAED,KAAK,CAAC,OAAO,KAAqB,KAAI;AACpC,IAAA,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;AACpC,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"PlaywrightWorld.mjs","sources":["../src/PlaywrightWorld.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -7,34 +7,41 @@ var url = require('node:url');
7
7
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
8
8
  const projectRoot = path.resolve(path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('actions.steps.cjs', document.baseURI).href)))), '..');
9
9
  quickpickle.Given('I am on {string}', async function (world, path) {
10
- let url = new URL(path, 'http://localhost:5173');
10
+ let url = new URL(path, world.baseUrl);
11
11
  await world.page.goto(url.href);
12
- await world.page.waitForTimeout(80);
13
12
  });
14
13
  quickpickle.When(`I visit {string}`, async function (world, path) {
15
- let url = new URL(path, 'http://localhost:5173');
14
+ let url = new URL(path, world.baseUrl);
16
15
  await world.page.goto(url.href);
17
- await world.page.waitForTimeout(80);
18
16
  });
19
17
  quickpickle.When(`I navigate/go to {string}`, async function (world, path) {
20
- let url = new URL(path, 'http://localhost:5173');
18
+ let url = new URL(path, world.baseUrl);
21
19
  await world.page.goto(url.href);
22
- await world.page.waitForTimeout(80);
20
+ });
21
+ quickpickle.When('I load the file {string}', async (world, path) => {
22
+ await world.page.goto(`file://${projectRoot}/${path}`);
23
23
  });
24
24
  quickpickle.When('I click/press/tap/touch (on ){string}', async function (world, identifier) {
25
- let locator = await world.page.getByText(identifier).or(world.page.locator(identifier));
26
- await locator.click();
25
+ await world.page.getByText(identifier, { exact: true }).click();
27
26
  });
28
27
  quickpickle.When('I click/press/tap/touch (on )the {string} {word}', async function (world, identifier, role) {
29
- let locator = await world.page.getByRole(role, { name: identifier });
28
+ let locator;
29
+ if (role === 'element')
30
+ locator = await world.page.getByText(identifier, { exact: true }).or(world.page.locator(identifier));
31
+ else
32
+ locator = await world.page.getByRole(role, { name: identifier });
30
33
  await locator.click();
31
34
  });
32
35
  quickpickle.When('I focus/select/activate (on ){string}', async function (world, identifier) {
33
- let locator = await world.page.locator(identifier);
36
+ let locator = await world.page.getByText(identifier, { exact: true }).or(world.page.locator(identifier));
34
37
  await locator.focus();
35
38
  });
36
39
  quickpickle.When('I focus/select/activate (on )the {string} {word}', async function (world, identifier, role) {
37
- let locator = await world.page.getByRole(role, { name: identifier });
40
+ let locator;
41
+ if (role === 'element')
42
+ locator = await world.page.getByText(identifier, { exact: true }).or(world.page.locator(identifier));
43
+ else
44
+ locator = await world.page.getByRole(role, { name: identifier });
38
45
  await locator.focus();
39
46
  });
40
47
  quickpickle.When("for (the ){string} I enter/fill (in ){string}", async function (world, identifier, text) {
@@ -42,7 +49,7 @@ quickpickle.When("for (the ){string} I enter/fill (in ){string}", async function
42
49
  await locator.fill(text);
43
50
  });
44
51
  quickpickle.When("for (the ){string} I enter/fill (in )the following( text):", async function (world, identifier, text) {
45
- let locator = await world.page.getByLabel(identifier).or(await world.page.getByPlaceholder(identifier)).or(await world.page.locator(identifier));
52
+ let locator = await world.page.getByLabel(identifier).or(world.page.getByPlaceholder(identifier)).or(world.page.locator(identifier));
46
53
  await locator.fill(text);
47
54
  });
48
55
  quickpickle.When('I enter/fill (in )the following( fields):', async function (world, table) {
@@ -63,19 +70,24 @@ quickpickle.When('I enter/fill (in )the following( fields):', async function (wo
63
70
  }
64
71
  }
65
72
  });
66
- quickpickle.When(/^I wait for "([^"]+)" to be (attached|detatched|visible|hidden)$/, async function (world, identifier, state) {
67
- let locator = await world.page.getByText(identifier).or(world.page.getByLabel(identifier)).or(world.page.locator(identifier));
73
+ quickpickle.When('I wait for {string} to be attached/detatched/visible/hidden', async function (world, identifier) {
74
+ let state = world.info.step?.match(/(attached|detatched|visible|hidden)$/)[0];
75
+ let locator = await world.page.getByText(identifier, { exact: true }).or(world.page.getByLabel(identifier)).or(world.page.locator(identifier));
68
76
  await locator.waitFor({ state });
69
77
  });
70
- quickpickle.When(/^I scroll (down|up|left|right)$/, async function (world, direction) {
78
+ quickpickle.When('I wait for {int}ms', async function (world, num) {
79
+ await world.page.waitForTimeout(num);
80
+ });
81
+ quickpickle.When('I scroll down/up/left/right', async function (world) {
82
+ let direction = world.info.step?.match(/(down|up|left|right)$/)[0];
71
83
  let num = 100;
72
84
  let horiz = direction.includes('t');
73
85
  if (horiz)
74
86
  await world.page.mouse.wheel(direction === 'right' ? num : -num, 0);
75
87
  await world.page.mouse.wheel(0, direction === 'down' ? num : -num);
76
88
  });
77
- quickpickle.When(/^I scroll (down|up|left|right) (\d*)(?:px| pixels?)$/, async function (world, direction, int) {
78
- let num = parseInt(int || '100');
89
+ quickpickle.When('I scroll down/up/left/right {int}(px)( pixels)', async function (world, num) {
90
+ let direction = world.info.step?.match(/(down|up|left|right)(?= \d)/)[0];
79
91
  let horiz = direction.includes('t');
80
92
  if (horiz)
81
93
  await world.page.mouse.wheel(direction === 'right' ? num : -num, 0);
@@ -87,19 +99,18 @@ quickpickle.When('I type the following keys: {}', async function (world, keys) {
87
99
  await world.page.keyboard.press(key);
88
100
  }
89
101
  });
90
- quickpickle.When(/^I go (back|forwards?)$/, async function (world, direction) {
102
+ quickpickle.When('I go back/forwards?', async function (world) {
103
+ let direction = world.info.step?.match(/(back|forwards?)$/)[0];
91
104
  if (direction === 'back')
92
105
  await world.page.goBack();
93
106
  else
94
107
  await world.page.goForward();
95
108
  });
96
- quickpickle.Then('(I )take (a )screenshot', async function (world, str) {
97
- await world.page.waitForTimeout(50);
98
- await world.page.screenshot({ path: `${projectRoot}/screenshots/${world.info.scenario}__${world.info.line}.png`.replace(/\/\//g, '/') });
109
+ quickpickle.Then('(I )take (a )screenshot', async function (world) {
110
+ await world.page.screenshot({ path: `${projectRoot}/${world.playwrightConfig.screenshotDir}/${world.info.rule ? world.info.rule + '__' + world.info.scenario : world.info.scenario}__${world.info.line}.png`.replace(/\/\//g, '/') });
99
111
  });
100
- quickpickle.Then('(I )take (a )screenshot #{int} in (the folder ){string}', async function (world, dir) {
101
- await world.page.waitForTimeout(50);
102
- await world.page.screenshot({ path: `${projectRoot}/${dir}/${world.info.scenario}__${world.info.line}.png`.replace(/\/\//g, '/') });
112
+ quickpickle.Then('(I )take (a )screenshot named {string}', async function (world, name) {
113
+ await world.page.screenshot({ path: `${projectRoot}/${world.playwrightConfig.screenshotDir}/${name}.png`.replace(/\/\//g, '/') });
103
114
  });
104
115
 
105
116
  exports.projectRoot = projectRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"actions.steps.cjs","sources":["../src/actions.steps.ts"],"sourcesContent":[null],"names":["Given","When","Then"],"mappings":"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"}
1
+ {"version":3,"file":"actions.steps.cjs","sources":["../src/actions.steps.ts"],"sourcesContent":[null],"names":["Given","When","Then"],"mappings":"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"}
@@ -4,34 +4,41 @@ import url from 'node:url';
4
4
 
5
5
  const projectRoot = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), '..');
6
6
  Given('I am on {string}', async function (world, path) {
7
- let url = new URL(path, 'http://localhost:5173');
7
+ let url = new URL(path, world.baseUrl);
8
8
  await world.page.goto(url.href);
9
- await world.page.waitForTimeout(80);
10
9
  });
11
10
  When(`I visit {string}`, async function (world, path) {
12
- let url = new URL(path, 'http://localhost:5173');
11
+ let url = new URL(path, world.baseUrl);
13
12
  await world.page.goto(url.href);
14
- await world.page.waitForTimeout(80);
15
13
  });
16
14
  When(`I navigate/go to {string}`, async function (world, path) {
17
- let url = new URL(path, 'http://localhost:5173');
15
+ let url = new URL(path, world.baseUrl);
18
16
  await world.page.goto(url.href);
19
- await world.page.waitForTimeout(80);
17
+ });
18
+ When('I load the file {string}', async (world, path) => {
19
+ await world.page.goto(`file://${projectRoot}/${path}`);
20
20
  });
21
21
  When('I click/press/tap/touch (on ){string}', async function (world, identifier) {
22
- let locator = await world.page.getByText(identifier).or(world.page.locator(identifier));
23
- await locator.click();
22
+ await world.page.getByText(identifier, { exact: true }).click();
24
23
  });
25
24
  When('I click/press/tap/touch (on )the {string} {word}', async function (world, identifier, role) {
26
- let locator = await world.page.getByRole(role, { name: identifier });
25
+ let locator;
26
+ if (role === 'element')
27
+ locator = await world.page.getByText(identifier, { exact: true }).or(world.page.locator(identifier));
28
+ else
29
+ locator = await world.page.getByRole(role, { name: identifier });
27
30
  await locator.click();
28
31
  });
29
32
  When('I focus/select/activate (on ){string}', async function (world, identifier) {
30
- let locator = await world.page.locator(identifier);
33
+ let locator = await world.page.getByText(identifier, { exact: true }).or(world.page.locator(identifier));
31
34
  await locator.focus();
32
35
  });
33
36
  When('I focus/select/activate (on )the {string} {word}', async function (world, identifier, role) {
34
- let locator = await world.page.getByRole(role, { name: identifier });
37
+ let locator;
38
+ if (role === 'element')
39
+ locator = await world.page.getByText(identifier, { exact: true }).or(world.page.locator(identifier));
40
+ else
41
+ locator = await world.page.getByRole(role, { name: identifier });
35
42
  await locator.focus();
36
43
  });
37
44
  When("for (the ){string} I enter/fill (in ){string}", async function (world, identifier, text) {
@@ -39,7 +46,7 @@ When("for (the ){string} I enter/fill (in ){string}", async function (world, ide
39
46
  await locator.fill(text);
40
47
  });
41
48
  When("for (the ){string} I enter/fill (in )the following( text):", async function (world, identifier, text) {
42
- let locator = await world.page.getByLabel(identifier).or(await world.page.getByPlaceholder(identifier)).or(await world.page.locator(identifier));
49
+ let locator = await world.page.getByLabel(identifier).or(world.page.getByPlaceholder(identifier)).or(world.page.locator(identifier));
43
50
  await locator.fill(text);
44
51
  });
45
52
  When('I enter/fill (in )the following( fields):', async function (world, table) {
@@ -60,19 +67,24 @@ When('I enter/fill (in )the following( fields):', async function (world, table)
60
67
  }
61
68
  }
62
69
  });
63
- When(/^I wait for "([^"]+)" to be (attached|detatched|visible|hidden)$/, async function (world, identifier, state) {
64
- let locator = await world.page.getByText(identifier).or(world.page.getByLabel(identifier)).or(world.page.locator(identifier));
70
+ When('I wait for {string} to be attached/detatched/visible/hidden', async function (world, identifier) {
71
+ let state = world.info.step?.match(/(attached|detatched|visible|hidden)$/)[0];
72
+ let locator = await world.page.getByText(identifier, { exact: true }).or(world.page.getByLabel(identifier)).or(world.page.locator(identifier));
65
73
  await locator.waitFor({ state });
66
74
  });
67
- When(/^I scroll (down|up|left|right)$/, async function (world, direction) {
75
+ When('I wait for {int}ms', async function (world, num) {
76
+ await world.page.waitForTimeout(num);
77
+ });
78
+ When('I scroll down/up/left/right', async function (world) {
79
+ let direction = world.info.step?.match(/(down|up|left|right)$/)[0];
68
80
  let num = 100;
69
81
  let horiz = direction.includes('t');
70
82
  if (horiz)
71
83
  await world.page.mouse.wheel(direction === 'right' ? num : -num, 0);
72
84
  await world.page.mouse.wheel(0, direction === 'down' ? num : -num);
73
85
  });
74
- When(/^I scroll (down|up|left|right) (\d*)(?:px| pixels?)$/, async function (world, direction, int) {
75
- let num = parseInt(int || '100');
86
+ When('I scroll down/up/left/right {int}(px)( pixels)', async function (world, num) {
87
+ let direction = world.info.step?.match(/(down|up|left|right)(?= \d)/)[0];
76
88
  let horiz = direction.includes('t');
77
89
  if (horiz)
78
90
  await world.page.mouse.wheel(direction === 'right' ? num : -num, 0);
@@ -84,19 +96,18 @@ When('I type the following keys: {}', async function (world, keys) {
84
96
  await world.page.keyboard.press(key);
85
97
  }
86
98
  });
87
- When(/^I go (back|forwards?)$/, async function (world, direction) {
99
+ When('I go back/forwards?', async function (world) {
100
+ let direction = world.info.step?.match(/(back|forwards?)$/)[0];
88
101
  if (direction === 'back')
89
102
  await world.page.goBack();
90
103
  else
91
104
  await world.page.goForward();
92
105
  });
93
- Then('(I )take (a )screenshot', async function (world, str) {
94
- await world.page.waitForTimeout(50);
95
- await world.page.screenshot({ path: `${projectRoot}/screenshots/${world.info.scenario}__${world.info.line}.png`.replace(/\/\//g, '/') });
106
+ Then('(I )take (a )screenshot', async function (world) {
107
+ await world.page.screenshot({ path: `${projectRoot}/${world.playwrightConfig.screenshotDir}/${world.info.rule ? world.info.rule + '__' + world.info.scenario : world.info.scenario}__${world.info.line}.png`.replace(/\/\//g, '/') });
96
108
  });
97
- Then('(I )take (a )screenshot #{int} in (the folder ){string}', async function (world, dir) {
98
- await world.page.waitForTimeout(50);
99
- await world.page.screenshot({ path: `${projectRoot}/${dir}/${world.info.scenario}__${world.info.line}.png`.replace(/\/\//g, '/') });
109
+ Then('(I )take (a )screenshot named {string}', async function (world, name) {
110
+ await world.page.screenshot({ path: `${projectRoot}/${world.playwrightConfig.screenshotDir}/${name}.png`.replace(/\/\//g, '/') });
100
111
  });
101
112
 
102
113
  export { projectRoot };
@@ -1 +1 @@
1
- {"version":3,"file":"actions.steps.mjs","sources":["../src/actions.steps.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.steps.mjs","sources":["../src/actions.steps.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}