@quickpickle/vitest-browser 0.2.1 → 0.3.0

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.
@@ -29,34 +29,34 @@ expect.extend({
29
29
  // Text on page
30
30
  Then('I should see {string}( on the page)', async function (world, text) {
31
31
  await world.expectText(world.page, text);
32
- });
32
+ }, -10);
33
33
  Then('I should not/NOT see {string}( on the page)', async function (world, text) {
34
34
  await world.expectText(world.page, text, false);
35
- });
35
+ }, -10);
36
36
  Then('the text {string} should be visible( on the page)', async function (world, text) {
37
37
  await world.expectText(world.page, text);
38
- });
38
+ }, -10);
39
39
  Then('the text {string} should not/NOT be visible( on the page)', async function (world, text) {
40
40
  await world.expectText(world.page, text, false);
41
- });
41
+ }, -10);
42
42
  // ================
43
43
  // Elements on page
44
44
  Then('I should see a/an/the {string} {word}', async function (world, identifier, role) {
45
45
  let locator = await world.getLocator(world.page, identifier, role);
46
46
  await world.expectElement(locator);
47
- });
47
+ }, -10);
48
48
  Then('I should not/NOT see a/an/the {string} {word}', async function (world, identifier, role) {
49
49
  let locator = await world.getLocator(world.page, identifier, role);
50
50
  await world.expectElement(locator, false);
51
- });
51
+ }, -10);
52
52
  Then('I should see a/an/the {string} (element )with (the )(text ){string}', async function (world, identifier, text) {
53
53
  let locator = await world.getLocator(world.page, identifier, 'element', text);
54
54
  await world.expectElement(locator);
55
- });
55
+ }, -10);
56
56
  Then('I should not/NOT see a/an/the {string} (element )with (the )(text ){string}', async function (world, identifier, text) {
57
57
  let locator = await world.getLocator(world.page, identifier, 'element', text);
58
58
  await world.expectElement(locator, false);
59
- });
59
+ }, -10);
60
60
  // ================
61
61
  // Actions
62
62
  Then('{string} should have been clicked/doubleclicked/dblclicked', async function (world, text) {
@@ -65,7 +65,7 @@ Then('{string} should have been clicked/doubleclicked/dblclicked', async functio
65
65
  expect(world.actions.clicks.find((el) => (el && el?.textContent === text))).not.toBeNull();
66
66
  else
67
67
  expect(world.actions.doubleClicks.find((el) => (el && el?.textContent === text))).not.toBeNull();
68
- });
68
+ }, -10);
69
69
  Then('(the ){string} {word} should have been clicked/doubleclicked/dblclicked', async function (world, identifier, role) {
70
70
  let single = world.info.step?.match(/ clicked$/);
71
71
  let element = world.getLocator(world.page, identifier, role);
@@ -73,98 +73,98 @@ Then('(the ){string} {word} should have been clicked/doubleclicked/dblclicked',
73
73
  expect(world.actions.clicks.find((el) => (el === element))).not.toBeNull();
74
74
  else
75
75
  expect(world.actions.doubleClicks.find((el) => (el === element))).not.toBeNull();
76
- });
76
+ }, -10);
77
77
  // ================
78
78
  // Element state
79
79
  Then('a/an/the {string} {word} should be visible/hidden/invisible', async function (world, identifier, role) {
80
80
  let state = world.info.step?.match(/(\w+)$/)[0];
81
81
  let locator = world.getLocator(world.page, identifier, role);
82
82
  await world.expectElement(locator, true, state === 'visible');
83
- });
83
+ }, -10);
84
84
  Then('a/an/the {string} (element )with (the )(text ){string} should be visible/hidden/invisible', async function (world, identifier, text) {
85
85
  let state = world.info.step?.match(/(\w+)$/)[0];
86
86
  let locator = world.getLocator(world.page, identifier, 'element', text);
87
87
  await world.expectElement(locator, true, state === 'visible');
88
- });
88
+ }, -10);
89
89
  // Then('a/an/the {string} {word} should be attached/detatched', async function (world:VitestBrowserWorld, identifier, role) {
90
90
  // let state = world.info.step?.match(/(\w)$/)![0] as 'attached'|'detached'
91
91
  // let locator = world.getLocator(world.page, identifier, role)
