@haibun/web-playwright 1.10.14 → 1.11.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.
@@ -6,7 +6,7 @@ declare const WebPlaywright: {
6
6
  new (): {
7
7
  requireDomains: string[];
8
8
  options: {
9
- HEADLESS: {
9
+ [x: string]: {
10
10
  desc: string;
11
11
  parse: (input: string) => {
12
12
  error: string;
@@ -15,8 +15,39 @@ declare const WebPlaywright: {
15
15
  result: boolean;
16
16
  error?: undefined;
17
17
  };
18
+ required?: undefined;
19
+ } | {
20
+ desc: string;
21
+ parse: (input: string) => {
22
+ error: string;
23
+ result?: undefined;
24
+ } | {
25
+ result: string;
26
+ error?: undefined;
27
+ };
28
+ required?: undefined;
29
+ } | {
30
+ desc: string;
31
+ parse: (input: string) => {
32
+ error: string;
33
+ result?: undefined;
34
+ } | {
35
+ result: number;
36
+ error?: undefined;
37
+ };
38
+ required?: undefined;
39
+ } | {
40
+ required: boolean;
41
+ desc: string;
42
+ parse: (input: string) => {
43
+ error: string;
44
+ result?: undefined;
45
+ } | {
46
+ result: string;
47
+ error?: undefined;
48
+ };
18
49
  };
19
- DEVTOOLS: {
50
+ HEADLESS: {
20
51
  desc: string;
21
52
  parse: (input: string) => {
22
53
  error: string;
@@ -26,7 +57,7 @@ declare const WebPlaywright: {
26
57
  error?: undefined;
27
58
  };
28
59
  };
29
- PERSISTENT_DIRECTORY: {
60
+ DEVTOOLS: {
30
61
  desc: string;
31
62
  parse: (input: string) => {
32
63
  error: string;
@@ -76,17 +107,6 @@ declare const WebPlaywright: {
76
107
  error?: undefined;
77
108
  };
78
109
  };
79
- STORAGE: {
80
- required: boolean;
81
- desc: string;
82
- parse: (input: string) => {
83
- error: string;
84
- result?: undefined;
85
- } | {
86
- result: string;
87
- error?: undefined;
88
- };
89
- };
90
110
  };
91
111
  hasFactory: boolean;
92
112
  bf?: BrowserFactory | undefined;
@@ -229,6 +249,8 @@ declare const WebPlaywright: {
229
249
  world?: TWorld | undefined;
230
250
  getWorld(): TWorld;
231
251
  };
252
+ STORAGE: string;
253
+ PERSISTENT_DIRECTORY: string;
232
254
  };
233
255
  export default WebPlaywright;
234
256
  export declare type TWebPlaywright = typeof WebPlaywright;
@@ -1 +1 @@
1
- {"version":3,"file":"web-playwright.d.ts","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAmB,MAAM,EAAE,MAAM,EAAmB,WAAW,EAAyB,QAAQ,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErJ,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI1E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAKjE,QAAA,MAAM,aAAa;;;;;;+BAKE,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;;+BAKN,MAAM;;;;;;;;;oBAGb,OAAO;;;;;wBAMG,MAAM,YAAY,QAAQ,EAAE;6BA2CvB,QAAQ,cAAc,CAAC;;;oBAkBhC,GAAG;4BAKK,MAAM;0BAUR,WAAW;;;;;;;;0CA4CC,MAAM;;;;4CAOJ,MAAM;;;;gDAWF,MAAM;;;;gDAQN,MAAM;;;;mCAOnB,MAAM;;;;mCAeN,MAAM;;;;mCAWN,MAAM;;;;kCAOP,MAAM;;;;mCAOL,MAAM;;;;kCAUP,MAAM;;;;0CA6BE,MAAM;;;;mCAUb,MAAM;;;;0CAOC,MAAM;;;;oCAWZ,MAAM;;;;mCAOP,MAAM;;;;mCAUN,MAAM;;;;mCAQN,MAAM;;;;iCASR,MAAM;;;;mCAQJ,MAAM;;;;mCAON,MAAM;;;;iCASR,MAAM;;;;mCAWJ,MAAM,SAAS,MAAM;;;;;;;;;;;;sCAqClB,MAAM;;;;sCAIN,MAAM;;;;oCAQR,MAAM;;;;;;;;0CA6BA,MAAM;;;;0CAUN,MAAM;;;;;;CAQ3C,CAAC;AACF,eAAe,aAAa,CAAC;AAE7B,oBAAY,cAAc,GAAG,OAAO,aAAa,CAAC"}
1
+ {"version":3,"file":"web-playwright.d.ts","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAmB,MAAM,EAAE,MAAM,EAAmB,WAAW,EAAyB,QAAQ,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErJ,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI1E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAIjE,QAAA,MAAM,aAAa;;;;;;+BAOE,MAAM;;;;;;;;;;+BAYN,MAAM;;;;;;;;;;+BAYN,MAAM;;;;;;;;;;;+BAKN,MAAM;;;;;;;;;;+BA7BN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAQN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;;+BAIN,MAAM;;;;;;;;;oBAQb,OAAO;;;;;wBAMG,MAAM,YAAY,QAAQ,EAAE;6BA2CvB,QAAQ,cAAc,CAAC;;;oBAkBhC,GAAG;4BAKK,MAAM;0BAUR,WAAW;;;;;;;;0CA4CC,MAAM;;;;4CAOJ,MAAM;;;;gDAWF,MAAM;;;;gDAQN,MAAM;;;;mCAOnB,MAAM;;;;mCAeN,MAAM;;;;mCAWN,MAAM;;;;kCAOP,MAAM;;;;mCAOL,MAAM;;;;kCAUP,MAAM;;;;0CA6BE,MAAM;;;;mCAUb,MAAM;;;;0CAOC,MAAM;;;;oCAWZ,MAAM;;;;mCAOP,MAAM;;;;mCAUN,MAAM;;;;mCAQN,MAAM;;;;iCASR,MAAM;;;;mCAQJ,MAAM;;;;mCAON,MAAM;;;;iCASR,MAAM;;;;mCAWJ,MAAM,SAAS,MAAM;;;;;;;;;;;;sCAqClB,MAAM;;;;sCAIN,MAAM;;;;oCAQR,MAAM;;;;;;;;0CA6BA,MAAM;;;;0CAUN,MAAM;;;;;;;;CAQ3C,CAAC;AACF,eAAe,aAAa,CAAC;AAE7B,oBAAY,cAAc,GAAG,OAAO,aAAa,CAAC"}
@@ -1,442 +1,445 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  const defs_1 = require("@haibun/core/build/lib/defs");
4
5
  const vars_1 = require("@haibun/core/build/steps/vars");
5
6
  const BrowserFactory_1 = require("./BrowserFactory");
6
7
  const util_1 = require("@haibun/core/build/lib/util");
7
8
  const domain_webpage_1 = require("@haibun/domain-webpage/build/domain-webpage");
8
- const STORAGE = 'STORAGE';
9
- const WebPlaywright = class WebPlaywright extends defs_1.AStepper {
10
- constructor() {
11
- super(...arguments);
12
- this.requireDomains = [domain_webpage_1.WEB_PAGE, domain_webpage_1.WEB_CONTROL];
13
- this.options = {
14
- HEADLESS: {
15
- desc: 'run browsers without a window (true or false)',
16
- parse: (input) => (0, util_1.boolOrError)(input)
17
- },
18
- DEVTOOLS: {
19
- desc: `show browser devtools (true or false)`,
20
- parse: (input) => (0, util_1.boolOrError)(input)
21
- },
22
- PERSISTENT_DIRECTORY: {
23
- desc: 'run browsers with a persistent directory (true or false)',
24
- parse: (input) => (0, util_1.boolOrError)(input)
25
- },
26
- ARGS: {
27
- desc: 'pass arguments',
28
- parse: (input) => (0, util_1.stringOrError)(input)
29
- },
30
- CAPTURE_VIDEO: {
31
- desc: 'capture video for every agent',
32
- parse: (input) => (0, util_1.boolOrError)(input),
33
- },
34
- STEP_CAPTURE_SCREENSHOT: {
35
- desc: 'capture screenshot for every step',
36
- parse: (input) => (0, util_1.boolOrError)(input),
37
- },
38
- TIMEOUT: {
39
- desc: 'timeout for each step',
40
- parse: (input) => (0, util_1.intOrError)(input),
41
- },
42
- [STORAGE]: {
43
- required: true,
44
- desc: 'Storage for output',
45
- parse: (input) => (0, util_1.stringOrError)(input),
46
- },
47
- };
48
- this.hasFactory = false;
49
- this.tab = 0;
50
- this.steps = {
51
- // INPUT
52
- inputVariable: {
53
- gwta: `input {what} for {field}`,
54
- action: async ({ what, field }) => {
55
- await this.withPage(async (page) => await page.fill(field, what));
56
- return defs_1.OK;
57
- },
58
- },
59
- selectionOption: {
60
- gwta: `select {option} for {field: ${domain_webpage_1.WEB_CONTROL}}`,
61
- action: async ({ option, field }) => {
62
- const res = await this.withPage(async (page) => await page.selectOption(field, { label: option }));
63
- // FIXME have to use id value
64
- // return res === [id] ? ok : {...notOk, details: { message: `received ${res} selecting from ${what} with id ${id}`}};
65
- return defs_1.OK;
66
- },
67
- },
68
- // ASSERTIONS
69
- dialogIs: {
70
- gwta: 'dialog {what} {type} says {value}',
71
- action: async ({ what, type, value }) => {
72
- const cur = this.getWorld().shared.get(what)?.[type];
73
- return cur === value ? defs_1.OK : (0, util_1.actionNotOK)(`${what} is ${cur}`);
74
- },
75
- },
76
- dialogIsUnset: {
77
- gwta: 'dialog {what} {type} not set',
78
- action: async ({ what, type, value }) => {
79
- const cur = this.getWorld().shared.get(what)?.[type];
80
- return !cur ? defs_1.OK : (0, util_1.actionNotOK)(`${what} is ${cur}`);
81
- },
82
- },
83
- seeText: {
84
- gwta: 'should see {text}',
85
- action: async ({ text }) => {
86
- let textContent = null;
87
- // FIXME retry sometimes required?
88
- for (let a = 0; a < 2; a++) {
89
- textContent = await this.withPage(async (page) => await page.textContent('body', { timeout: 1e9 }));
90
- if (textContent?.toString().includes(text)) {
9
+ const WebPlaywright = (_a = class WebPlaywright extends defs_1.AStepper {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.requireDomains = [domain_webpage_1.WEB_PAGE, domain_webpage_1.WEB_CONTROL];
13
+ this.options = {
14
+ HEADLESS: {
15
+ desc: 'run browsers without a window (true or false)',
16
+ parse: (input) => (0, util_1.boolOrError)(input)
17
+ },
18
+ DEVTOOLS: {
19
+ desc: `show browser devtools (true or false)`,
20
+ parse: (input) => (0, util_1.boolOrError)(input)
21
+ },
22
+ [WebPlaywright.PERSISTENT_DIRECTORY]: {
23
+ desc: 'run browsers with a persistent directory (true or false)',
24
+ parse: (input) => (0, util_1.boolOrError)(input)
25
+ },
26
+ ARGS: {
27
+ desc: 'pass arguments',
28
+ parse: (input) => (0, util_1.stringOrError)(input)
29
+ },
30
+ CAPTURE_VIDEO: {
31
+ desc: 'capture video for every agent',
32
+ parse: (input) => (0, util_1.boolOrError)(input),
33
+ },
34
+ STEP_CAPTURE_SCREENSHOT: {
35
+ desc: 'capture screenshot for every step',
36
+ parse: (input) => (0, util_1.boolOrError)(input),
37
+ },
38
+ TIMEOUT: {
39
+ desc: 'timeout for each step',
40
+ parse: (input) => (0, util_1.intOrError)(input),
41
+ },
42
+ [WebPlaywright.STORAGE]: {
43
+ required: true,
44
+ desc: 'Storage for output',
45
+ parse: (input) => (0, util_1.stringOrError)(input),
46
+ },
47
+ };
48
+ this.hasFactory = false;
49
+ this.tab = 0;
50
+ this.steps = {
51
+ // INPUT
52
+ inputVariable: {
53
+ gwta: `input {what} for {field}`,
54
+ action: async ({ what, field }) => {
55
+ await this.withPage(async (page) => await page.fill(field, what));
56
+ return defs_1.OK;
57
+ },
58
+ },
59
+ selectionOption: {
60
+ gwta: `select {option} for {field: ${domain_webpage_1.WEB_CONTROL}}`,
61
+ action: async ({ option, field }) => {
62
+ const res = await this.withPage(async (page) => await page.selectOption(field, { label: option }));
63
+ // FIXME have to use id value
64
+ // return res === [id] ? ok : {...notOk, details: { message: `received ${res} selecting from ${what} with id ${id}`}};
65
+ return defs_1.OK;
66
+ },
67
+ },
68
+ // ASSERTIONS
69
+ dialogIs: {
70
+ gwta: 'dialog {what} {type} says {value}',
71
+ action: async ({ what, type, value }) => {
72
+ const cur = this.getWorld().shared.get(what)?.[type];
73
+ return cur === value ? defs_1.OK : (0, util_1.actionNotOK)(`${what} is ${cur}`);
74
+ },
75
+ },
76
+ dialogIsUnset: {
77
+ gwta: 'dialog {what} {type} not set',
78
+ action: async ({ what, type, value }) => {
79
+ const cur = this.getWorld().shared.get(what)?.[type];
80
+ return !cur ? defs_1.OK : (0, util_1.actionNotOK)(`${what} is ${cur}`);
81
+ },
82
+ },
83
+ seeText: {
84
+ gwta: 'should see {text}',
85
+ action: async ({ text }) => {
86
+ let textContent = null;
87
+ // FIXME retry sometimes required?
88
+ for (let a = 0; a < 2; a++) {
89
+ textContent = await this.withPage(async (page) => await page.textContent('body', { timeout: 1e9 }));
90
+ if (textContent?.toString().includes(text)) {
91
+ return defs_1.OK;
92
+ }
93
+ }
94
+ const topics = { textContent: { summary: `in ${textContent?.length} characters`, details: textContent } };
95
+ return (0, util_1.actionNotOK)('Did not find text', { topics });
96
+ },
97
+ },
98
+ waitFor: {
99
+ gwta: 'wait for {what}',
100
+ action: async ({ what }) => {
101
+ const found = await this.withPage(async (page) => await page.waitForSelector(what));
102
+ if (found) {
91
103
  return defs_1.OK;
92
104
  }
93
- }
94
- const topics = { textContent: { summary: `in ${textContent?.length} characters`, details: textContent } };
95
- return (0, util_1.actionNotOK)('Did not find text', { topics });
96
- },
97
- },
98
- waitFor: {
99
- gwta: 'wait for {what}',
100
- action: async ({ what }) => {
101
- const found = await this.withPage(async (page) => await page.waitForSelector(what));
102
- if (found) {
105
+ return (0, util_1.actionNotOK)(`Did not find ${what}`);
106
+ },
107
+ },
108
+ onNewPage: {
109
+ gwta: `on a new tab`,
110
+ action: async ({ name }) => {
111
+ this.tab = this.tab + 1;
103
112
  return defs_1.OK;
104
- }
105
- return (0, util_1.actionNotOK)(`Did not find ${what}`);
106
- },
107
- },
108
- onNewPage: {
109
- gwta: `on a new tab`,
110
- action: async ({ name }) => {
111
- this.tab = this.tab + 1;
112
- return defs_1.OK;
113
- },
114
- },
115
- onTabX: {
116
- gwta: `on tab {tab}`,
117
- action: async ({ tab }) => {
118
- this.tab = parseInt(tab, 10);
119
- return defs_1.OK;
120
- },
121
- },
122
- beOnPage: {
123
- gwta: `should be on the {name} page`,
124
- action: async ({ name }) => {
125
- const nowon = await this.withPage(async (page) => await page.url());
126
- if (nowon === name) {
113
+ },
114
+ },
115
+ onTabX: {
116
+ gwta: `on tab {tab}`,
117
+ action: async ({ tab }) => {
118
+ this.tab = parseInt(tab, 10);
127
119
  return defs_1.OK;
128
- }
129
- return (0, util_1.actionNotOK)(`expected ${name} but on ${nowon}`);
130
- },
131
- },
132
- extensionContext: {
133
- gwta: `open extension popup for tab {tab}`,
134
- action: async ({ tab }) => {
135
- if (!this.factoryOptions?.persistentDirectory || this.factoryOptions?.browser.headless) {
136
- throw Error(`extensions require PERSISTENT_DIRECTORY and not HEADLESS`);
137
- }
138
- const context = await this.getContext();
139
- if (!context) {
140
- throw Error(`no context`);
141
- }
142
- let background = context?.serviceWorkers()[0];
143
- // if (!background) {
144
- // console.log('waiting');
145
- // background = await context!.waitForEvent("serviceworker");
146
- // }
147
- const extensionId = background.url().split("/")[2];
148
- this.getWorld().shared.set('extensionContext', extensionId);
149
- await this.withPage(async (page) => {
150
- const popupURI = `chrome-extension://${extensionId}/popup.html?${tab}`;
151
- return await page.goto(popupURI);
152
- });
153
- return defs_1.OK;
154
- }
155
- },
156
- cookieShouldBe: {
157
- gwta: 'cookie {name} should be {value}',
158
- action: async ({ name, value }) => {
159
- const context = await this.getContext();
160
- const cookies = await context?.cookies();
161
- const found = cookies?.find(c => c.name === name && c.value === value);
162
- return found ? defs_1.OK : (0, util_1.actionNotOK)(`did not find cookie ${name} with value ${value}`);
163
- },
164
- },
165
- URIContains: {
166
- gwta: 'URI should include {what}',
167
- action: async ({ what }) => {
168
- const uri = await this.withPage(async (page) => await page.url());
169
- return uri.includes(what) ? defs_1.OK : (0, util_1.actionNotOK)(`current URI ${uri} does not contain ${what}`);
170
- },
171
- },
172
- URIQueryParameterIs: {
173
- gwta: 'URI query parameter {what} is {value}',
174
- action: async ({ what, value }) => {
175
- const uri = await this.withPage(async (page) => await page.url());
176
- const found = new URL(uri).searchParams.get(what);
177
- if (found === value) {
120
+ },
121
+ },
122
+ beOnPage: {
123
+ gwta: `should be on the {name} page`,
124
+ action: async ({ name }) => {
125
+ const nowon = await this.withPage(async (page) => await page.url());
126
+ if (nowon === name) {
127
+ return defs_1.OK;
128
+ }
129
+ return (0, util_1.actionNotOK)(`expected ${name} but on ${nowon}`);
130
+ },
131
+ },
132
+ extensionContext: {
133
+ gwta: `open extension popup for tab {tab}`,
134
+ action: async ({ tab }) => {
135
+ if (!this.factoryOptions?.persistentDirectory || this.factoryOptions?.browser.headless) {
136
+ throw Error(`extensions require ${WebPlaywright.PERSISTENT_DIRECTORY} and not HEADLESS`);
137
+ }
138
+ const context = await this.getContext();
139
+ if (!context) {
140
+ throw Error(`no context`);
141
+ }
142
+ let background = context?.serviceWorkers()[0];
143
+ // if (!background) {
144
+ // console.log('waiting');
145
+ // background = await context!.waitForEvent("serviceworker");
146
+ // }
147
+ const extensionId = background.url().split("/")[2];
148
+ this.getWorld().shared.set('extensionContext', extensionId);
149
+ await this.withPage(async (page) => {
150
+ const popupURI = `chrome-extension://${extensionId}/popup.html?${tab}`;
151
+ return await page.goto(popupURI);
152
+ });
178
153
  return defs_1.OK;
179
154
  }
180
- return (0, util_1.actionNotOK)(`URI query ${what} contains "${found}"", not "${value}""`);
181
- },
182
- },
183
- URIStartsWith: {
184
- gwta: 'URI should start with {start}',
185
- action: async ({ start }) => {
186
- const uri = await this.withPage(async (page) => await page.url());
187
- return uri.startsWith(start) ? defs_1.OK : (0, util_1.actionNotOK)(`current URI ${uri} does not start with ${start}`);
188
- },
189
- },
190
- URIMatches: {
191
- gwta: 'URI should match {what}',
192
- action: async ({ what }) => {
193
- const uri = await this.withPage(async (page) => await page.url());
194
- return uri.match(what) ? defs_1.OK : (0, util_1.actionNotOK)(`current URI ${uri} does not match ${what}`);
195
- },
196
- },
197
- // CLICK
198
- clickOn: {
199
- gwta: 'click on (?<name>.[^s]+)',
200
- action: async ({ name }) => {
201
- const what = this.getWorld().shared.get(name) || `text=${name}`;
202
- await this.withPage(async (page) => await page.click(what));
203
- return defs_1.OK;
204
- },
205
- },
206
- clickCheckbox: {
207
- gwta: 'click the checkbox (?<name>.+)',
208
- action: async ({ name }) => {
209
- const what = this.getWorld().shared.get(name) || name;
210
- this.getWorld().logger.log(`click ${name} ${what}`);
211
- await this.withPage(async (page) => await page.click(what));
212
- return defs_1.OK;
213
- },
214
- },
215
- clickShared: {
216
- gwta: 'click `(?<id>.+)`',
217
- action: async ({ id }) => {
218
- const name = this.getWorld().shared.get(id);
219
- await this.withPage(async (page) => await page.click(name));
220
- return defs_1.OK;
221
- },
222
- },
223
- clickQuoted: {
224
- gwta: 'click "(?<name>.+)"',
225
- action: async ({ name }) => {
226
- await this.withPage(async (page) => await page.click(`text=${name}`));
227
- return defs_1.OK;
228
- },
229
- },
230
- clickLink: {
231
- gwta: 'click the link (?<uri>.+)',
232
- action: async ({ name }) => {
233
- const field = this.getWorld().shared.get(name) || name;
234
- await this.withPage(async (page) => await page.click(field));
235
- return defs_1.OK;
236
- },
237
- },
238
- clickButton: {
239
- gwta: 'click the button (?<id>.+)',
240
- action: async ({ id }) => {
241
- const field = this.getWorld().shared.get(id) || id;
242
- const a = await this.withPage(async (page) => await page.click(field));
243
- return defs_1.OK;
244
- },
245
- },
246
- // NAVIGATION
247
- onPage: {
248
- gwta: `On the {name} ${domain_webpage_1.WEB_PAGE}`,
249
- action: async ({ name }, vstep) => {
250
- const location = name.includes('://') ? name : (0, vars_1.onCurrentTypeForDomain)({ name, type: domain_webpage_1.WEB_PAGE }, this.getWorld());
251
- const response = await this.withPage(async (page) => {
252
- return await page.goto(location);
253
- });
254
- return response?.ok ? defs_1.OK : (0, util_1.actionNotOK)(`response not ok`, response);
255
- },
256
- },
257
- goBack: {
258
- gwta: 'go back',
259
- action: async () => {
260
- await this.withPage(async (page) => await page.goBack());
261
- return defs_1.OK;
262
- },
263
- },
264
- pressBack: {
265
- gwta: 'press the back button',
266
- action: async () => {
267
- // FIXME
268
- await this.withPage(async (page) => await page.evaluate(() => {
269
- console.debug('going back', globalThis.history);
270
- globalThis.history.go(-1);
271
- }));
272
- // await page.focus('body');
273
- // await page.keyboard.press('Alt+ArrowRight');
274
- return defs_1.OK;
275
- },
276
- },
277
- // BROWSER
278
- usingBrowser: {
279
- gwta: 'using (?<browser>[^`].+[^`]) browser',
280
- action: async ({ browser }) => await this.setBrowser(browser),
281
- },
282
- usingBrowserVar: {
283
- gwta: 'using {browser} browser',
284
- action: async ({ browser }) => {
285
- return this.setBrowser(browser);
286
- },
287
- },
288
- // MISC
289
- captureDialog: {
290
- gwta: 'Accept next dialog to {where}',
291
- action: async ({ where }) => {
292
- const a = await this.withPage(async (page) => page.on('dialog', dialog => {
293
- const res = {
294
- defaultValue: dialog.defaultValue(),
295
- message: dialog.message(),
296
- type: dialog.type()
297
- };
298
- dialog.accept();
299
- this.getWorld().shared.set(where, res);
300
- }));
301
- return defs_1.OK;
302
- },
303
- },
304
- takeScreenshot: {
305
- gwta: 'take a screenshot',
306
- action: async () => {
307
- const loc = { ...this.getWorld(), mediaType: "image" /* EMediaTypes.image */ };
308
- const dir = await this.storage.ensureCaptureLocation(loc, 'screenshots');
309
- await this.withPage(async (page) => await page.screenshot({
310
- path: `${dir}/screenshot-${Date.now()}.png`,
311
- }));
312
- return defs_1.OK;
313
- },
314
- },
315
- assertOpen: {
316
- gwta: '{what} is expanded with the {using}',
317
- action: async ({ what, using }) => {
318
- const isVisible = await this.withPage(async (page) => await page.isVisible(what));
319
- if (!isVisible) {
320
- await this.withPage(async (page) => await page.click(using));
155
+ },
156
+ cookieShouldBe: {
157
+ gwta: 'cookie {name} should be {value}',
158
+ action: async ({ name, value }) => {
159
+ const context = await this.getContext();
160
+ const cookies = await context?.cookies();
161
+ const found = cookies?.find(c => c.name === name && c.value === value);
162
+ return found ? defs_1.OK : (0, util_1.actionNotOK)(`did not find cookie ${name} with value ${value}`);
163
+ },
164
+ },
165
+ URIContains: {
166
+ gwta: 'URI should include {what}',
167
+ action: async ({ what }) => {
168
+ const uri = await this.withPage(async (page) => await page.url());
169
+ return uri.includes(what) ? defs_1.OK : (0, util_1.actionNotOK)(`current URI ${uri} does not contain ${what}`);
170
+ },
171
+ },
172
+ URIQueryParameterIs: {
173
+ gwta: 'URI query parameter {what} is {value}',
174
+ action: async ({ what, value }) => {
175
+ const uri = await this.withPage(async (page) => await page.url());
176
+ const found = new URL(uri).searchParams.get(what);
177
+ if (found === value) {
178
+ return defs_1.OK;
179
+ }
180
+ return (0, util_1.actionNotOK)(`URI query ${what} contains "${found}"", not "${value}""`);
181
+ },
182
+ },
183
+ URIStartsWith: {
184
+ gwta: 'URI should start with {start}',
185
+ action: async ({ start }) => {
186
+ const uri = await this.withPage(async (page) => await page.url());
187
+ return uri.startsWith(start) ? defs_1.OK : (0, util_1.actionNotOK)(`current URI ${uri} does not start with ${start}`);
188
+ },
189
+ },
190
+ URIMatches: {
191
+ gwta: 'URI should match {what}',
192
+ action: async ({ what }) => {
193
+ const uri = await this.withPage(async (page) => await page.url());
194
+ return uri.match(what) ? defs_1.OK : (0, util_1.actionNotOK)(`current URI ${uri} does not match ${what}`);
195
+ },
196
+ },
197
+ // CLICK
198
+ clickOn: {
199
+ gwta: 'click on (?<name>.[^s]+)',
200
+ action: async ({ name }) => {
201
+ const what = this.getWorld().shared.get(name) || `text=${name}`;
202
+ await this.withPage(async (page) => await page.click(what));
203
+ return defs_1.OK;
204
+ },
205
+ },
206
+ clickCheckbox: {
207
+ gwta: 'click the checkbox (?<name>.+)',
208
+ action: async ({ name }) => {
209
+ const what = this.getWorld().shared.get(name) || name;
210
+ this.getWorld().logger.log(`click ${name} ${what}`);
211
+ await this.withPage(async (page) => await page.click(what));
212
+ return defs_1.OK;
213
+ },
214
+ },
215
+ clickShared: {
216
+ gwta: 'click `(?<id>.+)`',
217
+ action: async ({ id }) => {
218
+ const name = this.getWorld().shared.get(id);
219
+ await this.withPage(async (page) => await page.click(name));
220
+ return defs_1.OK;
221
+ },
222
+ },
223
+ clickQuoted: {
224
+ gwta: 'click "(?<name>.+)"',
225
+ action: async ({ name }) => {
226
+ await this.withPage(async (page) => await page.click(`text=${name}`));
227
+ return defs_1.OK;
228
+ },
229
+ },
230
+ clickLink: {
231
+ gwta: 'click the link (?<uri>.+)',
232
+ action: async ({ name }) => {
233
+ const field = this.getWorld().shared.get(name) || name;
234
+ await this.withPage(async (page) => await page.click(field));
235
+ return defs_1.OK;
236
+ },
237
+ },
238
+ clickButton: {
239
+ gwta: 'click the button (?<id>.+)',
240
+ action: async ({ id }) => {
241
+ const field = this.getWorld().shared.get(id) || id;
242
+ const a = await this.withPage(async (page) => await page.click(field));
243
+ return defs_1.OK;
244
+ },
245
+ },
246
+ // NAVIGATION
247
+ onPage: {
248
+ gwta: `On the {name} ${domain_webpage_1.WEB_PAGE}`,
249
+ action: async ({ name }, vstep) => {
250
+ const location = name.includes('://') ? name : (0, vars_1.onCurrentTypeForDomain)({ name, type: domain_webpage_1.WEB_PAGE }, this.getWorld());
251
+ const response = await this.withPage(async (page) => {
252
+ return await page.goto(location);
253
+ });
254
+ return response?.ok ? defs_1.OK : (0, util_1.actionNotOK)(`response not ok`, response);
255
+ },
256
+ },
257
+ goBack: {
258
+ gwta: 'go back',
259
+ action: async () => {
260
+ await this.withPage(async (page) => await page.goBack());
261
+ return defs_1.OK;
262
+ },
263
+ },
264
+ pressBack: {
265
+ gwta: 'press the back button',
266
+ action: async () => {
267
+ // FIXME
268
+ await this.withPage(async (page) => await page.evaluate(() => {
269
+ console.debug('going back', globalThis.history);
270
+ globalThis.history.go(-1);
271
+ }));
272
+ // await page.focus('body');
273
+ // await page.keyboard.press('Alt+ArrowRight');
274
+ return defs_1.OK;
275
+ },
276
+ },
277
+ // BROWSER
278
+ usingBrowser: {
279
+ gwta: 'using (?<browser>[^`].+[^`]) browser',
280
+ action: async ({ browser }) => await this.setBrowser(browser),
281
+ },
282
+ usingBrowserVar: {
283
+ gwta: 'using {browser} browser',
284
+ action: async ({ browser }) => {
285
+ return this.setBrowser(browser);
286
+ },
287
+ },
288
+ // MISC
289
+ captureDialog: {
290
+ gwta: 'Accept next dialog to {where}',
291
+ action: async ({ where }) => {
292
+ const a = await this.withPage(async (page) => page.on('dialog', dialog => {
293
+ const res = {
294
+ defaultValue: dialog.defaultValue(),
295
+ message: dialog.message(),
296
+ type: dialog.type()
297
+ };
298
+ dialog.accept();
299
+ this.getWorld().shared.set(where, res);
300
+ }));
301
+ return defs_1.OK;
302
+ },
303
+ },
304
+ takeScreenshot: {
305
+ gwta: 'take a screenshot',
306
+ action: async () => {
307
+ const loc = { ...this.getWorld(), mediaType: "image" /* EMediaTypes.image */ };
308
+ const dir = await this.storage.ensureCaptureLocation(loc, 'screenshots');
309
+ await this.withPage(async (page) => await page.screenshot({
310
+ path: `${dir}/screenshot-${Date.now()}.png`,
311
+ }));
312
+ return defs_1.OK;
313
+ },
314
+ },
315
+ assertOpen: {
316
+ gwta: '{what} is expanded with the {using}',
317
+ action: async ({ what, using }) => {
318
+ const isVisible = await this.withPage(async (page) => await page.isVisible(what));
319
+ if (!isVisible) {
320
+ await this.withPage(async (page) => await page.click(using));
321
+ }
322
+ return defs_1.OK;
323
+ },
324
+ },
325
+ setToURIQueryParameter: {
326
+ gwta: 'save URI query parameter {what} to {where}',
327
+ action: async ({ what, where }) => {
328
+ const uri = await this.withPage(async (page) => await page.url());
329
+ const found = new URL(uri).searchParams.get(what);
330
+ this.getWorld().shared.set(where, found);
331
+ return defs_1.OK;
332
+ },
333
+ },
334
+ };
335
+ }
336
+ async setWorld(world, steppers) {
337
+ super.setWorld(world, steppers);
338
+ this.storage = (0, util_1.findStepperFromOption)(steppers, this, this.getWorld().extraOptions, WebPlaywright.STORAGE);
339
+ const headless = (0, util_1.getStepperOption)(this, 'HEADLESS', this.getWorld().extraOptions) === 'true';
340
+ const devtools = (0, util_1.getStepperOption)(this, 'DEVTOOLS', this.getWorld().extraOptions) === 'true';
341
+ const args = (0, util_1.getStepperOption)(this, 'ARGS', this.getWorld().extraOptions)?.split(';');
342
+ const persistentDirectory = (0, util_1.getStepperOption)(this, WebPlaywright.PERSISTENT_DIRECTORY, this.getWorld().extraOptions) === 'true';
343
+ const defaultTimeout = parseInt((0, util_1.getStepperOption)(this, 'TIMEOUT', this.getWorld().extraOptions)) || 30000;
344
+ const captureVideo = (0, util_1.getStepperOption)(this, 'CAPTURE_VIDEO', this.getWorld().extraOptions);
345
+ const { trace: doTrace } = this.getWorld().tag;
346
+ const trace = doTrace ? {
347
+ response: {
348
+ listener: async (res) => {
349
+ const url = res.url();
350
+ const headers = await res.headersArray();
351
+ const headersContent = (await Promise.allSettled(headers)).map(h => h.value);
352
+ this.getWorld().logger.debug(`response trace ${headersContent.map(h => h.name)}`, { topic: { trace: { response: { headersContent } } } });
353
+ const trace = { 'response': { url, since: this.getWorld().timer.since(), trace: { headersContent } } };
354
+ this.getWorld().shared.concat('_trace', trace);
321
355
  }
322
- return defs_1.OK;
323
- },
324
- },
325
- setToURIQueryParameter: {
326
- gwta: 'save URI query parameter {what} to {where}',
327
- action: async ({ what, where }) => {
328
- const uri = await this.withPage(async (page) => await page.url());
329
- const found = new URL(uri).searchParams.get(what);
330
- this.getWorld().shared.set(where, found);
331
- return defs_1.OK;
332
- },
333
- },
334
- };
335
- }
336
- async setWorld(world, steppers) {
337
- super.setWorld(world, steppers);
338
- this.storage = (0, util_1.findStepperFromOption)(steppers, this, this.getWorld().extraOptions, STORAGE);
339
- const headless = (0, util_1.getStepperOption)(this, 'HEADLESS', this.getWorld().extraOptions) === 'true';
340
- const devtools = (0, util_1.getStepperOption)(this, 'DEVTOOLS', this.getWorld().extraOptions) === 'true';
341
- const args = (0, util_1.getStepperOption)(this, 'ARGS', this.getWorld().extraOptions)?.split(';');
342
- const persistentDirectory = (0, util_1.getStepperOption)(this, 'PERSISTENT_DIRECTORY', this.getWorld().extraOptions) === 'true';
343
- const defaultTimeout = parseInt((0, util_1.getStepperOption)(this, 'TIMEOUT', this.getWorld().extraOptions)) || 30000;
344
- const captureVideo = (0, util_1.getStepperOption)(this, 'CAPTURE_VIDEO', this.getWorld().extraOptions);
345
- const { trace: doTrace } = this.getWorld().tag;
346
- const trace = doTrace ? {
347
- response: {
348
- listener: async (res) => {
349
- const url = res.url();
350
- const headers = await res.headersArray();
351
- const headersContent = (await Promise.allSettled(headers)).map(h => h.value);
352
- this.getWorld().logger.debug(`response trace ${headersContent.map(h => h.name)}`, { topic: { trace: { response: { headersContent } } } });
353
- const trace = { 'response': { url, since: this.getWorld().timer.since(), trace: { headersContent } } };
354
- this.getWorld().shared.concat('_trace', trace);
355
356
  }
357
+ } : undefined;
358
+ let recordVideo;
359
+ if (captureVideo) {
360
+ const loc = { ...this.getWorld(), mediaType: "video" /* EMediaTypes.video */ };
361
+ recordVideo = {
362
+ dir: await this.storage.ensureCaptureLocation(loc, 'video'),
363
+ };
356
364
  }
357
- } : undefined;
358
- let recordVideo;
359
- if (captureVideo) {
360
- const loc = { ...this.getWorld(), mediaType: "video" /* EMediaTypes.video */ };
361
- recordVideo = {
362
- dir: await this.storage.ensureCaptureLocation(loc, 'video'),
365
+ this.factoryOptions = {
366
+ browser: {
367
+ headless,
368
+ args,
369
+ devtools,
370
+ },
371
+ recordVideo,
372
+ defaultTimeout,
373
+ persistentDirectory,
374
+ trace
363
375
  };
364
376
  }
365
- this.factoryOptions = {
366
- browser: {
367
- headless,
368
- args,
369
- devtools,
370
- },
371
- recordVideo,
372
- defaultTimeout,
373
- persistentDirectory,
374
- trace
375
- };
376
- }
377
- async getBrowserFactory() {
378
- if (!this.hasFactory) {
379
- this.bf = await BrowserFactory_1.BrowserFactory.getBrowserFactory(this.getWorld().logger, this.factoryOptions);
380
- this.hasFactory = true;
377
+ async getBrowserFactory() {
378
+ if (!this.hasFactory) {
379
+ this.bf = await BrowserFactory_1.BrowserFactory.getBrowserFactory(this.getWorld().logger, this.factoryOptions);
380
+ this.hasFactory = true;
381
+ }
382
+ return this.bf;
381
383
  }
382
- return this.bf;
383
- }
384
- async getContext() {
385
- const context = (await this.getBrowserFactory()).getExistingContext(this.getWorld().tag);
386
- return context;
387
- }
388
- async getPage() {
389
- const page = await (await this.getBrowserFactory()).getBrowserContextPage(this.getWorld().tag, this.tab);
390
- return page;
391
- }
392
- async withPage(f) {
393
- const page = await this.getPage();
394
- return await f(page);
395
- }
396
- async setBrowser(browser) {
397
- try {
398
- (await this.getBrowserFactory()).setBrowserType(browser);
399
- return defs_1.OK;
384
+ async getContext() {
385
+ const context = (await this.getBrowserFactory()).getExistingContext(this.getWorld().tag);
386
+ return context;
400
387
  }
401
- catch (e) {
402
- return (0, util_1.actionNotOK)(e.message, { topics: { error: e } });
388
+ async getPage() {
389
+ const page = await (await this.getBrowserFactory()).getBrowserContextPage(this.getWorld().tag, this.tab);
390
+ return page;
403
391
  }
404
- }
405
- async onFailure(result) {
406
- if (this.bf?.hasPage(this.getWorld().tag, this.tab)) {
392
+ async withPage(f) {
407
393
  const page = await this.getPage();
408
- const path = await this.storage.getCaptureLocation({ ...this.getWorld(), mediaType: "image" /* EMediaTypes.image */ }, 'failure') + `/${result.seq}.png`;
409
- await page.screenshot({ path, fullPage: true, timeout: 60000 });
394
+ return await f(page);
410
395
  }
411
- }
412
- async nextStep() {
413
- const captureScreenshot = (0, util_1.getStepperOption)(this, 'STEP_CAPTURE_SCREENSHOT', this.getWorld().extraOptions);
414
- if (captureScreenshot) {
415
- console.debug('captureScreenshot');
396
+ async setBrowser(browser) {
397
+ try {
398
+ (await this.getBrowserFactory()).setBrowserType(browser);
399
+ return defs_1.OK;
400
+ }
401
+ catch (e) {
402
+ return (0, util_1.actionNotOK)(e.message, { topics: { error: e } });
403
+ }
416
404
  }
417
- }
418
- async endFeature() {
419
- // close the context, which closes any pages
420
- if (this.hasFactory) {
421
- await this.bf?.closeContext(this.getWorld().tag);
422
- return;
405
+ async onFailure(result) {
406
+ if (this.bf?.hasPage(this.getWorld().tag, this.tab)) {
407
+ const page = await this.getPage();
408
+ const path = await this.storage.getCaptureLocation({ ...this.getWorld(), mediaType: "image" /* EMediaTypes.image */ }, 'failure') + `/${result.seq}.png`;
409
+ await page.screenshot({ path, fullPage: true, timeout: 60000 });
410
+ }
423
411
  }
424
- }
425
- async close() {
426
- // close the context, which closes any pages
427
- if (this.hasFactory) {
428
- await this.bf?.closeContext(this.getWorld().tag);
429
- return;
412
+ async nextStep() {
413
+ const captureScreenshot = (0, util_1.getStepperOption)(this, 'STEP_CAPTURE_SCREENSHOT', this.getWorld().extraOptions);
414
+ if (captureScreenshot) {
415
+ console.debug('captureScreenshot');
416
+ }
430
417
  }
431
- }
432
- // FIXME
433
- async finish() {
434
- if (this.hasFactory) {
435
- this.bf?.close();
436
- this.bf = undefined;
437
- this.hasFactory = false;
418
+ async endFeature() {
419
+ // close the context, which closes any pages
420
+ if (this.hasFactory) {
421
+ await this.bf?.closeContext(this.getWorld().tag);
422
+ return;
423
+ }
424
+ }
425
+ async close() {
426
+ // close the context, which closes any pages
427
+ if (this.hasFactory) {
428
+ await this.bf?.closeContext(this.getWorld().tag);
429
+ return;
430
+ }
431
+ }
432
+ // FIXME
433
+ async finish() {
434
+ if (this.hasFactory) {
435
+ this.bf?.close();
436
+ this.bf = undefined;
437
+ this.hasFactory = false;
438
+ }
438
439
  }
439
- }
440
- };
440
+ },
441
+ _a.STORAGE = 'STORAGE',
442
+ _a.PERSISTENT_DIRECTORY = 'PERSISTENT_DIRECTORY',
443
+ _a);
441
444
  exports.default = WebPlaywright;
442
445
  //# sourceMappingURL=web-playwright.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-playwright.js","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-playwright.js","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haibun/web-playwright",
3
- "version": "1.10.14",
3
+ "version": "1.11.0",
4
4
  "description": "",
5
5
  "main": "build/web-playwright.js",
6
6
  "files": [