@oracle/oraclejet-selenium-driver 19.0.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.
- package/DriverManager/DriverManager.cjs +334 -0
- package/DriverManager/DriverManager.cjs.map +1 -0
- package/DriverManager/DriverManager.d.ts +216 -0
- package/DriverManager/DriverManager.mjs +330 -0
- package/DriverManager/DriverManager.mjs.map +1 -0
- package/DriverManager/index.cjs +10 -0
- package/DriverManager/index.cjs.map +1 -0
- package/DriverManager/index.d.ts +1 -0
- package/DriverManager/index.mjs +2 -0
- package/DriverManager/index.mjs.map +1 -0
- package/UNSAFE_SeleniumDriver/SeleniumDriver.cjs +169 -0
- package/UNSAFE_SeleniumDriver/SeleniumDriver.cjs.map +1 -0
- package/UNSAFE_SeleniumDriver/SeleniumDriver.d.ts +42 -0
- package/UNSAFE_SeleniumDriver/SeleniumDriver.mjs +165 -0
- package/UNSAFE_SeleniumDriver/SeleniumDriver.mjs.map +1 -0
- package/UNSAFE_SeleniumDriver/index.cjs +10 -0
- package/UNSAFE_SeleniumDriver/index.cjs.map +1 -0
- package/UNSAFE_SeleniumDriver/index.d.ts +1 -0
- package/UNSAFE_SeleniumDriver/index.mjs +2 -0
- package/UNSAFE_SeleniumDriver/index.mjs.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { TestDriverBase, getTimeouts, Keys } from '@oracle/oraclejet-testing/UNSAFE_Driver';
|
|
2
|
+
import { Key, By } from 'selenium-webdriver';
|
|
3
|
+
|
|
4
|
+
const modifierKeys = {
|
|
5
|
+
SHIFT: Key.SHIFT,
|
|
6
|
+
CONTROL: Key.CONTROL,
|
|
7
|
+
CONTROL_COMMAND: Key.CONTROL,
|
|
8
|
+
ALT: Key.ALT
|
|
9
|
+
};
|
|
10
|
+
const keyMap = {
|
|
11
|
+
...modifierKeys,
|
|
12
|
+
BACKSPACE: Key.BACK_SPACE,
|
|
13
|
+
TAB: Key.TAB,
|
|
14
|
+
ENTER: Key.ENTER,
|
|
15
|
+
ESCAPE: Key.ESCAPE,
|
|
16
|
+
PAGE_UP: Key.PAGE_UP,
|
|
17
|
+
PAGE_DOWN: Key.PAGE_DOWN,
|
|
18
|
+
END: Key.END,
|
|
19
|
+
HOME: Key.HOME,
|
|
20
|
+
ARROW_LEFT: Key.ARROW_LEFT,
|
|
21
|
+
ARROW_UP: Key.ARROW_UP,
|
|
22
|
+
ARROW_RIGHT: Key.ARROW_RIGHT,
|
|
23
|
+
ARROW_DOWN: Key.ARROW_DOWN,
|
|
24
|
+
DELETE: Key.DELETE,
|
|
25
|
+
F1: Key.F1,
|
|
26
|
+
F2: Key.F2,
|
|
27
|
+
F3: Key.F3,
|
|
28
|
+
F4: Key.F4,
|
|
29
|
+
F5: Key.F5,
|
|
30
|
+
F6: Key.F6,
|
|
31
|
+
F7: Key.F7,
|
|
32
|
+
F8: Key.F8,
|
|
33
|
+
F9: Key.F9,
|
|
34
|
+
F10: Key.F10,
|
|
35
|
+
F11: Key.F11,
|
|
36
|
+
F12: Key.F12
|
|
37
|
+
};
|
|
38
|
+
let currentScriptTimeout;
|
|
39
|
+
class SeleniumDriver extends TestDriverBase {
|
|
40
|
+
constructor(driver) {
|
|
41
|
+
super();
|
|
42
|
+
this._platform = '';
|
|
43
|
+
this._waitForElement = async (locator, parent) => {
|
|
44
|
+
try {
|
|
45
|
+
const el = await this.waitFor(() => parent.findElement(By.css(locator.css)), {
|
|
46
|
+
timeout: getTimeouts().elementExistsTimeout
|
|
47
|
+
});
|
|
48
|
+
return Promise.resolve(wrapElement(el, this._waitForElement, this._waitForElements));
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
throw Error(`No element matching query "${JSON.stringify(locator)}"`);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
this._waitForElements = async (locator, parent) => {
|
|
55
|
+
let matches;
|
|
56
|
+
try {
|
|
57
|
+
// loop to find at least 1 match
|
|
58
|
+
matches = await this.waitFor(async () => {
|
|
59
|
+
const all = await parent.findElements(By.css(locator.css));
|
|
60
|
+
if (all.length) {
|
|
61
|
+
return all;
|
|
62
|
+
}
|
|
63
|
+
return;
|
|
64
|
+
}, {
|
|
65
|
+
timeout: getTimeouts().elementExistsTimeout
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
return Promise.resolve(Array.from(matches || []).map((m) => wrapElement(m, this._waitForElement, this._waitForElements)));
|
|
72
|
+
};
|
|
73
|
+
this._driver = driver;
|
|
74
|
+
}
|
|
75
|
+
async executeScript(script, ...args) {
|
|
76
|
+
await this._setDriverTimeouts();
|
|
77
|
+
return this._driver.executeScript(script, ...args);
|
|
78
|
+
}
|
|
79
|
+
async waitForElement(locator) {
|
|
80
|
+
return this._waitForElement(locator, this._driver);
|
|
81
|
+
}
|
|
82
|
+
async waitForElements(locator) {
|
|
83
|
+
return this._waitForElements(locator, this._driver);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get a TestElement for the given WebElement
|
|
87
|
+
* @param from The WebElement
|
|
88
|
+
* @returns A TestElement
|
|
89
|
+
*/
|
|
90
|
+
getTestElement(from) {
|
|
91
|
+
return wrapElement(from, this._waitForElement, this._waitForElements);
|
|
92
|
+
}
|
|
93
|
+
async sendKeys(element, ...text) {
|
|
94
|
+
await this._ensurePlatform();
|
|
95
|
+
return this.unwrapElement(element).sendKeys(...text.map(this._getPlatformKey.bind(this)));
|
|
96
|
+
}
|
|
97
|
+
async click(element, options = {}) {
|
|
98
|
+
await this._ensurePlatform();
|
|
99
|
+
const modifiers = options.modifiers || [];
|
|
100
|
+
const actions = this._driver.actions();
|
|
101
|
+
if (modifiers) {
|
|
102
|
+
modifiers.map(this._getPlatformKey.bind(this)).forEach((m) => actions.keyDown(m));
|
|
103
|
+
await actions.perform();
|
|
104
|
+
}
|
|
105
|
+
await this.unwrapElement(element).click();
|
|
106
|
+
return actions.clear();
|
|
107
|
+
}
|
|
108
|
+
unwrapElement(element) {
|
|
109
|
+
return element._el;
|
|
110
|
+
}
|
|
111
|
+
async _ensurePlatform() {
|
|
112
|
+
if (!this._platform) {
|
|
113
|
+
this._platform = (await this._driver.getCapabilities()).getPlatform() || 'unknown';
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get the platform-specific key value for the key, if available.
|
|
118
|
+
* @param key The key value
|
|
119
|
+
* @returns A platform-specific value for the key, or the original key if none exists
|
|
120
|
+
*/
|
|
121
|
+
_getPlatformKey(key) {
|
|
122
|
+
if (typeof key === 'object') {
|
|
123
|
+
return Keys.CONTROL_COMMAND === key
|
|
124
|
+
? this._platform === 'mac'
|
|
125
|
+
? Key.COMMAND
|
|
126
|
+
: Key.CONTROL
|
|
127
|
+
: keyMap[key.key];
|
|
128
|
+
}
|
|
129
|
+
return key;
|
|
130
|
+
}
|
|
131
|
+
_setDriverTimeouts() {
|
|
132
|
+
const { scriptTimeout } = getTimeouts();
|
|
133
|
+
if (scriptTimeout !== currentScriptTimeout) {
|
|
134
|
+
currentScriptTimeout = scriptTimeout;
|
|
135
|
+
// set script timeout
|
|
136
|
+
// we don't set implicit (waitForElement) because we want to enforce our own behavior
|
|
137
|
+
return this._driver.manage().setTimeouts({
|
|
138
|
+
script: scriptTimeout
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function wrapElement(element, waitForElement, waitForElements) {
|
|
145
|
+
return new TestElementImpl(element, waitForElement, waitForElements);
|
|
146
|
+
}
|
|
147
|
+
class TestElementImpl {
|
|
148
|
+
constructor(element, waitForElement, waitForElements) {
|
|
149
|
+
this._el = element;
|
|
150
|
+
this._waitForElement = waitForElement;
|
|
151
|
+
this._waitForElements = waitForElements;
|
|
152
|
+
}
|
|
153
|
+
waitForElement(locator) {
|
|
154
|
+
return this._waitForElement(locator, this._el);
|
|
155
|
+
}
|
|
156
|
+
waitForElements(locator) {
|
|
157
|
+
return this._waitForElements(locator, this._el);
|
|
158
|
+
}
|
|
159
|
+
getAttribute(attrName) {
|
|
160
|
+
return this._el.getAttribute(attrName);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export { SeleniumDriver };
|
|
165
|
+
//# sourceMappingURL=SeleniumDriver.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SeleniumDriver.mjs","sources":["../../src/UNSAFE_SeleniumDriver/SeleniumDriver.ts"],"sourcesContent":["import {\n type ClickOptions,\n type KeyType,\n TestDriverBase,\n type TestElement,\n getTimeouts\n} from '@oracle/oraclejet-testing/UNSAFE_Driver';\nimport { Keys as TestingKeys } from '@oracle/oraclejet-testing/UNSAFE_Driver';\nimport { ElementLocator } from '@oracle/oraclejet-testing/UNSAFE_Locators';\nimport { By, Key as WebDriverKeys, WebDriver, WebElement } from 'selenium-webdriver';\n\ntype WaitForElementType = (\n locator: ElementLocator,\n parent: WebDriver | WebElement\n) => Promise<TestElement>;\n\ntype WaitForElementsType = (\n locator: ElementLocator,\n parent: WebDriver | WebElement\n) => Promise<TestElement[]>;\n\nconst modifierKeys = {\n SHIFT: WebDriverKeys.SHIFT,\n CONTROL: WebDriverKeys.CONTROL,\n CONTROL_COMMAND: WebDriverKeys.CONTROL,\n ALT: WebDriverKeys.ALT\n};\n\nconst keyMap: { [key: string]: string } = {\n ...modifierKeys,\n BACKSPACE: WebDriverKeys.BACK_SPACE,\n TAB: WebDriverKeys.TAB,\n ENTER: WebDriverKeys.ENTER,\n ESCAPE: WebDriverKeys.ESCAPE,\n PAGE_UP: WebDriverKeys.PAGE_UP,\n PAGE_DOWN: WebDriverKeys.PAGE_DOWN,\n END: WebDriverKeys.END,\n HOME: WebDriverKeys.HOME,\n ARROW_LEFT: WebDriverKeys.ARROW_LEFT,\n ARROW_UP: WebDriverKeys.ARROW_UP,\n ARROW_RIGHT: WebDriverKeys.ARROW_RIGHT,\n ARROW_DOWN: WebDriverKeys.ARROW_DOWN,\n DELETE: WebDriverKeys.DELETE,\n\n F1: WebDriverKeys.F1,\n F2: WebDriverKeys.F2,\n F3: WebDriverKeys.F3,\n F4: WebDriverKeys.F4,\n F5: WebDriverKeys.F5,\n F6: WebDriverKeys.F6,\n F7: WebDriverKeys.F7,\n F8: WebDriverKeys.F8,\n F9: WebDriverKeys.F9,\n F10: WebDriverKeys.F10,\n F11: WebDriverKeys.F11,\n F12: WebDriverKeys.F12\n};\n\nlet currentScriptTimeout: number | undefined;\n\nexport class SeleniumDriver extends TestDriverBase {\n private _driver: WebDriver;\n private _platform = '';\n\n constructor(driver: WebDriver) {\n super();\n this._driver = driver;\n }\n\n async executeScript<T>(script: string | ((...args: any) => T), ...args: any): Promise<T> {\n await this._setDriverTimeouts();\n return this._driver.executeScript<T>(script, ...args);\n }\n\n async waitForElement(locator: ElementLocator): Promise<TestElement> {\n return this._waitForElement(locator, this._driver);\n }\n\n async waitForElements(locator: ElementLocator): Promise<TestElement[]> {\n return this._waitForElements(locator, this._driver);\n }\n\n private _waitForElement = async (locator: ElementLocator, parent: WebDriver | WebElement) => {\n try {\n const el = await this.waitFor<Promise<WebElement>>(\n () => parent.findElement(By.css(locator.css)),\n {\n timeout: getTimeouts().elementExistsTimeout\n }\n );\n return Promise.resolve(wrapElement(el, this._waitForElement, this._waitForElements));\n } catch {\n throw Error(`No element matching query \"${JSON.stringify(locator)}\"`);\n }\n };\n\n private _waitForElements = async (locator: ElementLocator, parent: WebDriver | WebElement) => {\n let matches: WebElement[] | undefined;\n try {\n // loop to find at least 1 match\n matches = await this.waitFor<WebElement[] | undefined>(\n async () => {\n const all = await parent.findElements(By.css(locator.css));\n if (all.length) {\n return all;\n }\n return;\n },\n {\n timeout: getTimeouts().elementExistsTimeout\n }\n );\n } catch {\n return [];\n }\n return Promise.resolve(\n Array.from(matches || []).map((m) =>\n wrapElement(m, this._waitForElement, this._waitForElements)\n )\n );\n };\n\n /**\n * Get a TestElement for the given WebElement\n * @param from The WebElement\n * @returns A TestElement\n */\n getTestElement(from: WebElement) {\n return wrapElement(from, this._waitForElement, this._waitForElements);\n }\n\n async sendKeys(element: TestElement, ...text: (string | KeyType)[]): Promise<void> {\n await this._ensurePlatform();\n return this.unwrapElement(element).sendKeys(\n ...text.map<string>(this._getPlatformKey.bind(this))\n );\n }\n\n async click(element: TestElement, options: ClickOptions = {}) {\n await this._ensurePlatform();\n const modifiers = options.modifiers || [];\n const actions = this._driver.actions();\n if (modifiers) {\n modifiers.map(this._getPlatformKey.bind(this)).forEach((m) => actions.keyDown(m));\n await actions.perform();\n }\n await this.unwrapElement(element).click();\n return actions.clear();\n }\n\n unwrapElement<T = WebElement>(element: TestElement): T {\n return (element as TestElementImpl)._el as T;\n }\n\n private async _ensurePlatform() {\n if (!this._platform) {\n this._platform = (await this._driver.getCapabilities()).getPlatform() || 'unknown';\n }\n }\n\n /**\n * Get the platform-specific key value for the key, if available.\n * @param key The key value\n * @returns A platform-specific value for the key, or the original key if none exists\n */\n private _getPlatformKey(key: string | KeyType) {\n if (typeof key === 'object') {\n return TestingKeys.CONTROL_COMMAND === key\n ? this._platform === 'mac'\n ? WebDriverKeys.COMMAND\n : WebDriverKeys.CONTROL\n : keyMap[key.key];\n }\n return key;\n }\n\n private _setDriverTimeouts() {\n const { scriptTimeout } = getTimeouts();\n if (scriptTimeout !== currentScriptTimeout) {\n currentScriptTimeout = scriptTimeout;\n // set script timeout\n // we don't set implicit (waitForElement) because we want to enforce our own behavior\n return this._driver.manage().setTimeouts({\n script: scriptTimeout\n });\n }\n return;\n }\n}\n\nfunction wrapElement(\n element: WebElement,\n waitForElement: WaitForElementType,\n waitForElements: WaitForElementsType\n) {\n return new TestElementImpl(element, waitForElement, waitForElements);\n}\n\nclass TestElementImpl implements TestElement {\n _el: WebElement;\n _waitForElement: WaitForElementType;\n _waitForElements: WaitForElementsType;\n\n constructor(\n element: WebElement,\n waitForElement: WaitForElementType,\n waitForElements: WaitForElementsType\n ) {\n this._el = element;\n this._waitForElement = waitForElement;\n this._waitForElements = waitForElements;\n }\n waitForElement(locator: ElementLocator): Promise<TestElement> {\n return this._waitForElement(locator, this._el);\n }\n waitForElements(locator: ElementLocator): Promise<TestElement[]> {\n return this._waitForElements(locator, this._el);\n }\n getAttribute(attrName: string): Promise<string | null> {\n return this._el.getAttribute(attrName);\n }\n}\n"],"names":["WebDriverKeys","TestingKeys"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SeleniumDriver } from './SeleniumDriver';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@oracle/oraclejet-selenium-driver",
|
|
3
|
+
"scripts": {
|
|
4
|
+
"build": "turbo run-build --filter=@oracle/oraclejet-selenium-driver",
|
|
5
|
+
"check-types": "turbo run-check-types --filter=@oracle/oraclejet-selenium-driver -- ",
|
|
6
|
+
"clean": "rimraf dist",
|
|
7
|
+
"copy-files": "mergeJson package.json src/package-overrides.json dist/package.json",
|
|
8
|
+
"lint": "turbo run-lint --filter=@oracle/oraclejet-selenium-driver -- ",
|
|
9
|
+
"run-build": "rollup -c rollup.config.mjs && yarn copy-files",
|
|
10
|
+
"run-check-types": "tsc --noEmit",
|
|
11
|
+
"run-lint": "eslint",
|
|
12
|
+
"test": "jest-http-launcher --httpRoot=src --port=${WD_SERVER_PORT:-6008} --config=test/jest.config.js",
|
|
13
|
+
"test-ci-browser": "yarn test --headless"
|
|
14
|
+
},
|
|
15
|
+
"exports": {
|
|
16
|
+
"./*": {
|
|
17
|
+
"types": "./*/index.d.ts",
|
|
18
|
+
"require": "./*/index.cjs",
|
|
19
|
+
"import": "./*/index.mjs"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"typesVersions": {
|
|
23
|
+
"*": {
|
|
24
|
+
"*": [
|
|
25
|
+
"./*/index.d.ts"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"selenium-webdriver": ">=4.0.0"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@oracle/oraclejet-testing": "19.0.0"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@jest/globals": "29.6.2",
|
|
37
|
+
"@oracle/oraclejet-config-eslint": "workspace:*",
|
|
38
|
+
"@oracle/oraclejet-config-jest": "workspace:*",
|
|
39
|
+
"@oracle/oraclejet-config-typescript": "workspace:*",
|
|
40
|
+
"@oracle/oraclejet-internal-test-utils": "workspace:*",
|
|
41
|
+
"@oracle/oraclejet-internal-ws-build": "workspace:^",
|
|
42
|
+
"copyfiles": "2.4.1",
|
|
43
|
+
"eslint": "9.24.0",
|
|
44
|
+
"http-server": "14.1.1",
|
|
45
|
+
"jest": "29.6.2",
|
|
46
|
+
"rimraf": "3.0.2",
|
|
47
|
+
"rollup": "2.70.2",
|
|
48
|
+
"ts-jest": "29.1.0",
|
|
49
|
+
"turbo": "2.3.3",
|
|
50
|
+
"typescript": "5.8.3",
|
|
51
|
+
"typescript-eslint": "8.29.1"
|
|
52
|
+
},
|
|
53
|
+
"version": "19.0.0"
|
|
54
|
+
}
|