92
- // await locator.waitFor({ state, timeout:world.worldConfig.stepTimeout })
93
- // })
92
+ // await locator.waitFor({ state })
93
+ // }, -10)
94
94
  // Then('a/an/the {string} (element )with (the )(text ){string} should be attached/detatched', async function (world:VitestBrowserWorld, identifier, text) {
95
95
  // let state = world.info.step?.match(/(\w)$/)![0] as 'attached'|'detached'
96
96
  // let locator = world.getLocator(world.page, identifier, 'element', text)
97
- // await locator.waitFor({ state, timeout:world.worldConfig.stepTimeout })
98
- // })
97
+ // await locator.waitFor({ state })
98
+ // }, -10)
99
99
  // disabled / enabled
100
100
  Then('a/an/the {string} {word} should be disabled', async function (world, identifier, role) {
101
101
  let locator = await world.getLocator(world.page, identifier, role);
102
102
  await expect(locator).toBeDisabled();
103
- });
103
+ }, -10);
104
104
  Then('a/an/the {string} {word} should be enabled', async function (world, identifier, role) {
105
105
  let locator = await world.getLocator(world.page, identifier, role);
106
106
  await expect(locator).toBeEnabled();
107
- });
107
+ }, -10);
108
108
  Then('a/an/the {string} (element )with (the )(text ){string} should be disabled', async function (world, identifier, text) {
109
109
  let locator = await world.getLocator(world.page, identifier, 'element', text);
110
110
  await expect(locator).toBeDisabled();
111
- });
111
+ }, -10);
112
112
  Then('a/an/the {string} (element )with (the )(text ){string} should be enabled', async function (world, identifier, text) {
113
113
  let locator = await world.getLocator(world.page, identifier, 'element', text);
114
114
  await expect(locator).toBeEnabled();
115
- });
115
+ }, -10);
116
116
  // checked / unchecked
117
117
  Then('a/an/the {string} {word} should be checked', async function (world, identifier, role) {
118
118
  let locator = await world.getLocator(world.page, identifier, role);
119
119
  await expect(locator).toBeChecked();
120
- });
120
+ }, -10);
121
121
  Then('a/an/the {string} {word} should be unchecked', async function (world, identifier, role) {
122
122
  let locator = await world.getLocator(world.page, identifier, role);
123
123
  await expect(locator).not.toBeChecked();
124
- });
124
+ }, -10);
125
125
  Then('a/an/the {string} (element )with (the )(text ){string} should be checked', async function (world, identifier, text) {
126
126
  let locator = await world.getLocator(world.page, identifier, 'element', text);
127
127
  await expect(locator).toBeChecked();
128
- });
128
+ }, -10);
129
129
  Then('a/an/the {string} (element )with (the )(text ){string} should be unchecked', async function (world, identifier, text) {
130
130
  let locator = await world.getLocator(world.page, identifier, 'element', text);
131
131
  await expect(locator).not.toBeChecked();
132
- });
132
+ }, -10);
133
133
  // focused / unfocused
134
134
  Then('a/an/the {string} {word} should be focused/active', async function (world, identifier, role) {
135
135
  let locator = await world.getLocator(world.page, identifier, role);
136
136
  await expect(locator).toHaveFocus();
137
- });
137
+ }, -10);
138
138
  Then('a/an/the {string} {word} should be unfocused/blurred', async function (world, identifier, role) {
139
139
  let locator = await world.getLocator(world.page, identifier, role);
140
140
  await expect(locator).not.toHaveFocus();
141
- });
141
+ }, -10);
142
142
  Then('a/an/the {string} (element )with (the )(text ){string} should be focused/active', async function (world, identifier, text) {
143
143
  let locator = await world.getLocator(world.page, identifier, 'element', text);
144
144
  await expect(locator).toHaveFocus();
145
- });
145
+ }, -10);
146
146
  Then('a/an/the {string} (element )with (the )(text ){string} should be unfocused/blurred', async function (world, identifier, text) {
147
147
  let locator = await world.getLocator(world.page, identifier, 'element', text);
148
148
  await expect(locator).not.toHaveFocus();
149
- });
149
+ }, -10);
150
150
  Then('a/an/the {string} {word} should be in(side) (of )the viewport', async function (world, identifier, role) {
151
151
  let locator = await world.getLocator(world.page, identifier, role);
152
152
  // @ts-ignore
153
153
  await expect(locator).toBeInTheViewport();
154
- });
154
+ }, -10);
155
155
  Then('a/an/the {string} {word} should be out(side) (of )the viewport', async function (world, identifier, role) {
156
156
  let locator = await world.getLocator(world.page, identifier, role);
157
157
  // @ts-ignore
158
158
  expect(locator).not.toBeInTheViewport();
159
- });
159
+ }, -10);
160
160
  // Then('a/an/the {string} (element )with (the )(text ){string} should be in(side) (of )the viewport', async function (world:VitestBrowserWorld, identifier, text) {
