@testring/plugin-selenium-driver 0.7.6 → 0.8.1

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.
@@ -0,0 +1,4 @@
1
+ import { SeleniumPluginConfig } from './types';
2
+ import { PluginAPI } from '@testring/plugin-api';
3
+ export default function seleniumPlugin(pluginAPI: PluginAPI, userConfig: SeleniumPluginConfig): void;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAC,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,MAAM,CAAC,OAAO,UAAU,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,oBAAoB,GACjC,IAAI,CAKN"}
package/dist/index.js CHANGED
@@ -1,7 +1,30 @@
1
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.default = seleniumPlugin;
4
- const path = require("path");
27
+ const path = __importStar(require("path"));
5
28
  function seleniumPlugin(pluginAPI, userConfig) {
6
29
  const pluginPath = path.join(__dirname, './plugin');
7
30
  const browserProxy = pluginAPI.getBrowserProxy();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAIA,iCAQC;AAZD,6BAA6B;AAI7B,SAAwB,cAAc,CAClC,SAAoB,EACpB,UAAgC;IAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IAEjD,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,iCAQC;AAZD,2CAA6B;AAI7B,SAAwB,cAAc,CAClC,SAAoB,EACpB,UAAgC;IAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IAEjD,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { SeleniumPluginConfig } from '../types';
2
+ import { IBrowserProxyPlugin, SavePdfOptions, WindowFeaturesConfig } from '@testring/types';
3
+ import type { Cookie } from '@wdio/protocols';
4
+ import type { ClickOptions, MockFilterOptions } from 'webdriverio';
5
+ import type { JsonCompatible } from '@wdio/types';
6
+ import type { RespondWithOptions } from 'webdriverio/build/utils/interception/types';
7
+ import { WebdriverIOConfig } from '@wdio/types/build/Capabilities';
8
+ type BrowserObjectCustom = WebdriverIO.Browser & {
9
+ sessionId: string;
10
+ };
11
+ export declare class SeleniumPlugin implements IBrowserProxyPlugin {
12
+ private logger;
13
+ private clientCheckInterval;
14
+ private expiredBrowserClients;
15
+ private browserClients;
16
+ private customBrowserClientsConfigs;
17
+ private waitForReadyState;
18
+ private localSelenium;
19
+ private config;
20
+ private incrementWinId;
21
+ constructor(config?: Partial<SeleniumPluginConfig>);
22
+ private createConfig;
23
+ private initIntervals;
24
+ private stopAllSessions;
25
+ private getChromeDriverArgs;
26
+ private runLocalSelenium;
27
+ private getApplicantSessionId;
28
+ private hasBrowserClient;
29
+ private getBrowserClient;
30
+ private pingClients;
31
+ private closeExpiredClients;
32
+ private checkClientsTimeout;
33
+ setCustomBrowserClientConfig(applicant: string, config: WebdriverIOConfig): void;
34
+ getCustomBrowserClientConfig(applicant: string): WebdriverIOConfig | undefined;
35
+ private createClient;
36
+ private enableCDPCoverageClient;
37
+ getCdpCoverageFile(applicant: string): Promise<Buffer[] | undefined>;
38
+ protected addCustromMethods(client: BrowserObjectCustom): BrowserObjectCustom;
39
+ end(applicant: string): Promise<void>;
40
+ kill(): Promise<void>;
41
+ refresh(applicant: string): Promise<void>;
42
+ click(applicant: string, selector: string, options?: ClickOptions): Promise<void>;
43
+ getSize(applicant: string, selector: string): Promise<import("webdriverio/build/commands/element").Size & number>;
44
+ url(applicant: string, val: string): Promise<string | void | WebdriverIO.Request>;
45
+ generateWinId(): string;
46
+ newWindow(applicant: string, val: string, windowName: string, windowFeatures?: WindowFeaturesConfig): Promise<string | {
47
+ handle: string;
48
+ type: "tab" | "window";
49
+ }>;
50
+ waitForExist(applicant: string, xpath: string, timeout: number): Promise<never>;
51
+ waitForVisible(applicant: string, xpath: string, timeout: number): Promise<never>;
52
+ isVisible(applicant: string, xpath: string): Promise<boolean>;
53
+ moveToObject(applicant: string, xpath: string, xOffset?: number, yOffset?: number): Promise<void>;
54
+ execute(applicant: string, fn: any, args: Array<any>): Promise<unknown>;
55
+ executeAsync(applicant: string, fn: any, args: Array<any>): Promise<unknown>;
56
+ getTitle(applicant: string): Promise<string>;
57
+ clearValue(applicant: string, xpath: string): Promise<void>;
58
+ keys(applicant: string, value: any): Promise<void>;
59
+ elementIdText(applicant: string, elementId: string): Promise<string>;
60
+ elements(applicant: string, xpath: string): Promise<{
61
+ ELEMENT: string | undefined;
62
+ }[]>;
63
+ frame(applicant: string, frameID: any): Promise<string | void>;
64
+ frameParent(applicant: string): Promise<void>;
65
+ getValue(applicant: string, xpath: string): Promise<string>;
66
+ setValue(applicant: string, xpath: string, value: any): Promise<void>;
67
+ selectByIndex(applicant: string, xpath: string, value: any): Promise<void>;
68
+ selectByValue(applicant: string, xpath: string, value: any): Promise<void>;
69
+ selectByVisibleText(applicant: string, xpath: string, str: string): Promise<void>;
70
+ getAttribute(applicant: string, xpath: string, attr: string): Promise<any>;
71
+ windowHandleMaximize(applicant: string): Promise<import("@wdio/protocols").RectReturn>;
72
+ isEnabled(applicant: string, xpath: string): Promise<boolean>;
73
+ scroll(applicant: string, xpath: string, xOffset: number, yOffset: number): Promise<void>;
74
+ scrollIntoView(applicant: string, xpath: string, scrollIntoViewOptions?: boolean | null): Promise<void>;
75
+ isAlertOpen(applicant: string): Promise<boolean>;
76
+ alertAccept(applicant: string): Promise<void>;
77
+ alertDismiss(applicant: string): Promise<void>;
78
+ alertText(applicant: string): Promise<string>;
79
+ dragAndDrop(applicant: string, xpathSource: string, xpathDestination: string): Promise<void>;
80
+ setCookie(applicant: string, cookieObj: Cookie): Promise<void>;
81
+ getCookie(applicant: string, cookieName?: string | null): Promise<string | Cookie[] | undefined>;
82
+ deleteCookie(applicant: string, cookieName?: string | null): Promise<void>;
83
+ getHTML(applicant: string, xpath: string, b: any): Promise<any>;
84
+ getCurrentTabId(applicant: string): Promise<string>;
85
+ getTabIds(applicant: string): Promise<string[]>;
86
+ windowHandles(applicant: string): Promise<string[]>;
87
+ window(applicant: string, tabId: string): Promise<void>;
88
+ switchTab(applicant: string, tabId: string): Promise<void>;
89
+ close(applicant: string, tabId: string): Promise<void>;
90
+ getTagName(applicant: string, xpath: string): Promise<string>;
91
+ isSelected(applicant: string, xpath: string): Promise<boolean>;
92
+ getText(applicant: string, xpath: string): Promise<string>;
93
+ elementIdSelected(applicant: string, id: string): Promise<boolean>;
94
+ makeScreenshot(applicant: string): Promise<string | void>;
95
+ uploadFile(applicant: string, filePath: string): Promise<string | void>;
96
+ getCssProperty(applicant: string, xpath: string, cssProperty: string): Promise<any>;
97
+ getSource(applicant: string): Promise<string>;
98
+ isExisting(applicant: string, xpath: string): Promise<boolean>;
99
+ waitForValue(applicant: string, xpath: string, timeout: number, reverse: boolean): Promise<never>;
100
+ waitForSelected(applicant: string, xpath: string, timeout: number, reverse: boolean): Promise<never>;
101
+ waitUntil(applicant: string, condition: () => Promise<boolean>, timeout?: number, timeoutMsg?: string, interval?: number): Promise<never>;
102
+ selectByAttribute(applicant: string, xpath: string, attribute: string, value: string): Promise<void>;
103
+ gridTestSession(applicant: string): Promise<import("@wdio/protocols").ProtocolCommandResponse>;
104
+ getHubConfig(applicant: string): Promise<import("@wdio/protocols").ProtocolCommandResponse>;
105
+ /**
106
+ * @param overwrites should NOT be an arrow function, Otherwise it would throw an error
107
+ */
108
+ mock(applicant: string, url: string, overwrites: string | JsonCompatible | Buffer, filterOptions?: MockFilterOptions, mockResponseParams?: Omit<RespondWithOptions, 'body'>): Promise<void>;
109
+ emulateDevice(applicant: string, deviceName: string): Promise<void>;
110
+ status(applicant: string): Promise<import("@wdio/protocols").StatusReturn>;
111
+ back(applicant: string): Promise<void>;
112
+ forward(applicant: string): Promise<void>;
113
+ getActiveElement(applicant: string): Promise<string>;
114
+ getLocation(applicant: string, xpath: string): Promise<import("webdriverio/build/commands/element").Location & number>;
115
+ setTimeZone(applicant: string, timeZone: string): Promise<void>;
116
+ getWindowSize(applicant: string): Promise<{
117
+ width: number;
118
+ height: number;
119
+ }>;
120
+ savePDF(applicant: string, options: SavePdfOptions): Promise<Buffer>;
121
+ addValue(applicant: string, xpath: string, value: string | number): Promise<void>;
122
+ doubleClick(applicant: string, xpath: string): Promise<void>;
123
+ isClickable(applicant: string, xpath: string): Promise<boolean>;
124
+ waitForClickable(applicant: string, xpath: string, timeout: number): Promise<never>;
125
+ isFocused(applicant: string, xpath: string): Promise<boolean>;
126
+ isStable(applicant: string, xpath: string): Promise<boolean>;
127
+ waitForEnabled(applicant: string, xpath: string, timeout: number): Promise<never>;
128
+ waitForStable(applicant: string, xpath: string, timeout: number): Promise<void>;
129
+ }
130
+ export default function seleniumProxy(config: SeleniumPluginConfig): SeleniumPlugin;
131
+ export {};
132
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}