@haibun/web-playwright 1.13.6 → 1.15.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.
@@ -1,14 +1,14 @@
1
1
  import { Browser, BrowserContext, Page, BrowserType } from 'playwright';
2
- import { ILogger } from '@haibun/core/build/lib/interfaces/logger';
3
- import { TTagValue, TTraceOptions } from '@haibun/core/build/lib/defs';
2
+ import { ILogger } from '@haibun/core/build/lib/interfaces/logger.js';
3
+ import { TTagValue, TTraceOptions } from '@haibun/core/build/lib/defs.js';
4
4
  export declare const BROWSERS: {
5
5
  [name: string]: BrowserType;
6
6
  };
7
- export declare type TBrowserFactoryOptions = {
7
+ export type TBrowserFactoryOptions = {
8
8
  browser: {
9
9
  headless: boolean;
10
10
  devtools?: boolean;
11
- args: string[] | undefined;
11
+ args?: string[];
12
12
  };
13
13
  recordVideo?: {
14
14
  dir: string;
@@ -16,12 +16,14 @@ export declare type TBrowserFactoryOptions = {
16
16
  defaultTimeout?: number;
17
17
  persistentDirectory?: boolean;
18
18
  trace?: TTraceOptions;
19
+ type?: string;
20
+ device?: string;
19
21
  };
20
- export declare type PageInstance = Page & {
22
+ export declare const DEFAULT_CONFIG_TAG = "_default";
23
+ export type PageInstance = Page & {
21
24
  _guid: string;
22
25
  };
23
26
  export declare class BrowserFactory {
24
- static browser?: Browser;
25
27
  static browsers: {
26
28
  [name: string]: Browser;
27
29
  };
@@ -32,24 +34,26 @@ export declare class BrowserFactory {
32
34
  [name: string]: Page | undefined;
33
35
  };
34
36
  logger: ILogger;
35
- browserType: BrowserType;
36
- device: string | undefined;
37
- type: string;
38
- static options: TBrowserFactoryOptions;
37
+ static configs: {
38
+ [name: string]: {
39
+ options: TBrowserFactoryOptions;
40
+ browserType: BrowserType;
41
+ };
42
+ };
39
43
  myBrowsers: {
40
44
  [name: string]: Browser;
41
45
  };
42
46
  private constructor();
43
- static getBrowserFactory(logger: ILogger, options: TBrowserFactoryOptions): Promise<BrowserFactory>;
44
- setBrowserType(typeAndDevice: string): void;
45
- getBrowser(type: string): Promise<Browser>;
47
+ static getBrowserFactory(logger: ILogger, options: TBrowserFactoryOptions, tag?: string): Promise<BrowserFactory>;
48
+ getBrowser(type: string, tag?: string): Promise<Browser>;
46
49
  getExistingContext({ sequence }: {
47
50
  sequence: TTagValue;
48
- }): BrowserContext | undefined;
49
- getBrowserContext(sequence: TTagValue): Promise<BrowserContext>;
51
+ }): BrowserContext;
52
+ getBrowserContext(sequence: TTagValue, tag?: string): Promise<BrowserContext>;
50
53
  closeContext({ sequence }: {
51
54
  sequence: TTagValue;
52
55
  }): Promise<void>;
56
+ static closeBrowsers(): Promise<void>;
53
57
  close(): Promise<void>;
54
58
  tt(sequence: number, tab?: number): string;
55
59
  hasPage({ sequence }: {
@@ -59,4 +63,3 @@ export declare class BrowserFactory {
59
63
  sequence: TTagValue;
60
64
  }, tab?: number): Promise<Page>;
61
65
  }
62
- //# sourceMappingURL=BrowserFactory.d.ts.map
@@ -1,73 +1,58 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BrowserFactory = exports.BROWSERS = void 0;
4
- const playwright_1 = require("playwright");
5
- exports.BROWSERS = {
6
- firefox: playwright_1.firefox,
7
- chromium: playwright_1.chromium,
8
- webkit: playwright_1.webkit,
1
+ import { chromium, firefox, webkit, devices } from 'playwright';
2
+ export const BROWSERS = {
3
+ firefox,
4
+ chromium,
5
+ webkit,
9
6
  };
10
- const DEFAULT_BROWSER_OPTIONS = { browser: { headless: true, args: [] } };
11
- class BrowserFactory {
12
- constructor(browsers, logger) {
13
- this.contexts = {};
14
- this.pages = {};
15
- this.browserType = playwright_1.chromium;
16
- this.device = undefined;
17
- this.type = 'chromium';
18
- this.myBrowsers = browsers;
7
+ export const DEFAULT_CONFIG_TAG = '_default';
8
+ export class BrowserFactory {
9
+ static browsers = {};
10
+ contexts = {};
11
+ pages = {};
12
+ logger;
13
+ static configs = {};
14
+ myBrowsers;
15
+ constructor(logger) {
19
16
  this.logger = logger;
20
17
  }
21
- static async getBrowserFactory(logger, options) {
22
- if (!BrowserFactory.browser) {
23
- BrowserFactory.options = options;
24
- BrowserFactory.browser = await playwright_1.chromium.launch(this.options.browser);
18
+ static async getBrowserFactory(logger, options, tag = DEFAULT_CONFIG_TAG) {
19
+ options.type = options.type || 'chromium';
20
+ options.device = options.device || '';
21
+ if (!BROWSERS[options.type]) {
22
+ throw Error(`browserType not recognized ${options.type}`);
25
23
  }
26
- if (!BrowserFactory.browsers) {
27
- BrowserFactory.browsers = {};
28
- }
29
- return new BrowserFactory(BrowserFactory.browsers, logger);
30
- }
31
- setBrowserType(typeAndDevice) {
32
- const [type, device] = typeAndDevice.split('.');
33
- if (!exports.BROWSERS[type]) {
34
- throw Error(`browserType not recognized ${type}`);
35
- }
36
- this.browserType = exports.BROWSERS[type];
37
- this.type = type;
38
- this.device = device;
24
+ BrowserFactory.configs[tag] = { options, browserType: BROWSERS[options.type] };
25
+ return new BrowserFactory(logger);
39
26
  }
40
- async getBrowser(type) {
41
- return BrowserFactory.browser;
42
- /*
27
+ async getBrowser(type, tag = DEFAULT_CONFIG_TAG) {
43
28
  if (!BrowserFactory.browsers[type]) {
44
- BrowserFactory.browsers[type] = await this.browserType.launch(this.options.browser);
45
- this.logger.info(`launched new ${type} browser`);
29
+ BrowserFactory.browsers[type] = await BrowserFactory.configs[tag].browserType
30
+ .launch(BrowserFactory.configs[tag].options.browser);
31
+ this.logger.info(`launched new ${type} browser`);
46
32
  }
47
33
  return BrowserFactory.browsers[type];
48
- */
49
34
  }
50
35
  getExistingContext({ sequence }) {
51
36
  if (this.contexts[sequence]) {
52
37
  return this.contexts[sequence];
53
38
  }
54
39
  }
55
- async getBrowserContext(sequence) {
40
+ async getBrowserContext(sequence, tag = DEFAULT_CONFIG_TAG) {
56
41
  if (!this.contexts[sequence]) {
57
42
  let context;
58
- if (BrowserFactory.options.persistentDirectory) {
59
- this.logger.info(`creating new persistent context ${sequence} ${this.type}, ${BrowserFactory.options.persistentDirectory} with ${JSON.stringify(BrowserFactory.options)}`);
60
- context = await playwright_1.chromium.launchPersistentContext("", BrowserFactory.options.browser);
43
+ if (BrowserFactory.configs.persistentDirectory) {
44
+ this.logger.info(`creating new persistent context ${sequence} ${BrowserFactory.configs[tag].options.type}, ${BrowserFactory.configs.persistentDirectory} with ${JSON.stringify(BrowserFactory.configs)}`);
45
+ context = await BrowserFactory.configs[tag].browserType.launchPersistentContext("", BrowserFactory.configs[tag].options);
61
46
  }
62
47
  else {
63
- this.logger.info(`creating new context ${sequence} ${this.type}`);
64
- const browser = await this.getBrowser(this.type);
65
- const deviceContext = this.device ? { ...playwright_1.devices[this.device] } : {};
66
- context = await browser.newContext({ ...deviceContext, ...BrowserFactory.options });
48
+ this.logger.info(`creating new context ${sequence} ${BrowserFactory.configs[tag].options.type}`);
49
+ const browser = await this.getBrowser(BrowserFactory.configs[tag].options.type);
50
+ const deviceContext = BrowserFactory.configs[tag].options.device ? { ...devices[BrowserFactory.configs[tag].options.device] } : {};
51
+ context = await browser.newContext({ ...deviceContext, ...BrowserFactory.configs[tag].options });
67
52
  }
68
53
  this.contexts[sequence] = context;
69
- if (BrowserFactory.options.defaultTimeout) {
70
- this.contexts[sequence].setDefaultTimeout(BrowserFactory.options.defaultTimeout);
54
+ if (BrowserFactory.configs.defaultTimeout) {
55
+ this.contexts[sequence].setDefaultTimeout(BrowserFactory.configs[tag].options.defaultTimeout);
71
56
  }
72
57
  }
73
58
  return this.contexts[sequence];
@@ -81,10 +66,14 @@ class BrowserFactory {
81
66
  delete this.pages[sequence];
82
67
  delete this.contexts[sequence];
83
68
  }
69
+ static async closeBrowsers() {
70
+ for (const b in BrowserFactory.browsers) {
71
+ await BrowserFactory.browsers[b].close();
72
+ }
73
+ ;
74
+ }
84
75
  async close() {
85
- Object.values(BrowserFactory.browsers).forEach(async (v) => {
86
- await v.close();
87
- });
76
+ await BrowserFactory.closeBrowsers();
88
77
  }
89
78
  tt(sequence, tab) {
90
79
  return `${sequence}${tab ? `-${tab}` : ''}`;
@@ -93,7 +82,7 @@ class BrowserFactory {
93
82
  return !!this.pages[this.tt(sequence, tab)];
94
83
  }
95
84
  async getBrowserContextPage({ sequence }, tab) {
96
- const { trace } = BrowserFactory.options;
85
+ const { trace } = BrowserFactory.configs;
97
86
  const tt = this.tt(sequence, tab);
98
87
  let page = this.pages[tt];
99
88
  if (page) {
@@ -112,7 +101,4 @@ class BrowserFactory {
112
101
  return page;
113
102
  }
114
103
  }
115
- exports.BrowserFactory = BrowserFactory;
116
- BrowserFactory.browser = undefined;
117
- BrowserFactory.browsers = {};
118
104
  //# sourceMappingURL=BrowserFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFactory.js","sourceRoot":"","sources":["../src/BrowserFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserFactory.js","sourceRoot":"","sources":["../src/BrowserFactory.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=BrowserFactory.test.d.ts.map
1
+ import 'leaked-handles';
@@ -1,88 +1,61 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const playwright_1 = require("playwright");
27
- const Logger_1 = __importStar(require("@haibun/core/build/lib/Logger"));
28
- const BrowserFactory_1 = require("./BrowserFactory");
29
- const lib_1 = require("@haibun/core/build/lib/test/lib");
1
+ import Logger, { LOGGER_NOTHING } from "@haibun/core/build/lib/Logger.js";
2
+ import { BrowserFactory, DEFAULT_CONFIG_TAG } from "./BrowserFactory.js";
3
+ import { getDefaultTag } from "@haibun/core/build/lib/test/lib.js";
4
+ import 'leaked-handles';
30
5
  const browserContextOptions = {
31
6
  browser: {
32
- headless: true,
33
- args: undefined
7
+ headless: true
34
8
  },
35
9
  };
36
10
  describe("types", () => {
37
11
  it("gets type and device", async () => {
38
- const bf = await BrowserFactory_1.BrowserFactory.getBrowserFactory(new Logger_1.default(Logger_1.LOGGER_NONE), browserContextOptions);
39
- bf.setBrowserType("webkit.Blackberry PlayBook");
40
- expect(bf.browserType).toBe(playwright_1.webkit);
41
- expect(bf.device).toBe("Blackberry PlayBook");
12
+ await BrowserFactory.getBrowserFactory(new Logger(LOGGER_NOTHING), {
13
+ ...browserContextOptions,
14
+ type: 'webkit',
15
+ device: 'Blackberry PlayBook'
16
+ });
17
+ expect(BrowserFactory.configs[DEFAULT_CONFIG_TAG].options.type).toBe('webkit');
18
+ expect(BrowserFactory.configs[DEFAULT_CONFIG_TAG].options.device).toBe("Blackberry PlayBook");
19
+ BrowserFactory.closeBrowsers();
42
20
  });
43
21
  it("missing type", async () => {
44
- const bf = await BrowserFactory_1.BrowserFactory.getBrowserFactory(new Logger_1.default(Logger_1.LOGGER_NONE), browserContextOptions);
45
- expect(() => bf.setBrowserType("amazingnothing")).toThrowError();
22
+ expect(async () => await BrowserFactory.getBrowserFactory(new Logger(LOGGER_NOTHING), {
23
+ ...browserContextOptions,
24
+ type: 'noodles'
25
+ })).rejects.toThrow();
26
+ BrowserFactory.closeBrowsers();
46
27
  });
47
28
  });
48
29
  describe('browser, context, page', () => {
49
30
  it('page, context and browser', async () => {
50
- const logger = new Logger_1.default(Logger_1.LOGGER_NONE);
51
- const bfa = await BrowserFactory_1.BrowserFactory.getBrowserFactory(logger, browserContextOptions);
52
- const test = (0, lib_1.getDefaultTag)(0);
53
- const test2 = (0, lib_1.getDefaultTag)(1);
54
- const test3 = (0, lib_1.getDefaultTag)(2);
31
+ const logger = new Logger(LOGGER_NOTHING);
32
+ const bfa = await BrowserFactory.getBrowserFactory(logger, browserContextOptions);
33
+ const test = getDefaultTag(0);
34
+ const test2 = getDefaultTag(1);
35
+ const test3 = getDefaultTag(2);
55
36
  const pa1 = await bfa.getBrowserContextPage(test);
56
37
  expect(pa1).toBeDefined();
57
- // FIXME
58
- /*
59
- expect(Object.keys(BrowserFactory.browsers).length).toBe(1)
60
- expect(Object.keys(bfa.contexts).length).toBe(1)
61
-
62
- const pa2 = await bfa.getPage(test2);
38
+ expect(Object.keys(BrowserFactory.browsers).length).toBe(1);
39
+ expect(Object.keys(bfa.contexts).length).toBe(1);
40
+ const pa2 = await bfa.getBrowserContextPage(test2);
63
41
  expect(pa2).toBeDefined();
64
- expect(Object.keys(BrowserFactory.browsers).length).toBe(1)
65
- expect(Object.keys(bfa.contexts).length).toBe(2)
66
- expect((pa1 as PageInstance)._guid).not.toEqual((pa2 as PageInstance)._guid);
67
-
68
- let pa3 = await bfa.getPage(test2);
42
+ expect(Object.keys(BrowserFactory.browsers).length).toBe(1);
43
+ expect(Object.keys(bfa.contexts).length).toBe(2);
44
+ expect(pa1._guid).not.toEqual(pa2._guid);
45
+ let pa3 = await bfa.getBrowserContextPage(test2);
69
46
  expect(pa3).toBeDefined();
70
- expect(Object.keys(BrowserFactory.browsers).length).toBe(1)
71
- expect(Object.keys(bfa.contexts).length).toBe(2)
72
- expect((pa2 as PageInstance)._guid).toEqual((pa3 as PageInstance)._guid);
73
-
74
- const bfb = BrowserFactory.get(logger);
75
- const pb1 = await bfb.getPage(test3);
76
- expect(Object.keys(BrowserFactory.browsers).length).toBe(1)
77
- expect(Object.keys(bfb.contexts).length).toBe(1)
78
-
79
- expect(Object.keys(bfa.contexts).length).toBe(2)
80
-
47
+ expect(Object.keys(BrowserFactory.browsers).length).toBe(1);
48
+ expect(Object.keys(bfa.contexts).length).toBe(2);
49
+ expect(pa2._guid).toEqual(pa3._guid);
50
+ const bfb = await BrowserFactory.getBrowserFactory(logger, browserContextOptions);
51
+ const pb1 = await bfb.getBrowserContextPage(test3);
52
+ expect(Object.keys(BrowserFactory.browsers).length).toBe(1);
53
+ expect(Object.keys(bfb.contexts).length).toBe(1);
54
+ expect(Object.keys(bfa.contexts).length).toBe(2);
81
55
  await bfa.closeContext(test2);
82
-
83
- expect(Object.keys(bfa.contexts).length).toBe(1)
56
+ expect(Object.keys(bfa.contexts).length).toBe(1);
84
57
  expect(bfa.pages['test2']).toBeUndefined();
85
- */
58
+ BrowserFactory.closeBrowsers();
86
59
  });
87
60
  });
88
61
  //# sourceMappingURL=BrowserFactory.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFactory.test.js","sourceRoot":"","sources":["../src/BrowserFactory.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAoC;AACpC,wEAAoE;AACpE,qDAAkD;AAClD,yDAAgE;AAGhE,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,SAAS;KAChB;CACF,CAAA;AAGD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,EAAE,GAAG,MAAM,+BAAc,CAAC,iBAAiB,CAAC,IAAI,gBAAM,CAAC,oBAAW,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAClG,EAAE,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,mBAAM,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,EAAE,GAAG,MAAM,+BAAc,CAAC,iBAAiB,CAAC,IAAI,gBAAM,CAAC,oBAAW,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAClG,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,oBAAW,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,+BAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,mBAAa,EAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAA,mBAAa,EAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAA,mBAAa,EAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1B,QAAQ;QACR;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2BE;IACJ,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"BrowserFactory.test.js","sourceRoot":"","sources":["../src/BrowserFactory.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Page } from 'playwright';
2
- import { TNamed, TVStep, TStepResult, AStepper, TWorld } from '@haibun/core/build/lib/defs';
3
- import { BrowserFactory, TBrowserFactoryOptions } from './BrowserFactory';
4
- import { AStorage } from '@haibun/domain-storage/build/AStorage';
2
+ import { TNamed, TVStep, TStepResult, AStepper, TWorld } from '@haibun/core/build/lib/defs.js';
3
+ import { BrowserFactory, TBrowserFactoryOptions } from './BrowserFactory.js';
4
+ import { AStorage } from '@haibun/domain-storage/build/AStorage.js';
5
5
  declare const WebPlaywright: {
6
6
  new (): {
7
7
  requireDomains: string[];
@@ -109,16 +109,15 @@ declare const WebPlaywright: {
109
109
  };
110
110
  };
111
111
  hasFactory: boolean;
112
- bf?: BrowserFactory | undefined;
113
- storage?: AStorage | undefined;
114
- factoryOptions?: TBrowserFactoryOptions | undefined;
112
+ bf?: BrowserFactory;
113
+ storage?: AStorage;
114
+ factoryOptions?: TBrowserFactoryOptions;
115
115
  tab: number;
116
116
  setWorld(world: TWorld, steppers: AStepper[]): Promise<void>;
117
117
  getBrowserFactory(): Promise<BrowserFactory>;
118
- getContext(): Promise<import("playwright-core").BrowserContext | undefined>;
118
+ getContext(): Promise<import("playwright").BrowserContext>;
119
119
  getPage(): Promise<Page>;
120
120
  withPage(f: any): Promise<any>;
121
- setBrowser(browser: string): Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
122
121
  onFailure(result: TStepResult): Promise<void>;
123
122
  nextStep(): Promise<void>;
124
123
  endFeature(): Promise<void>;
@@ -127,135 +126,126 @@ declare const WebPlaywright: {
127
126
  steps: {
128
127
  inputVariable: {
129
128
  gwta: string;
130
- action: ({ what, field }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
129
+ action: ({ what, field }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
131
130
  };
132
131
  selectionOption: {
133
132
  gwta: string;
134
- action: ({ option, field }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
133
+ action: ({ option, field }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
135
134
  };
136
135
  dialogIs: {
137
136
  gwta: string;
138
- action: ({ what, type, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
137
+ action: ({ what, type, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
139
138
  };
140
139
  dialogIsUnset: {
141
140
  gwta: string;
142
- action: ({ what, type, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
141
+ action: ({ what, type, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
143
142
  };
144
143
  seeTextIn: {
145
144
  gwta: string;
146
- action: ({ text, selector }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
145
+ action: ({ text, selector }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
147
146
  };
148
147
  seeText: {
149
148
  gwta: string;
150
- action: ({ text }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
149
+ action: ({ text }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
151
150
  };
152
151
  waitFor: {
153
152
  gwta: string;
154
- action: ({ what }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
153
+ action: ({ what }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
155
154
  };
156
155
  onNewPage: {
157
156
  gwta: string;
158
- action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
157
+ action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
159
158
  };
160
159
  onTabX: {
161
160
  gwta: string;
162
- action: ({ tab }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
161
+ action: ({ tab }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
163
162
  };
164
163
  beOnPage: {
165
164
  gwta: string;
166
- action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
165
+ action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
167
166
  };
168
167
  extensionContext: {
169
168
  gwta: string;
170
- action: ({ tab }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
169
+ action: ({ tab }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
171
170
  };
172
171
  cookieShouldBe: {
173
172
  gwta: string;
174
- action: ({ name, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
173
+ action: ({ name, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
175
174
  };
176
175
  URIContains: {
177
176
  gwta: string;
178
- action: ({ what }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
177
+ action: ({ what }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
179
178
  };
180
179
  URIQueryParameterIs: {
181
180
  gwta: string;
182
- action: ({ what, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
181
+ action: ({ what, value }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
183
182
  };
184
183
  URIStartsWith: {
185
184
  gwta: string;
186
- action: ({ start }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
185
+ action: ({ start }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
187
186
  };
188
187
  URIMatches: {
189
188
  gwta: string;
190
- action: ({ what }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
189
+ action: ({ what }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
191
190
  };
192
191
  clickOn: {
193
192
  gwta: string;
194
- action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
193
+ action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
195
194
  };
196
195
  clickCheckbox: {
197
196
  gwta: string;
198
- action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
197
+ action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
199
198
  };
200
199
  clickShared: {
201
200
  gwta: string;
202
- action: ({ id }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
201
+ action: ({ id }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
203
202
  };
204
203
  clickQuoted: {
205
204
  gwta: string;
206
- action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
205
+ action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
207
206
  };
208
207
  clickLink: {
209
208
  gwta: string;
210
- action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
209
+ action: ({ name }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
211
210
  };
212
211
  clickButton: {
213
212
  gwta: string;
214
- action: ({ id }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
213
+ action: ({ id }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
215
214
  };
216
215
  onPage: {
217
216
  gwta: string;
218
- action: ({ name }: TNamed, vstep: TVStep) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
217
+ action: ({ name }: TNamed, vstep: TVStep) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult | import("@haibun/core/build/lib/defs.js").TNotOKActionResult>;
219
218
  };
220
219
  goBack: {
221
220
  gwta: string;
222
- action: () => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
221
+ action: () => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
223
222
  };
224
223
  pressBack: {
225
224
  gwta: string;
226
- action: () => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
227
- };
228
- usingBrowser: {
229
- gwta: string;
230
- action: ({ browser }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
231
- };
232
- usingBrowserVar: {
233
- gwta: string;
234
- action: ({ browser }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult | import("@haibun/core/build/lib/defs").TNotOKActionResult>;
225
+ action: () => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
235
226
  };
236
227
  captureDialog: {
237
228
  gwta: string;
238
- action: ({ where }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
229
+ action: ({ where }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
239
230
  };
240
231
  takeScreenshot: {
241
232
  gwta: string;
242
- action: () => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
233
+ action: () => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
243
234
  };
244
235
  assertOpen: {
245
236
  gwta: string;
246
- action: ({ what, using }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
237
+ action: ({ what, using }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
247
238
  };
248
239
  setToURIQueryParameter: {
249
240
  gwta: string;
250
- action: ({ what, where }: TNamed) => Promise<import("@haibun/core/build/lib/defs").TOKActionResult>;
241
+ action: ({ what, where }: TNamed) => Promise<import("@haibun/core/build/lib/defs.js").TOKActionResult>;
251
242
  };
252
243
  };
253
- world?: TWorld | undefined;
244
+ world?: TWorld;
254
245
  getWorld(): TWorld;
255
246
  };
256
247
  STORAGE: string;
257
248
  PERSISTENT_DIRECTORY: string;
258
249
  };
259
250
  export default WebPlaywright;
260
- export declare type TWebPlaywright = typeof WebPlaywright;
261
- //# sourceMappingURL=web-playwright.d.ts.map
251
+ export type TWebPlaywright = typeof WebPlaywright;