161
161
  // let locator = await world.getLocator(world.page, identifier, 'element', text)
162
162
  // await isInViewport(world, locator)
163
- // })
163
+ // }, -10)
164
164
  // Then('a/an/the {string} (element )with (the )(text ){string} should be out(side) (of )the viewport', async function (world:VitestBrowserWorld, identifier, text) {
165
165
  // let locator = await world.getLocator(world.page, identifier, 'element', text)
166
166
  // await isInViewport(world, locator)
167
- // })
167
+ // }, -10)
168
168
  // Values
169
169
  Then('a/an/the (value of ){string} should contain/include/be/equal {string}', async function (world, identifier, expected) {
170
170
  let exact = world.info.step?.match(/ should (?:be|equal) ['"]/) ? true : false;
@@ -175,7 +175,7 @@ Then('a/an/the (value of ){string} should contain/include/be/equal {string}', as
175
175
  let actual = (await locator.element())?.value ?? '';
176
176
  await expect(actual).toContain(expected);
177
177
  }
178
- });
178
+ }, -10);
179
179
  Then('a/an/the (value of )(the ){string} {word} should contain/include/be/equal {string}', async function (world, identifier, role, expected) {
180
180
  let exact = world.info.step?.match(/ should (?:be|equal) ['"]/) ? true : false;
181
181
  let locator = await world.getLocator(world.page, identifier, role);
@@ -185,7 +185,7 @@ Then('a/an/the (value of )(the ){string} {word} should contain/include/be/equal
185
185
  let actual = (await locator.element())?.value ?? '';
186
186
  await expect(actual).toContain(expected);
187
187
  }
188
- });
188
+ }, -10);
189
189
  Then('a/an/the (value of )(the ){string} should not/NOT contain/include/be/equal {string}', async function (world, identifier, expected) {
190
190
  let exact = world.info.step?.match(/ should (?:not|NOT) (?:be|equal) ['"]/) ? true : false;
191
191
  let locator = await world.getLocator(world.page, identifier, 'input');
@@ -195,7 +195,7 @@ Then('a/an/the (value of )(the ){string} should not/NOT contain/include/be/equal
195
195
  let actual = (await locator.element())?.value ?? '';
196
196
  await expect(actual).not.toContain(expected);
197
197
  }
198
- });
198
+ }, -10);
199
199
  Then('a/an/the (value of )(the ){string} {word} should not/NOT contain/include/be/equal {string}', async function (world, identifier, role, expected) {
200
200
  let exact = world.info.step?.match(/ should (?:not|NOT) (?:be|equal) ['"]/) ? true : false;
201
201
  let locator = await world.getLocator(world.page, identifier, role);
@@ -205,36 +205,36 @@ Then('a/an/the (value of )(the ){string} {word} should not/NOT contain/include/b
205
205
  let actual = (await locator.element())?.value ?? '';
206
206
  await expect(actual).not.toContain(expected);
207
207
  }
208
- });
208
+ }, -10);
209
209
  Then('a/an/the (value of ){string} should be/equal {int}', async function (world, identifier, expected) {
210
210
  let locator = await world.getLocator(world.page, identifier, 'input');
211
211
  await expect(locator).toHaveValue(expected);
212
- });
212
+ }, -10);
213
213
  Then('a/an/the (value of )(the ){string} {word} should be/equal {int}', async function (world, identifier, role, expected) {
214
214
  let locator = await world.getLocator(world.page, identifier, role);
215
215
  await expect(locator).toHaveValue(expected);
216
- });
216
+ }, -10);
217
217
  Then('a/an/the (value of )(the ){string} should not/NOT be/equal {int}', async function (world, identifier, expected) {
218
218
  let locator = await world.getLocator(world.page, identifier, 'input');
219
219
  await expect(locator).not.toHaveValue(expected);
220
- });
220
+ }, -10);
221
221
  Then('a/an/the (value of )(the ){string} {word} should not/NOT be/equal {int}', async function (world, identifier, role, expected) {
222
222
  let locator = await world.getLocator(world.page, identifier, role);
223
223
  await expect(locator).not.toHaveValue(expected);
224
- });
224
+ }, -10);
225
225
  // Visual regression testing
