UNPKG

2.76 kBTypeScriptView Raw
1import type { Options } from '@wdio/types';
2import type { ProtocolCommands } from '@wdio/protocols';
3import type { BrowserCommandsType } from './types.js';
4type EventEmitter = (args: any) => void;
5/**
6 * Multiremote class
7 */
8export default class MultiRemote {
9 instances: Record<string, WebdriverIO.Browser>;
10 baseInstance?: MultiRemoteDriver;
11 sessionId?: string;
12 /**
13 * add instance to multibrowser instance
14 */
15 addInstance(browserName: string, client: any): Promise<WebdriverIO.Browser>;
16 /**
17 * modifier for multibrowser instance
18 */
19 modifier(wrapperClient: {
20 options: Options.WebdriverIO;
21 commandList: (keyof (ProtocolCommands & BrowserCommandsType) & 'getInstance')[];
22 }): any;
23 /**
24 * helper method to generate element objects from results, so that we can call, e.g.
25 *
26 * ```
27 * const elem = $('#elem')
28 * elem.getHTML()
29 * ```
30 *
31 * or in case multiremote is used
32 *
33 * ```
34 * const elems = $$('div')
35 * elems[0].getHTML()
36 * ```
37 */
38 static elementWrapper(instances: Record<string, WebdriverIO.Browser>, result: any, propertiesObject: Record<string, PropertyDescriptor>, scope: MultiRemote): WebdriverIO.MultiRemoteElement;
39 /**
40 * handle commands for multiremote instances
41 */
42 commandWrapper(commandName: keyof (ProtocolCommands & BrowserCommandsType) & 'getInstance'): ((this: Record<string, WebdriverIO.Browser | WebdriverIO.Element>, browserName: string) => WebdriverIO.Element | WebdriverIO.Browser) | ((...args: any) => Promise<unknown>);
43}
44/**
45 * event listener class that propagates events to sub drivers
46 */
47export declare class MultiRemoteDriver {
48 instances: string[];
49 isMultiremote: true;
50 __propertiesObject__: Record<string, PropertyDescriptor>;
51 constructor(instances: Record<string, WebdriverIO.Browser>, propertiesObject: Record<string, PropertyDescriptor>);
52 on(this: WebdriverIO.MultiRemoteBrowser, eventName: any, emitter: EventEmitter): any;
53 once(this: WebdriverIO.MultiRemoteBrowser, eventName: any, emitter: EventEmitter): any;
54 emit(this: WebdriverIO.MultiRemoteBrowser, eventName: string, emitter: EventEmitter): boolean;
55 eventNames(this: WebdriverIO.MultiRemoteBrowser): any;
56 getMaxListeners(this: WebdriverIO.MultiRemoteBrowser): number;
57 listenerCount(this: WebdriverIO.MultiRemoteBrowser, eventName: string): number;
58 listeners(this: WebdriverIO.MultiRemoteBrowser, eventName: string): Function[];
59 removeListener(this: WebdriverIO.MultiRemoteBrowser, eventName: string, emitter: EventEmitter): any;
60 removeAllListeners(this: WebdriverIO.MultiRemoteBrowser, eventName: string): any;
61}
62export {};
63//# sourceMappingURL=multiremote.d.ts.map
\No newline at end of file