@luminati-io/webdriverio8
Version:
Next-gen browser and mobile automation test framework for Node.js
170 lines • 12 kB
JavaScript
import { fileURLToPath } from 'node:url';
import { dirname, resolve } from 'node:path';
import { createRequire } from 'node:module';
import { UNICODE_CHARACTERS, HOOK_DEFINITION } from '@wdio/utils';
export var SupportedAutomationProtocols;
(function (SupportedAutomationProtocols) {
SupportedAutomationProtocols["webdriver"] = "webdriver";
SupportedAutomationProtocols["devtools"] = "devtools";
SupportedAutomationProtocols["stub"] = "./protocol-stub.js";
})(SupportedAutomationProtocols || (SupportedAutomationProtocols = {}));
export const ELEMENT_KEY = 'element-6066-11e4-a52e-4f735466cecf';
export const SHADOW_ELEMENT_KEY = 'shadow-6066-11e4-a52e-4f735466cecf';
export const WDIO_DEFAULTS = {
/**
* allows to specify automation protocol
*/
automationProtocol: {
type: 'string',
default: SupportedAutomationProtocols.webdriver,
validate: (param) => {
/**
* path when proxy is used for browser testing
*/
if (param.endsWith('driver.js')) {
return;
}
if (!Object.values(SupportedAutomationProtocols).includes(param.toLowerCase())) {
throw new Error(`Currently only "webdriver" and "devtools" is supported as automationProtocol, you set "${param}"`);
}
try {
const __dirname = dirname(fileURLToPath(import.meta.url));
const require = createRequire(import.meta.url);
const id = param === SupportedAutomationProtocols.stub
? resolve(__dirname, '..', 'build', param)
: param;
require.resolve(id);
}
catch (err) {
/* istanbul ignore next */
throw new Error('Automation protocol package is not installed!\n' +
`Please install it via \`npm install ${param}\``);
}
}
},
/**
* capabilities of WebDriver sessions
*/
capabilities: {
type: 'object',
validate: (param) => {
/**
* should be an object
*/
if (typeof param === 'object') {
return true;
}
throw new Error('the "capabilities" options needs to be an object or a list of objects');
},
required: true
},
/**
* Shorten navigateTo command calls by setting a base url
*/
baseUrl: {
type: 'string'
},
/**
* Default interval for all waitFor* commands
*/
waitforInterval: {
type: 'number',
default: 500
},
/**
* Default timeout for all waitFor* commands
*/
waitforTimeout: {
type: 'number',
default: 5000
},
/**
* Hooks
*/
onReload: HOOK_DEFINITION,
beforeCommand: HOOK_DEFINITION,
afterCommand: HOOK_DEFINITION
};
export const W3C_SELECTOR_STRATEGIES = ['css selector', 'link text', 'partial link text', 'tag name', 'xpath'];
export const DRIVER_DEFAULT_ENDPOINT = {
method: 'GET',
host: 'localhost',
port: 4444,
path: '/status'
};
export const FF_REMOTE_DEBUG_ARG = '-remote-debugging-port';
export const DEEP_SELECTOR = '>>>';
export const ARIA_SELECTOR = 'aria/';
export const ERROR_REASON = [
'Failed', 'Aborted', 'TimedOut', 'AccessDenied', 'ConnectionClosed',
'ConnectionReset', 'ConnectionRefused', 'ConnectionAborted',
'ConnectionFailed', 'NameNotResolved', 'InternetDisconnected',
'AddressUnreachable', 'BlockedByClient', 'BlockedByResponse'
];
/**
* Special Characters
*/
export const Key = {
/**
* Special control key that works cross browser for Mac, where it's the command key, and for
* Windows or Linux, where it is the control key.
*/
Ctrl: 'WDIO_CONTROL',
NULL: UNICODE_CHARACTERS.NULL,
Cancel: UNICODE_CHARACTERS.Cancel,
Help: UNICODE_CHARACTERS.Help,
Backspace: UNICODE_CHARACTERS.Backspace,
Tab: UNICODE_CHARACTERS.Tab,
Clear: UNICODE_CHARACTERS.Clear,
Return: UNICODE_CHARACTERS.Return,
Enter: UNICODE_CHARACTERS.Enter,
Shift: UNICODE_CHARACTERS.Shift,
Control: UNICODE_CHARACTERS.Control,
Alt: UNICODE_CHARACTERS.Alt,
Pause: UNICODE_CHARACTERS.Pause,
Escape: UNICODE_CHARACTERS.Escape,
Space: UNICODE_CHARACTERS.Space,
PageUp: UNICODE_CHARACTERS.PageUp,
PageDown: UNICODE_CHARACTERS.PageDown,
End: UNICODE_CHARACTERS.End,
Home: UNICODE_CHARACTERS.Home,
ArrowLeft: UNICODE_CHARACTERS.ArrowLeft,
ArrowUp: UNICODE_CHARACTERS.ArrowUp,
ArrowRight: UNICODE_CHARACTERS.ArrowRight,
ArrowDown: UNICODE_CHARACTERS.ArrowDown,
Insert: UNICODE_CHARACTERS.Insert,
Delete: UNICODE_CHARACTERS.Delete,
Semicolon: UNICODE_CHARACTERS.Semicolon,
Equals: UNICODE_CHARACTERS.Equals,
Numpad0: UNICODE_CHARACTERS['Numpad 0'],
Numpad1: UNICODE_CHARACTERS['Numpad 1'],
Numpad2: UNICODE_CHARACTERS['Numpad 2'],
Numpad3: UNICODE_CHARACTERS['Numpad 3'],
Numpad4: UNICODE_CHARACTERS['Numpad 4'],
Numpad5: UNICODE_CHARACTERS['Numpad 5'],
Numpad6: UNICODE_CHARACTERS['Numpad 6'],
Numpad7: UNICODE_CHARACTERS['Numpad 7'],
Numpad8: UNICODE_CHARACTERS['Numpad 8'],
Numpad9: UNICODE_CHARACTERS['Numpad 9'],
Multiply: UNICODE_CHARACTERS.Multiply,
Add: UNICODE_CHARACTERS.Add,
Separator: UNICODE_CHARACTERS.Separator,
Subtract: UNICODE_CHARACTERS.Subtract,
Decimal: UNICODE_CHARACTERS.Decimal,
Divide: UNICODE_CHARACTERS.Divide,
F1: UNICODE_CHARACTERS.F1,
F2: UNICODE_CHARACTERS.F2,
F3: UNICODE_CHARACTERS.F3,
F4: UNICODE_CHARACTERS.F4,
F5: UNICODE_CHARACTERS.F5,
F6: UNICODE_CHARACTERS.F6,
F7: UNICODE_CHARACTERS.F7,
F8: UNICODE_CHARACTERS.F8,
F9: UNICODE_CHARACTERS.F9,
F10: UNICODE_CHARACTERS.F10,
F11: UNICODE_CHARACTERS.F11,
F12: UNICODE_CHARACTERS.F12,
Command: UNICODE_CHARACTERS.Command,
ZenkakuHankaku: UNICODE_CHARACTERS.ZenkakuHankaku
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUdqRSxNQUFNLENBQU4sSUFBWSw0QkFJWDtBQUpELFdBQVksNEJBQTRCO0lBQ3BDLHVEQUF1QixDQUFBO0lBQ3ZCLHFEQUFxQixDQUFBO0lBQ3JCLDJEQUEyQixDQUFBO0FBQy9CLENBQUMsRUFKVyw0QkFBNEIsS0FBNUIsNEJBQTRCLFFBSXZDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLHFDQUFxQyxDQUFBO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9DQUFvQyxDQUFBO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBNEM7SUFDbEU7O09BRUc7SUFDSCxrQkFBa0IsRUFBRTtRQUNoQixJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSw0QkFBNEIsQ0FBQyxTQUFTO1FBQy9DLFFBQVEsRUFBRSxDQUFDLEtBQWlDLEVBQUUsRUFBRTtZQUM1Qzs7ZUFFRztZQUNILElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUM5QixPQUFNO1lBQ1YsQ0FBQztZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQWtDLENBQUMsRUFBRSxDQUFDO2dCQUM3RyxNQUFNLElBQUksS0FBSyxDQUFDLDBGQUEwRixLQUFLLEdBQUcsQ0FB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