226
226
  Then('(the )screenshot/snapshot should match', async function (world) {
227
227
  await world.expectScreenshotMatch(world.page);
228
- });
228
+ }, -10);
229
229
  Then('(the )screenshot/snapshot {string} should match', async function (world, name) {
230
230
  await world.expectScreenshotMatch(world.page, name);
231
- });
231
+ }, -10);
232
232
  Then('(the )screenshot/snapshot of the {string} {word} should match', async function (world, identifier, role) {
233
233
  let locator = await world.getLocator(world.page, identifier, role);
234
234
  await world.expectScreenshotMatch(locator);
235
- });
235
+ }, -10);
236
236
  Then('(the )screenshot/snapshot {string} of the {string} {word} should match', async function (world, name, identifier, role) {
237
237
  let locator = await world.getLocator(world.page, identifier, role);
238
238
  await world.expectScreenshotMatch(locator, name);
239
- });
239
+ }, -10);
240
240
  //# sourceMappingURL=outcomes.steps.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"outcomes.steps.mjs","sources":["../src/outcomes.steps.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outcomes.steps.mjs","sources":["../src/outcomes.steps.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA;AAEA,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,iBAAiB,CAAC,OAAe,EAAA;AACrC,QAAA,IAAI,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;QACnC,OAAO,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;AACtD,YAAA,KAAK,GAAG,KAAK,CAAC,aAAa;;AAE7B,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qBAAqB,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,qBAAqB,EAAE;QAC5D,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClH,OAAO;gBACL,OAAO,EAAE,MAAM,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAoB,kBAAA,CAAA;AACjE,gBAAA,IAAI,EAAE,UAAU;aACjB;;aACI;YACL,OAAO;gBACL,OAAO,EAAE,MAAM,kCAAkC,OAAO,CAAC,QAAQ,EAAE,CAAE,CAAA;AACrE,gBAAA,IAAI,EAAE,KAAK;aACZ;;;AAGN,CAAA,CAAC;AAEF;AACA;AAEA,IAAI,CAAC,qCAAqC,EAAE,gBAAgB,KAAwB,EAAE,IAAI,EAAA;IACxF,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AAC1C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,6CAA6C,EAAE,gBAAgB,KAAwB,EAAE,IAAI,EAAA;AAChG,IAAA,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AACjD,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,mDAAmD,EAAE,gBAAgB,KAAwB,EAAE,IAAI,EAAA;IACtG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AAC1C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,2DAA2D,EAAE,gBAAgB,KAAwB,EAAE,IAAI,EAAA;AAC9G,IAAA,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AACjD,CAAC,EAAE,GAAG,CAAC;AAEP;AACA;AACA,IAAI,CAAC,uCAAuC,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AACtG,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;AACpC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,+CAA+C,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC9G,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;IAClE,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;AAC3C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,qEAAqE,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AACpI,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;AAC7E,IAAA,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;AACpC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,6EAA6E,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC5I,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;IAC7E,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;AAC3C,CAAC,EAAE,GAAG,CAAC;AAEP;AACA;AACA,IAAI,CAAC,4DAA4D,EAAE,gBAAgB,KAAwB,EAAE,IAAI,EAAA;AAC/G,IAAA,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;AAChD,IAAA,IAAI,MAAM;AAAE,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;;AACjG,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;AACvG,CAAC,EAAE,GAAG,CAAC;AAEP,IAAI,CAAC,yEAAyE,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AACxI,IAAA,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;AAChD,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAC5D,IAAA,IAAI,MAAM;QAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;;QACjF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;AACvF,CAAC,EAAE,GAAG,CAAC;AAEP;AACA;AACA,IAAI,CAAC,6DAA6D,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC5H,IAAA,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC;AAChD,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAC5D,IAAA,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC;AAC/D,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,2FAA2F,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC1J,IAAA,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC;AAChD,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;AACvE,IAAA,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC;AAC/D,CAAC,EAAE,GAAG,CAAC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,IAAI,CAAC,6CAA6C,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC5G,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE;AACtC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,4CAA4C,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC3G,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;AACrC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,2EAA2E,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC1I,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;AAC7E,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE;AACtC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,0EAA0E,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AACzI,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;AAC7E,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;AACrC,CAAC,EAAE,GAAG,CAAC;AAEP;AACA,IAAI,CAAC,4CAA4C,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC3G,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;AACrC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,8CAA8C,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC7G,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;IAClE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;AACzC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,0EAA0E,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AACzI,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;AAC7E,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;AACrC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,4EAA4E,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC3I,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;IAC7E,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;AACzC,CAAC,EAAE,GAAG,CAAC;AAEP;AACA,IAAI,CAAC,mDAAmD,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAClH,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;AACrC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,sDAAsD,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AACrH,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;IAClE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;AACzC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,iFAAiF,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAChJ,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;AAC7E,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;AACrC,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,oFAAoF,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AACnJ,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;IAC7E,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;AACzC,CAAC,EAAE,GAAG,CAAC;AAEP,IAAI,CAAC,+DAA+D,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC9H,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;;AAElE,IAAA,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE;AAC3C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,gEAAgE,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC/H,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;;IAElE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE;AACzC,CAAC,EAAE,GAAG,CAAC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,IAAI,CAAC,uEAAuE,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,QAAQ,EAAA;IAC1I,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,2BAA2B,CAAC,GAAG,IAAI,GAAG,KAAK;AAC9E,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;AACrE,IAAA,IAAI,KAAK;QAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;SACjD;AACH,QAAA,IAAI,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAuB,GAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAE5C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,oFAAoF,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAA;IAC7J,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,2BAA2B,CAAC,GAAG,IAAI,GAAG,KAAK;AAC9E,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,IAAI,KAAK;QAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;SACjD;AACH,QAAA,IAAI,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAuB,GAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAE5C,CAAC,EAAE,GAAG,CAAC;AAEP,IAAI,CAAC,qFAAqF,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,QAAQ,EAAA;IACxJ,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,uCAAuC,CAAC,GAAG,IAAI,GAAG,KAAK;AAC1F,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;AACrE,IAAA,IAAI,KAAK;QAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;SACrD;AACH,QAAA,IAAI,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAuB,GAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAEhD,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,4FAA4F,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAA;IACrK,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,uCAAuC,CAAC,GAAG,IAAI,GAAG,KAAK;AAC1F,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,IAAI,KAAK;QAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;SACrD;AACH,QAAA,IAAI,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAuB,GAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAEhD,CAAC,EAAE,GAAG,CAAC;AAEP,IAAI,CAAC,oDAAoD,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,QAAQ,EAAA;AACvH,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;IACrE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC7C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,iEAAiE,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAA;AAC1I,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;IAClE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC7C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,kEAAkE,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,QAAQ,EAAA;AACrI,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;IACrE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;AACjD,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,yEAAyE,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAA;AAClJ,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;IAClE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;AACjD,CAAC,EAAE,GAAG,CAAC;AAEP;AACA,IAAI,CAAC,wCAAwC,EAAE,gBAAgB,KAAwB,EAAA;IACrF,MAAM,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC;AAC/C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,iDAAiD,EAAE,gBAAgB,KAAwB,EAAE,IAAW,EAAA;IAC3G,MAAM,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AACrD,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,+DAA+D,EAAE,gBAAgB,KAAwB,EAAE,UAAU,EAAE,IAAI,EAAA;AAC9H,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAClE,IAAA,MAAM,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAC5C,CAAC,EAAE,GAAG,CAAC;AACP,IAAI,CAAC,wEAAwE,EAAE,gBAAgB,KAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAA;AAC7I,IAAA,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;IAClE,MAAM,KAAK,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC;AAClD,CAAC,EAAE,GAAG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quickpickle/vitest-browser",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Support files for running Gherkin/Cucumber tests in Vitest Browser mode, for testing components.",
5
5
  "keywords": [
6
6
  "BDD",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "https://github.com/dnotes/quickpickle.git"
25
+ "url": "https://github.com/dnotes/quickpickle"
26
26
  },
27
27
  "author": "David Hunt",
28
28
  "license": "ISC",
@@ -99,7 +99,7 @@
99
99
  "vitest-browser-react": "^0.1.1",
100
100
  "vitest-browser-svelte": "^0.1.0",
101
101
  "vitest-browser-vue": "^0.2.0",
102
- "quickpickle": "^1.10.0"
102
+ "quickpickle": "^1.11.0"
103
103
  },
104
104
  "scripts": {
105
105
  "build": "rollup -c && FORMAT=cjs rollup -c",
@@ -10,10 +10,32 @@ import { Buffer } from 'buffer'
10
10
  /// <reference types="@vitest/browser/providers/playwright" />
11
11
 
12
12
  export interface VitestWorldConfigSetting extends VisualConfigSetting {
13
+ /**
14
+ * The directory in which components are kept, relative to the project root.
15
+ */
13
16
  componentDir?: string;
17
+ /**
18
+ * The default timeout in milliseconds for all methods that accept a timeout option.
19
+ * This should always be lower than the QuickPickle stepTimeout, or After functions may fail to run.
20
+ * @default 1000
21
+ */
22
+ defaultTimeout?: number;
23
+ /**
24
+ * The default timeout in milliseconds for actions like click, fill, etc.
25
+ * If 0 or not set, uses defaultTimeout.
26
+ */
27
+ actionTimeout?: number;
28
+ /**
29
+ * The default timeout in milliseconds for navigation actions like goto, reload, etc.
30
+ * If 0 or not set, uses defaultTimeout.
31
+ * @default 3000
32
+ */
33
+ navigationTimeout?: number;
14
34
  }
15
35
 
16
36
  export const defaultVitestWorldConfig:VitestWorldConfigSetting = {
37
+ defaultTimeout: 1000,
38
+ navigationTimeout: 3000,
17
39
  componentDir: '', // directory in which components are kept, relative to project root
18
40
  screenshotDir: 'screenshots', // directory in which to save screenshots, relative to project root (default: "screenshots")
19
41
  screenshotOpts: { // options for the default screenshot comparisons
@@ -78,6 +100,13 @@ export class VitestBrowserWorld extends VisualWorld implements VitestBrowserWorl
78
100
  let browserContext = await import('@vitest/browser/context')
79
101
  this.browserPage = browserContext.page;
80
102
  this.userEvent = browserContext.userEvent;
103
+ // Set default timeouts on browserPage if it supports it (Playwright provider)
104
+ if (typeof (this.browserPage as any).setDefaultTimeout === 'function') {
105
+ (this.browserPage as any).setDefaultTimeout(this.worldConfig.actionTimeout || this.worldConfig.defaultTimeout)
106
+ }
107
+ if (typeof (this.browserPage as any).setDefaultNavigationTimeout === 'function') {
108
+ (this.browserPage as any).setDefaultNavigationTimeout(this.worldConfig.navigationTimeout || this.worldConfig.defaultTimeout)
109
+ }
81
110
  }
82
111
 
83
112
  get page():Locator {
@@ -32,23 +32,23 @@ Given('I render (the ){string}( component) with the following props/properties:'
32
32
 
33
33
  When('I click/press/tap/touch (on ){string}', async function (world:VitestBrowserWorld, identifier) {
34
34
  let locator = world.page.getByText(identifier, { exact:true })
35
- await locator.click({ timeout:world.worldConfig.stepTimeout })
36
- })
35
+ await locator.click()
36
+ }, -10)
37
37
  When('I click/press/tap/touch (on )the {string} {word}', async function (world:VitestBrowserWorld, identifier, role) {
38
38
  let locator = world.getLocator(world.page, identifier, role)
39
- await locator.click({ timeout:world.worldConfig.stepTimeout })
40
- })
39
+ await locator.click()
40
+ }, -10)
41
41
 
42
42
  When('I focus/select/activate (on ){string}', async function (world:VitestBrowserWorld, identifier) {
43
43
  let locator = world.page.getByText(identifier, { exact:true });
44
44
  (locator.element() as HTMLElement)?.focus()
45
45
  await expect(locator).toHaveFocus()
46
- })
46
+ }, -10)
47
47
  When('I focus/select/activate (on )the {string} {word}', async function (world:VitestBrowserWorld, identifier, role) {
48
48
  let locator = world.getLocator(world.page, identifier, role);
49
49
  (locator.element() as HTMLElement).focus()
50
50
  await expect(locator).toHaveFocus()
51
- })
51
+ }, -10)
52
52
 
53
53
  // ================
54
54
  // Typing
@@ -58,20 +58,20 @@ When("for/in/on (the ){string} I type {string}", async function (world: VitestBr
58
58
  const element = locator.element() as HTMLElement;
59
59
  element.focus();
60
60
  await world.userEvent.keyboard(value);
61
- })
61
+ }, -10)
62
62
  When("for/in/on (the ){string} {word} I type {string}", async function (world: VitestBrowserWorld, identifier: string, role: string, value: string) {
63
63
  const locator = world.getLocator(world.page, identifier, role);
64
64
  const element = locator.element() as HTMLElement;
65
65
  element.focus();
66
66
  await world.userEvent.keyboard(value);
67
- })
67
+ }, -10)
68
68
 
69
69
  When('I type the following keys: {}', async function (world: VitestBrowserWorld, keys: string) {
70
70
  for (let key of keys.split(' ')) {
71
71
  if (key !== '{{' && key !== '[[' && !key.match(/^[\{\[].+[\}\]]$/)) key = `{${key}}`
72
72
  await world.userEvent.keyboard(key);
73
73
  }
74
- })
74
+ }, -10)
75
75
  When("for/in/on (the ){string} I type the following keys: {}", async function (world:VitestBrowserWorld, identifier: string, keys: string) {
76
76
  const locator = world.getLocator(world.page, identifier, 'input');
77
77
  const element = locator.element() as HTMLElement;
@@ -80,7 +80,7 @@ When("for/in/on (the ){string} I type the following keys: {}", async function (w
80
80
  if (key !== '{{' && key !== '[[' && !key.match(/^[\{\[].+[\}\]]$/)) key = `{${key}}`
81
81
  await world.userEvent.keyboard(key);
82
82
  }
83
- })
83
+ }, -10)
84
84
  When("for/in/on (the ){string} {word} I type the following keys: {}", async function (world:VitestBrowserWorld, identifier: string, role: string, keys: string) {
85
85
  const locator = world.getLocator(world.page, identifier, role);
86
86
  const element = locator.element() as HTMLElement;
@@ -89,7 +89,7 @@ When("for/in/on (the ){string} {word} I type the following keys: {}", async func
89
89
  if (key !== '{{' && key !== '[[' && !key.match(/^[\{\[].+[\}\]]$/)) key = `{${key}}`
90
90
  await world.userEvent.keyboard(key);
91
91
  }
92
- })
92
+ }, -10)
93
93
 
94
94
  // ================
95
95
  // Forms
@@ -97,19 +97,19 @@ When("for/in/on (the ){string} {word} I type the following keys: {}", async func
97
97
  When("for/in/on (the ){string} I enter/fill/select (in ){string}", async function (world:VitestBrowserWorld, identifier, value) {
98
98
  let locator = world.getLocator(world.page, identifier, 'input')
99
99
  await world.setValue(locator, value)
100
- })
100
+ }, -10)
101
101
  When("for/in/on (the ){string} {word} I enter/fill/select (in ){string}", async function (world:VitestBrowserWorld, identifier, role, value) {
102
102
  let locator = world.getLocator(world.page, identifier, role)
103
103
  await world.setValue(locator, value)
104
- })
104
+ }, -10)
105
105
  When("for/in/on (the ){string} I enter/fill/select (in )the following( text):", async function (world:VitestBrowserWorld, identifier, value) {
106
106
  let locator = world.getLocator(world.page, identifier, 'input')
107
107
  await world.setValue(locator, value.toString())
108
- })
108
+ }, -10)
109
109
  When("for/in/on (the ){string} {word} I enter/fill/select (in )the following( text):", async function (world:VitestBrowserWorld, identifier, role, value) {
110
110
  let locator = world.getLocator(world.page, identifier, role)
111
111
  await world.setValue(locator, value.toString())
112
- })
112
+ }, -10)
113
113
  When('I enter/fill (in )the following( fields):', async function (world:VitestBrowserWorld, table:DataTable) {
114
114
  let rows = table.raw()
115
115
  let hasRole = rows[0].length === 3
@@ -122,16 +122,16 @@ When('I enter/fill (in )the following( fields):', async function (world:VitestBr
122
122
  let locator = world.getLocator(world.page, identifier, role)
123
123
  await world.setValue(locator, value)
124
124
  }
125
- })
125
+ }, -10)
126
126
 
127
127
  When('I check (the ){string}( radio)( checkbox)( box)', async function (world:VitestBrowserWorld, indentifier) {
128
128
  let locator = world.getLocator(world.page, indentifier, 'input')
129
129
  await world.setValue(locator, 'on')
130
- })
130
+ }, -10)
131
131
  When('I uncheck (the ){string}( checkbox)( box)', async function (world:VitestBrowserWorld, indentifier) {
132
132
  let locator = world.getLocator(world.page, indentifier, 'input')
133
133
  await world.setValue(locator, 'off')
134
- })
134
+ }, -10)
135
135
 
136
136
  // ================
137
137
  // Waiting
@@ -139,20 +139,20 @@ When('I uncheck (the ){string}( checkbox)( box)', async function (world:VitestBr
139
139
  // When('I wait for {string} to be attached/detatched/visible/hidden', async function (world:VitestBrowserWorld, text) {
140
140
  // let state = world.info.step?.match(/(attached|detatched|visible|hidden)$/)![0] as 'attached'|'detached'|'visible'|'hidden'
141
141
  // let locator = world.page.getByText(text)
142
- // await locator.waitFor({ state, timeout:world.worldConfig.stepTimeout })
142
+ // await locator.waitFor({ state })
143
143
  // })
144
144
  // When('I wait for a/an/the {string} {word} to be attached/detatched/visible/hidden', async function (world:VitestBrowserWorld, identifier, role) {
145
145
  // let state = world.info.step?.match(/(attached|detatched|visible|hidden)$/)![0] as 'attached'|'detached'|'visible'|'hidden'
146
146
  // let locator = world.getLocator(world.page, identifier, role)
147
- // await locator.waitFor({ state, timeout:world.worldConfig.stepTimeout })
147
+ // await locator.waitFor({ state })
148
148
  // })
149
149
 
150
150
  When('I wait (for ){int}ms', async function (world:VitestBrowserWorld, num) {
151
151
  await world.wait(num)
152
- })
152
+ }, -10)
153
153
  When('I wait (for ){float} second(s)', async function (world:VitestBrowserWorld, num) {
154
154
  await world.wait(num * 1000)
155
- })
155
+ }, -10)
156
156
 
157
157
  // ================
158
158
  // Scrolling
@@ -160,36 +160,36 @@ When('I wait (for ){float} second(s)', async function (world:VitestBrowserWorld,
160
160
  When('I scroll down/up/left/right', async function (world:VitestBrowserWorld) {
161
161
  let direction = world.info.step?.match(/(down|up|left|right)$/)![0] as 'down'|'up'|'left'|'right'
162
162
  await world.scroll(world.page, direction)
163
- })
163
+ }, -10)
164
164
  When('I scroll down/up/left/right {int}(px)( pixels)', async function (world:VitestBrowserWorld, num) {
165
165
  let direction = world.info.step?.match(/(down|up|left|right)(?= \d)/)![0] as 'down'|'up'|'left'|'right'
166
166
  await world.scroll(world.page, direction, num)
167
- })
167
+ }, -10)
168
168
  When('I scroll (the ){string} {word} down/up/left/right', async function (world:VitestBrowserWorld, identifier:string, role:string) {
169
169
  let locator = world.getLocator(world.page, identifier, role)
170
170
  let direction = world.info.step?.match(/(down|up|left|right)$/)![0] as 'down'|'up'|'left'|'right'
171
171
  await world.scroll(locator, direction)
172
- })
172
+ }, -10)
173
173
  When('I scroll (the ){string} {word} down/up/left/right {int}(px)( pixels)', async function (world:VitestBrowserWorld, identifier, role, num) {
174
174
  let locator = world.getLocator(world.page, identifier, role)
175
175
  let direction = world.info.step?.match(/(down|up|left|right)(?= \d)/)![0] as 'down'|'up'|'left'|'right'
176
176
  await world.scroll(locator, direction, num)
177
- })
177
+ }, -10)
178
178
 
179
179
  // ================
180
180
  // Screenshots
181
181
 
182
182
  Then('(I )take (a )screenshot', async function (world:VitestBrowserWorld) {
183
183
  await world.screenshot()
184
- })
184
+ }, -10)
185
185
  Then('(I )take (a )screenshot named {string}', async function (world:VitestBrowserWorld, name:string) {
186
186
  await world.screenshot({ name })
187
- })
187
+ }, -10)
188
188
  Then('(I )take (a )screenshot of the {string} {word}', async function (world:VitestBrowserWorld, identifier:string, role:string) {
189
189
  let locator = world.getLocator(world.page, identifier, role)
190
190
  await world.screenshot({ locator })
191
- })
191
+ }, -10)
192
192
  Then('(I )take (a )screenshot of the {string} {word} named {string}', async function (world:VitestBrowserWorld, identifier:string, role:string, name:string) {
193
193
  let locator = world.getLocator(world.page, identifier, role)
194
194
  await world.screenshot({ locator, name })
195
- })
195
+ }, -10)