@oracle/oraclejet-webdriver 16.1.6 → 17.0.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.
- package/elements/OjWebElement.js +2 -26
- package/elements/OjWebElement.js.map +1 -1
- package/elements/OjWebElement.ts +6 -40
- package/elements/oj-chart/OjChartBase.ts +8 -0
- package/elements/oj-checkboxset/OjCheckboxset.js +11 -12
- package/elements/oj-checkboxset/OjCheckboxset.js.map +1 -1
- package/elements/oj-checkboxset/OjCheckboxset.ts +14 -14
- package/elements/oj-combobox-many/OjComboboxMany.js +11 -20
- package/elements/oj-combobox-many/OjComboboxMany.js.map +1 -1
- package/elements/oj-combobox-many/OjComboboxMany.ts +14 -22
- package/elements/oj-combobox-one/OjComboboxOne.js +9 -18
- package/elements/oj-combobox-one/OjComboboxOne.js.map +1 -1
- package/elements/oj-combobox-one/OjComboboxOne.ts +12 -20
- package/elements/oj-data-grid/OjDataGridBase.ts +24 -0
- package/elements/oj-date-picker/OjDatePickerBase.js +20 -20
- package/elements/oj-date-picker/OjDatePickerBase.ts +53 -20
- package/elements/oj-date-time-picker/OjDateTimePickerBase.js +16 -16
- package/elements/oj-date-time-picker/OjDateTimePickerBase.ts +48 -16
- package/elements/oj-diagram/OjDiagramBase.ts +4 -0
- package/elements/oj-file-picker/OjFilePicker.js +90 -24
- package/elements/oj-file-picker/OjFilePicker.js.map +1 -1
- package/elements/oj-file-picker/OjFilePicker.ts +101 -27
- package/elements/oj-input-date/OjInputDateBase.js +7 -7
- package/elements/oj-input-date/OjInputDateBase.ts +37 -7
- package/elements/oj-input-date-time/OjInputDateTimeBase.js +7 -7
- package/elements/oj-input-date-time/OjInputDateTimeBase.ts +37 -7
- package/elements/oj-list-view/OjListView.js +6 -6
- package/elements/oj-list-view/OjListView.js.map +1 -1
- package/elements/oj-list-view/OjListView.ts +9 -8
- package/elements/oj-navigation-list/OjNavigationList.js +8 -10
- package/elements/oj-navigation-list/OjNavigationList.js.map +1 -1
- package/elements/oj-navigation-list/OjNavigationList.ts +11 -12
- package/elements/oj-navigation-list/OjNavigationListBase.js +2 -2
- package/elements/oj-navigation-list/OjNavigationListBase.ts +3 -2
- package/elements/oj-popup/OjPopupBase.js +1 -1
- package/elements/oj-popup/OjPopupBase.ts +1 -1
- package/elements/oj-row-expander/OjRowExpanderBase.ts +4 -0
- package/elements/oj-select-many/OjSelectMany.js +11 -20
- package/elements/oj-select-many/OjSelectMany.js.map +1 -1
- package/elements/oj-select-many/OjSelectMany.ts +14 -22
- package/elements/oj-select-one/OjSelectOne.js +9 -17
- package/elements/oj-select-one/OjSelectOne.js.map +1 -1
- package/elements/oj-select-one/OjSelectOne.ts +12 -19
- package/elements/oj-select-single/OjSelectSingle.js +7 -14
- package/elements/oj-select-single/OjSelectSingle.js.map +1 -1
- package/elements/oj-select-single/OjSelectSingle.ts +10 -16
- package/elements/oj-stream-list/OjStreamList.js +28 -33
- package/elements/oj-stream-list/OjStreamList.js.map +1 -1
- package/elements/oj-stream-list/OjStreamList.ts +28 -34
- package/elements/oj-sunburst/OjSunburstBase.ts +8 -0
- package/elements/oj-swipe-actions/OjSwipeActions.js +7 -10
- package/elements/oj-swipe-actions/OjSwipeActions.js.map +1 -1
- package/elements/oj-swipe-actions/OjSwipeActions.ts +11 -15
- package/elements/oj-tab-bar/OjTabBarBase.ts +1 -0
- package/elements/oj-table/OjTable.js +100 -81
- package/elements/oj-table/OjTable.js.map +1 -1
- package/elements/oj-table/OjTable.ts +146 -97
- package/elements/oj-table/OjTableBase.js +9 -0
- package/elements/oj-table/OjTableBase.js.map +1 -1
- package/elements/oj-table/OjTableBase.ts +10 -0
- package/elements/oj-tree-view/OjTreeView.js +25 -29
- package/elements/oj-tree-view/OjTreeView.js.map +1 -1
- package/elements/oj-tree-view/OjTreeView.ts +34 -35
- package/elements/oj-treemap/OjTreemapBase.ts +8 -0
- package/index.js +28 -139
- package/index.js.map +1 -1
- package/index.ts +29 -151
- package/lib/busy-context-utils.js +28 -46
- package/lib/busy-context-utils.js.map +1 -1
- package/lib/busy-context-utils.ts +39 -48
- package/lib/dataprovider-utils.js +24 -28
- package/lib/dataprovider-utils.js.map +1 -1
- package/lib/dataprovider-utils.ts +28 -31
- package/lib/no-require-jet.js +12 -0
- package/lib/no-require-jet.js.map +1 -0
- package/lib/no-require-jet.ts +8 -0
- package/lib/oj-module-proxy.js +113 -0
- package/lib/oj-module-proxy.js.map +1 -0
- package/lib/oj-module-proxy.ts +123 -0
- package/lib/viewmodel-utils.js +99 -0
- package/lib/viewmodel-utils.js.map +1 -0
- package/lib/viewmodel-utils.ts +107 -0
- package/package.json +6 -6
- package/tsconfig.json +2 -1
- package/wdtsdoc/assets/navigation.js +1 -1
- package/wdtsdoc/assets/search.js +1 -1
- package/wdtsdoc/classes/elements.OjAccordion.html +2 -2
- package/wdtsdoc/classes/elements.OjActionCard.html +2 -2
- package/wdtsdoc/classes/elements.OjButton.html +2 -2
- package/wdtsdoc/classes/elements.OjButtonsetMany.html +2 -2
- package/wdtsdoc/classes/elements.OjButtonsetOne.html +2 -2
- package/wdtsdoc/classes/elements.OjChart.html +2 -2
- package/wdtsdoc/classes/elements.OjCheckboxset.html +2 -2
- package/wdtsdoc/classes/elements.OjCollapsible.html +2 -2
- package/wdtsdoc/classes/elements.OjColorPalette.html +2 -2
- package/wdtsdoc/classes/elements.OjColorSpectrum.html +2 -2
- package/wdtsdoc/classes/elements.OjComboboxMany.html +2 -2
- package/wdtsdoc/classes/elements.OjComboboxOne.html +2 -2
- package/wdtsdoc/classes/elements.OjConveyorBelt.html +2 -2
- package/wdtsdoc/classes/elements.OjDataGrid.html +2 -2
- package/wdtsdoc/classes/elements.OjDatePicker.html +67 -49
- package/wdtsdoc/classes/elements.OjDateTimePicker.html +57 -42
- package/wdtsdoc/classes/elements.OjDiagram.html +2 -2
- package/wdtsdoc/classes/elements.OjDialog.html +2 -2
- package/wdtsdoc/classes/elements.OjDrawerLayout.html +2 -2
- package/wdtsdoc/classes/elements.OjDrawerPopup.html +2 -2
- package/wdtsdoc/classes/elements.OjFilePicker.html +11 -2
- package/wdtsdoc/classes/elements.OjFilmStrip.html +2 -2
- package/wdtsdoc/classes/elements.OjGantt.html +2 -2
- package/wdtsdoc/classes/elements.OjIndexer.html +2 -2
- package/wdtsdoc/classes/elements.OjInputDate.html +28 -21
- package/wdtsdoc/classes/elements.OjInputDateTime.html +28 -21
- package/wdtsdoc/classes/elements.OjInputNumber.html +2 -2
- package/wdtsdoc/classes/elements.OjInputPassword.html +2 -2
- package/wdtsdoc/classes/elements.OjInputSearch.html +2 -2
- package/wdtsdoc/classes/elements.OjInputText.html +2 -2
- package/wdtsdoc/classes/elements.OjInputTime.html +2 -2
- package/wdtsdoc/classes/elements.OjLabel.html +2 -2
- package/wdtsdoc/classes/elements.OjLedGauge.html +2 -2
- package/wdtsdoc/classes/elements.OjLegend.html +2 -2
- package/wdtsdoc/classes/elements.OjListView.html +4 -4
- package/wdtsdoc/classes/elements.OjMasonryLayout.html +2 -2
- package/wdtsdoc/classes/elements.OjMenu.html +2 -2
- package/wdtsdoc/classes/elements.OjMenuButton.html +2 -2
- package/wdtsdoc/classes/elements.OjMessage.html +2 -2
- package/wdtsdoc/classes/elements.OjMessageBanner.html +2 -2
- package/wdtsdoc/classes/elements.OjNBox.html +2 -2
- package/wdtsdoc/classes/elements.OjNavigationList.html +14 -12
- package/wdtsdoc/classes/elements.OjPagingControl.html +2 -2
- package/wdtsdoc/classes/elements.OjPictoChart.html +2 -2
- package/wdtsdoc/classes/elements.OjPopup.html +6 -5
- package/wdtsdoc/classes/elements.OjProgress.html +2 -2
- package/wdtsdoc/classes/elements.OjProgressList.html +2 -2
- package/wdtsdoc/classes/elements.OjRadioset.html +2 -2
- package/wdtsdoc/classes/elements.OjRatingGauge.html +2 -2
- package/wdtsdoc/classes/elements.OjRefresher.html +2 -2
- package/wdtsdoc/classes/elements.OjRowExpander.html +2 -2
- package/wdtsdoc/classes/elements.OjSelectMany.html +2 -2
- package/wdtsdoc/classes/elements.OjSelectOne.html +2 -2
- package/wdtsdoc/classes/elements.OjSelectSingle.html +2 -2
- package/wdtsdoc/classes/elements.OjSelector.html +2 -2
- package/wdtsdoc/classes/elements.OjSlider.html +2 -2
- package/wdtsdoc/classes/elements.OjSparkChart.html +2 -2
- package/wdtsdoc/classes/elements.OjStatusMeterGauge.html +2 -2
- package/wdtsdoc/classes/elements.OjStreamList.html +2 -2
- package/wdtsdoc/classes/elements.OjSunburst.html +2 -2
- package/wdtsdoc/classes/elements.OjSwipeActions.html +2 -2
- package/wdtsdoc/classes/elements.OjSwitch.html +2 -2
- package/wdtsdoc/classes/elements.OjTabBar.html +2 -2
- package/wdtsdoc/classes/elements.OjTable.html +27 -9
- package/wdtsdoc/classes/elements.OjTagCloud.html +2 -2
- package/wdtsdoc/classes/elements.OjTextArea.html +2 -2
- package/wdtsdoc/classes/elements.OjThematicMap.html +2 -2
- package/wdtsdoc/classes/elements.OjTimeAxis.html +2 -2
- package/wdtsdoc/classes/elements.OjTimeline.html +2 -2
- package/wdtsdoc/classes/elements.OjTrain.html +2 -2
- package/wdtsdoc/classes/elements.OjTreeView.html +5 -5
- package/wdtsdoc/classes/elements.OjTreemap.html +2 -2
- package/wdtsdoc/classes/elements.OjWaterfallLayout.html +2 -2
- package/wdtsdoc/classes/elements.OjWebElement.html +2 -2
- package/wdtsdoc/classes/index.DriverManager.html +2 -2
- package/wdtsdoc/classes/index.Expectation.html +2 -2
- package/wdtsdoc/functions/elements.ojAccordion-1.html +2 -2
- package/wdtsdoc/functions/elements.ojActionCard-1.html +2 -2
- package/wdtsdoc/functions/elements.ojButton-1.html +2 -2
- package/wdtsdoc/functions/elements.ojButtonsetMany-1.html +2 -2
- package/wdtsdoc/functions/elements.ojButtonsetOne-1.html +2 -2
- package/wdtsdoc/functions/elements.ojChart-1.html +2 -2
- package/wdtsdoc/functions/elements.ojCheckboxset-1.html +2 -2
- package/wdtsdoc/functions/elements.ojCollapsible-1.html +2 -2
- package/wdtsdoc/functions/elements.ojColorPalette-1.html +2 -2
- package/wdtsdoc/functions/elements.ojColorSpectrum-1.html +2 -2
- package/wdtsdoc/functions/elements.ojComboboxMany-1.html +2 -2
- package/wdtsdoc/functions/elements.ojComboboxOne-1.html +2 -2
- package/wdtsdoc/functions/elements.ojConveyorBelt-1.html +2 -2
- package/wdtsdoc/functions/elements.ojDataGrid-1.html +2 -2
- package/wdtsdoc/functions/elements.ojDatePicker-1.html +2 -2
- package/wdtsdoc/functions/elements.ojDateTimePicker-1.html +2 -2
- package/wdtsdoc/functions/elements.ojDiagram-1.html +2 -2
- package/wdtsdoc/functions/elements.ojDialog-1.html +2 -2
- package/wdtsdoc/functions/elements.ojDrawerLayout-1.html +2 -2
- package/wdtsdoc/functions/elements.ojDrawerPopup-1.html +2 -2
- package/wdtsdoc/functions/elements.ojFilePicker-1.html +2 -2
- package/wdtsdoc/functions/elements.ojFilmStrip-1.html +2 -2
- package/wdtsdoc/functions/elements.ojGantt-1.html +2 -2
- package/wdtsdoc/functions/elements.ojIndexer-1.html +2 -2
- package/wdtsdoc/functions/elements.ojInputDate-1.html +2 -2
- package/wdtsdoc/functions/elements.ojInputDateTime-1.html +2 -2
- package/wdtsdoc/functions/elements.ojInputNumber-1.html +2 -2
- package/wdtsdoc/functions/elements.ojInputPassword-1.html +2 -2
- package/wdtsdoc/functions/elements.ojInputSearch-1.html +2 -2
- package/wdtsdoc/functions/elements.ojInputText-1.html +2 -2
- package/wdtsdoc/functions/elements.ojInputTime-1.html +2 -2
- package/wdtsdoc/functions/elements.ojLabel-1.html +2 -2
- package/wdtsdoc/functions/elements.ojLedGauge-1.html +2 -2
- package/wdtsdoc/functions/elements.ojLegend-1.html +2 -2
- package/wdtsdoc/functions/elements.ojListView-1.html +2 -2
- package/wdtsdoc/functions/elements.ojMasonryLayout-1.html +2 -2
- package/wdtsdoc/functions/elements.ojMenu-1.html +2 -2
- package/wdtsdoc/functions/elements.ojMenuButton-1.html +2 -2
- package/wdtsdoc/functions/elements.ojMessage-1.html +2 -2
- package/wdtsdoc/functions/elements.ojMessageBanner-1.html +2 -2
- package/wdtsdoc/functions/elements.ojNBox-1.html +2 -2
- package/wdtsdoc/functions/elements.ojNavigationList-1.html +2 -2
- package/wdtsdoc/functions/elements.ojPagingControl-1.html +2 -2
- package/wdtsdoc/functions/elements.ojPictoChart-1.html +2 -2
- package/wdtsdoc/functions/elements.ojPopup-1.html +2 -2
- package/wdtsdoc/functions/elements.ojProgress-1.html +2 -2
- package/wdtsdoc/functions/elements.ojProgressList-1.html +2 -2
- package/wdtsdoc/functions/elements.ojRadioset-1.html +2 -2
- package/wdtsdoc/functions/elements.ojRatingGauge-1.html +2 -2
- package/wdtsdoc/functions/elements.ojRefresher-1.html +2 -2
- package/wdtsdoc/functions/elements.ojRowExpander-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSelectMany-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSelectOne-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSelectSingle-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSelector-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSlider-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSparkChart-1.html +2 -2
- package/wdtsdoc/functions/elements.ojStatusMeterGauge-1.html +2 -2
- package/wdtsdoc/functions/elements.ojStreamList-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSunburst-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSwipeActions-1.html +2 -2
- package/wdtsdoc/functions/elements.ojSwitch-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTabBar-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTable-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTagCloud-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTextArea-1.html +2 -2
- package/wdtsdoc/functions/elements.ojThematicMap-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTimeAxis-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTimeline-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTrain-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTreeView-1.html +2 -2
- package/wdtsdoc/functions/elements.ojTreemap-1.html +2 -2
- package/wdtsdoc/functions/elements.ojWaterfallLayout-1.html +2 -2
- package/wdtsdoc/functions/elements.ojWebElement-1.html +2 -2
- package/wdtsdoc/functions/index.ScreenshotManager.create.html +2 -2
- package/wdtsdoc/functions/index.ScreenshotManager.get.html +2 -2
- package/wdtsdoc/functions/index.ScreenshotManager.set.html +2 -2
- package/wdtsdoc/functions/index.fetchKeyByFilter.html +2 -2
- package/wdtsdoc/functions/index.register.html +2 -2
- package/wdtsdoc/functions/index.slotProxy-1.html +2 -2
- package/wdtsdoc/index.html +2 -2
- package/wdtsdoc/interfaces/index.DriverLike.html +2 -2
- package/wdtsdoc/interfaces/index.SlotProxy.html +2 -2
- package/wdtsdoc/modules/elements.html +2 -2
- package/wdtsdoc/modules/index.ScreenshotManager.html +2 -2
- package/wdtsdoc/modules/index.html +2 -2
- package/wdtsdoc/variables/index.default.html +7 -4
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeWithModules = exports.TEST_OBJ_NAME = void 0;
|
|
4
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
5
|
+
const no_require_jet_1 = require("./no-require-jet");
|
|
6
|
+
exports.TEST_OBJ_NAME = '__ojwebdrivertest_proxy';
|
|
7
|
+
let _BROWSER_NAME;
|
|
8
|
+
/**
|
|
9
|
+
* Run a remote script on the browser utilizing the requested modules. If JET runtime modules are
|
|
10
|
+
* needed, test adapters should only use this script to access them. Never do direct imports/requires
|
|
11
|
+
* in remote scripts.
|
|
12
|
+
*
|
|
13
|
+
* Only modules made available by ojs/ojwebdrivertest-proxy may be used.
|
|
14
|
+
*
|
|
15
|
+
* @param {WebDriver} driver
|
|
16
|
+
* @param {string[]} moduleNames An array of strings of the modules to be made available
|
|
17
|
+
* @param {any[]} scriptArgs An array of arguments to pass to the script. Pass blank array if no args
|
|
18
|
+
* @param {string} script The script to be executed. The script should define a function that takes the
|
|
19
|
+
* arguments containg: each requested module as separate parameters, and each script argument as
|
|
20
|
+
* separate parameters after the modules.
|
|
21
|
+
* @return {Promise<T>} Anything returned from the script
|
|
22
|
+
* @template T
|
|
23
|
+
*/
|
|
24
|
+
async function executeWithModules(driver, moduleNames, scriptArgs = [], script) {
|
|
25
|
+
const testProxyScript = getTestProxyScript();
|
|
26
|
+
const hasProxy = !(await driver.executeAsyncScript(testProxyScript));
|
|
27
|
+
if (!hasProxy) {
|
|
28
|
+
throw new Error('executeWithModules called on a non-JET page');
|
|
29
|
+
}
|
|
30
|
+
if (!_BROWSER_NAME) {
|
|
31
|
+
const caps = await driver.getCapabilities();
|
|
32
|
+
_BROWSER_NAME = caps.get(selenium_webdriver_1.Capability.BROWSER_NAME);
|
|
33
|
+
}
|
|
34
|
+
if (_BROWSER_NAME === selenium_webdriver_1.Browser.FIREFOX) {
|
|
35
|
+
return _executeWithModulesFirefox(driver, moduleNames, scriptArgs, script);
|
|
36
|
+
}
|
|
37
|
+
const s = `
|
|
38
|
+
const args = Array.from(arguments);
|
|
39
|
+
|
|
40
|
+
console.log('${exports.TEST_OBJ_NAME} importing modules ${moduleNames}');
|
|
41
|
+
return ${exports.TEST_OBJ_NAME}.getProxy(...${JSON.stringify(moduleNames)}).then((modules) => {
|
|
42
|
+
console.log('${exports.TEST_OBJ_NAME} running script');
|
|
43
|
+
return (${script})(...modules.concat(args));
|
|
44
|
+
})
|
|
45
|
+
`;
|
|
46
|
+
return driver.executeScript(s, ...scriptArgs);
|
|
47
|
+
}
|
|
48
|
+
exports.executeWithModules = executeWithModules;
|
|
49
|
+
/**
|
|
50
|
+
* Workaround https://github.com/mozilla/geckodriver/issues/1701 where properties defined via a getter are not returned
|
|
51
|
+
* a) via executeAsyncScript
|
|
52
|
+
* b) via a Promise returned from executeScript
|
|
53
|
+
*
|
|
54
|
+
* @param driver
|
|
55
|
+
* @param moduleNames
|
|
56
|
+
* @param scriptArgs
|
|
57
|
+
* @param script
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
async function _executeWithModulesFirefox(driver, moduleNames, scriptArgs = [], script) {
|
|
61
|
+
const s1 = `
|
|
62
|
+
console.log('${exports.TEST_OBJ_NAME} importing modules ${moduleNames}');
|
|
63
|
+
// We don't actually need the returned module values here, we just want to
|
|
64
|
+
// trigger the imports. Throw away the return values so that we don't run
|
|
65
|
+
// into problems trying to encode them
|
|
66
|
+
return ${exports.TEST_OBJ_NAME}.getProxy(...${JSON.stringify(moduleNames)}).then(() => {});
|
|
67
|
+
`;
|
|
68
|
+
await driver.executeScript(s1);
|
|
69
|
+
const s2 = `
|
|
70
|
+
const args = Array.from(arguments);
|
|
71
|
+
const modules = ${exports.TEST_OBJ_NAME}.getCachedModules(...${JSON.stringify(moduleNames)});
|
|
72
|
+
console.log('${exports.TEST_OBJ_NAME} running script');
|
|
73
|
+
return (${script})(...modules.concat(args));
|
|
74
|
+
`;
|
|
75
|
+
return driver.executeScript(s2, ...scriptArgs);
|
|
76
|
+
}
|
|
77
|
+
function getTestProxyScript() {
|
|
78
|
+
if ((0, no_require_jet_1.isNoRequireJet)()) {
|
|
79
|
+
return `
|
|
80
|
+
const done = arguments[0];
|
|
81
|
+
(function pollForProxy() {
|
|
82
|
+
if ('${exports.TEST_OBJ_NAME}' in window) {
|
|
83
|
+
done();
|
|
84
|
+
}
|
|
85
|
+
setTimeout(pollForProxy, 100);
|
|
86
|
+
})();
|
|
87
|
+
`;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return `
|
|
91
|
+
const done = arguments[0];
|
|
92
|
+
function success() {
|
|
93
|
+
done();
|
|
94
|
+
}
|
|
95
|
+
function failure() {
|
|
96
|
+
done('Unable to load ojs/ojcore-base via RequireJS');
|
|
97
|
+
}
|
|
98
|
+
if (typeof require === 'function') {
|
|
99
|
+
// Try sync require first
|
|
100
|
+
try {
|
|
101
|
+
require('ojs/ojcore-base');
|
|
102
|
+
success();
|
|
103
|
+
} catch (ex) {
|
|
104
|
+
require(['ojs/ojcore-base'], success, failure);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
} else {
|
|
108
|
+
failure();
|
|
109
|
+
}
|
|
110
|
+
`;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=oj-module-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oj-module-proxy.js","sourceRoot":"","sources":["../../lib/oj-module-proxy.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AACpE,qDAAkD;AAErC,QAAA,aAAa,GAAG,yBAAyB,CAAC;AAEvD,IAAI,aAAqB,CAAC;AAE1B;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,WAAqB,EACrB,aAAoB,EAAE,EACtB,MAAc;IAEd,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5C,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,+BAAU,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,aAAa,KAAK,4BAAO,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,0BAA0B,CAAI,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,GAAG;;;mBAGO,qBAAa,sBAAsB,WAAW;aACpD,qBAAa,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;qBAChD,qBAAa;gBAClB,MAAM;;GAEnB,CAAC;IACF,OAAO,MAAM,CAAC,aAAa,CAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;AACnD,CAAC;AA7BD,gDA6BC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAiB,EACjB,WAAqB,EACrB,aAAoB,EAAE,EACtB,MAAc;IAEd,MAAM,EAAE,GAAG;mBACM,qBAAa,sBAAsB,WAAW;;;;aAIpD,qBAAa,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;GAClE,CAAC;IACF,MAAM,MAAM,CAAC,aAAa,CAAI,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG;;sBAES,qBAAa,wBAAwB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;mBACnE,qBAAa;cAClB,MAAM;GACjB,CAAC;IACF,OAAO,MAAM,CAAC,aAAa,CAAI,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,IAAA,+BAAc,GAAE,EAAE,CAAC;QACrB,OAAO;;;eAGI,qBAAa;;;;;KAKvB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO;;;;;;;;;;;;;;;;;;;;KAoBN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Browser, Capability, WebDriver } from 'selenium-webdriver';
|
|
2
|
+
import { isNoRequireJet } from './no-require-jet';
|
|
3
|
+
|
|
4
|
+
export const TEST_OBJ_NAME = '__ojwebdrivertest_proxy';
|
|
5
|
+
|
|
6
|
+
let _BROWSER_NAME: string;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Run a remote script on the browser utilizing the requested modules. If JET runtime modules are
|
|
10
|
+
* needed, test adapters should only use this script to access them. Never do direct imports/requires
|
|
11
|
+
* in remote scripts.
|
|
12
|
+
*
|
|
13
|
+
* Only modules made available by ojs/ojwebdrivertest-proxy may be used.
|
|
14
|
+
*
|
|
15
|
+
* @param {WebDriver} driver
|
|
16
|
+
* @param {string[]} moduleNames An array of strings of the modules to be made available
|
|
17
|
+
* @param {any[]} scriptArgs An array of arguments to pass to the script. Pass blank array if no args
|
|
18
|
+
* @param {string} script The script to be executed. The script should define a function that takes the
|
|
19
|
+
* arguments containg: each requested module as separate parameters, and each script argument as
|
|
20
|
+
* separate parameters after the modules.
|
|
21
|
+
* @return {Promise<T>} Anything returned from the script
|
|
22
|
+
* @template T
|
|
23
|
+
*/
|
|
24
|
+
export async function executeWithModules<T>(
|
|
25
|
+
driver: WebDriver,
|
|
26
|
+
moduleNames: string[],
|
|
27
|
+
scriptArgs: any[] = [],
|
|
28
|
+
script: string
|
|
29
|
+
) {
|
|
30
|
+
const testProxyScript = getTestProxyScript();
|
|
31
|
+
const hasProxy = !(await driver.executeAsyncScript(testProxyScript));
|
|
32
|
+
if (!hasProxy) {
|
|
33
|
+
throw new Error('executeWithModules called on a non-JET page');
|
|
34
|
+
}
|
|
35
|
+
if (!_BROWSER_NAME) {
|
|
36
|
+
const caps = await driver.getCapabilities();
|
|
37
|
+
_BROWSER_NAME = caps.get(Capability.BROWSER_NAME);
|
|
38
|
+
}
|
|
39
|
+
if (_BROWSER_NAME === Browser.FIREFOX) {
|
|
40
|
+
return _executeWithModulesFirefox<T>(driver, moduleNames, scriptArgs, script);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const s = `
|
|
44
|
+
const args = Array.from(arguments);
|
|
45
|
+
|
|
46
|
+
console.log('${TEST_OBJ_NAME} importing modules ${moduleNames}');
|
|
47
|
+
return ${TEST_OBJ_NAME}.getProxy(...${JSON.stringify(moduleNames)}).then((modules) => {
|
|
48
|
+
console.log('${TEST_OBJ_NAME} running script');
|
|
49
|
+
return (${script})(...modules.concat(args));
|
|
50
|
+
})
|
|
51
|
+
`;
|
|
52
|
+
return driver.executeScript<T>(s, ...scriptArgs);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Workaround https://github.com/mozilla/geckodriver/issues/1701 where properties defined via a getter are not returned
|
|
57
|
+
* a) via executeAsyncScript
|
|
58
|
+
* b) via a Promise returned from executeScript
|
|
59
|
+
*
|
|
60
|
+
* @param driver
|
|
61
|
+
* @param moduleNames
|
|
62
|
+
* @param scriptArgs
|
|
63
|
+
* @param script
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
async function _executeWithModulesFirefox<T>(
|
|
67
|
+
driver: WebDriver,
|
|
68
|
+
moduleNames: string[],
|
|
69
|
+
scriptArgs: any[] = [],
|
|
70
|
+
script: string
|
|
71
|
+
) {
|
|
72
|
+
const s1 = `
|
|
73
|
+
console.log('${TEST_OBJ_NAME} importing modules ${moduleNames}');
|
|
74
|
+
// We don't actually need the returned module values here, we just want to
|
|
75
|
+
// trigger the imports. Throw away the return values so that we don't run
|
|
76
|
+
// into problems trying to encode them
|
|
77
|
+
return ${TEST_OBJ_NAME}.getProxy(...${JSON.stringify(moduleNames)}).then(() => {});
|
|
78
|
+
`;
|
|
79
|
+
await driver.executeScript<T>(s1);
|
|
80
|
+
const s2 = `
|
|
81
|
+
const args = Array.from(arguments);
|
|
82
|
+
const modules = ${TEST_OBJ_NAME}.getCachedModules(...${JSON.stringify(moduleNames)});
|
|
83
|
+
console.log('${TEST_OBJ_NAME} running script');
|
|
84
|
+
return (${script})(...modules.concat(args));
|
|
85
|
+
`;
|
|
86
|
+
return driver.executeScript<T>(s2, ...scriptArgs);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function getTestProxyScript() {
|
|
90
|
+
if (isNoRequireJet()) {
|
|
91
|
+
return `
|
|
92
|
+
const done = arguments[0];
|
|
93
|
+
(function pollForProxy() {
|
|
94
|
+
if ('${TEST_OBJ_NAME}' in window) {
|
|
95
|
+
done();
|
|
96
|
+
}
|
|
97
|
+
setTimeout(pollForProxy, 100);
|
|
98
|
+
})();
|
|
99
|
+
`;
|
|
100
|
+
} else {
|
|
101
|
+
return `
|
|
102
|
+
const done = arguments[0];
|
|
103
|
+
function success() {
|
|
104
|
+
done();
|
|
105
|
+
}
|
|
106
|
+
function failure() {
|
|
107
|
+
done('Unable to load ojs/ojcore-base via RequireJS');
|
|
108
|
+
}
|
|
109
|
+
if (typeof require === 'function') {
|
|
110
|
+
// Try sync require first
|
|
111
|
+
try {
|
|
112
|
+
require('ojs/ojcore-base');
|
|
113
|
+
success();
|
|
114
|
+
} catch (ex) {
|
|
115
|
+
require(['ojs/ojcore-base'], success, failure);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
} else {
|
|
119
|
+
failure();
|
|
120
|
+
}
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertViewModelValue = void 0;
|
|
4
|
+
const oj_module_proxy_1 = require("./oj-module-proxy");
|
|
5
|
+
/**
|
|
6
|
+
* Assert a given expectation against a JET application's viewmodel.
|
|
7
|
+
* Assertions are [Chai](https://www.chaijs.com)-like expressions, represented
|
|
8
|
+
* by the {@link Expectation} class, and compared remotely on the test browser
|
|
9
|
+
* against the identified viewmodel and its path to the target value.
|
|
10
|
+
*
|
|
11
|
+
* The viewmodel is typically identiied by the DOM node on which Knockout's
|
|
12
|
+
* <code>ko.applyBindings</code> was called, but can also be descendants of
|
|
13
|
+
* that originial "root" node.
|
|
14
|
+
* ```javascript
|
|
15
|
+
* new Expectation(...)
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* The target value within the viewmodel is identified by a dot-notated path
|
|
19
|
+
* and/or expression which yields the value. For instance, a value may be an
|
|
20
|
+
* observable, therefore, the expression must include parenthesis to unwrap
|
|
21
|
+
* the observable.
|
|
22
|
+
* ```javascript
|
|
23
|
+
* new Expecation(By.id('view-container'), 'firstName()')
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* The expression to which the viewmodel value will be compared is expressed
|
|
27
|
+
* as BDD-style chains, such as
|
|
28
|
+
* ```javascript
|
|
29
|
+
* const fnExpectation = new Expectation('firstName()')
|
|
30
|
+
* .to.equal('Joe');
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* If a viewmodel value returns a Promise, the assertion will wait for it to
|
|
34
|
+
* resolve before doing the comparison.
|
|
35
|
+
*
|
|
36
|
+
* @param driver The instance of WebDriver to use in performing the expectation
|
|
37
|
+
* @param vmLocator The Locator which identifies the DOM node associated with the
|
|
38
|
+
* viewmodel on the client.
|
|
39
|
+
* @param expression The path within the viewmodel to locate the value
|
|
40
|
+
* @param expectation The Expectation object to evaluate on the client browser.
|
|
41
|
+
*/
|
|
42
|
+
async function assertViewModelValue(driver, vmLocator, expectation) {
|
|
43
|
+
const viewmodelEl = (await driver.findElement(vmLocator));
|
|
44
|
+
// Script executes on client to build the Chai assertion from the Expectation.
|
|
45
|
+
// Any exceptions (including failed assertions) will be returned to the test.
|
|
46
|
+
await viewmodelEl.whenBusyContextReady();
|
|
47
|
+
const result = await (0, oj_module_proxy_1.executeWithModules)(driver, ['Chai', 'Knockout', 'CspExpressionEvaluator'], [viewmodelEl, expectation.assertion], `
|
|
48
|
+
((chai, ko, ExpressionEval, viewmodelEl, assertion) => {
|
|
49
|
+
try {
|
|
50
|
+
var viewmodel = ko.dataFor(viewmodelEl);
|
|
51
|
+
// Use ExpressionEval to get the value from the viewmodel
|
|
52
|
+
var evaluator = new ExpressionEval();
|
|
53
|
+
var value = evaluator.createEvaluator(assertion.expression).evaluate([viewmodel]);
|
|
54
|
+
|
|
55
|
+
function compare(value) {
|
|
56
|
+
var expect = chai.expect(value);
|
|
57
|
+
// For each chained assertion, call the assertion method with the arguments
|
|
58
|
+
assertion.chain.forEach((desc) => {
|
|
59
|
+
if (typeof desc === 'string') {
|
|
60
|
+
// Simple assertions, "is", "to", "be", etc
|
|
61
|
+
expect = expect[desc];
|
|
62
|
+
} else {
|
|
63
|
+
// Complex assertions (chained functions)
|
|
64
|
+
const name = desc.name;
|
|
65
|
+
const args = desc.args;
|
|
66
|
+
let evaluatedArgs = [];
|
|
67
|
+
|
|
68
|
+
if (name === 'match') {
|
|
69
|
+
args[0] = new RegExp(args[0]);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (args) {
|
|
73
|
+
evaluatedArgs = args;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
expect = expect[name](...evaluatedArgs);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// If "value" is a Promise
|
|
83
|
+
if (value && typeof value.then === 'function') {
|
|
84
|
+
value.then(compare).catch((ex) => ex.message);
|
|
85
|
+
} else {
|
|
86
|
+
return compare(value);
|
|
87
|
+
}
|
|
88
|
+
} catch (ex) {
|
|
89
|
+
return ex.message;
|
|
90
|
+
}
|
|
91
|
+
})
|
|
92
|
+
`);
|
|
93
|
+
if (result !== true) {
|
|
94
|
+
throw Error(String(result));
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
exports.assertViewModelValue = assertViewModelValue;
|
|
99
|
+
//# sourceMappingURL=viewmodel-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewmodel-utils.js","sourceRoot":"","sources":["../../lib/viewmodel-utils.ts"],"names":[],"mappings":";;;AAGA,uDAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAiB,EACjB,SAAkB,EAClB,WAAwB;IAExB,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAiB,CAAC;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,WAAW,CAAC,oBAAoB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAkB,EACrC,MAAM,EACN,CAAC,MAAM,EAAE,UAAU,EAAE,wBAAwB,CAAC,EAC9C,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,EACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6CC,CACF,CAAC;IACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAhED,oDAgEC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Locator, WebDriver } from 'selenium-webdriver';
|
|
2
|
+
import { Expectation } from './Expectation';
|
|
3
|
+
import { OjWebElement } from '../elements/OjWebElement';
|
|
4
|
+
import { executeWithModules } from './oj-module-proxy';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Assert a given expectation against a JET application's viewmodel.
|
|
8
|
+
* Assertions are [Chai](https://www.chaijs.com)-like expressions, represented
|
|
9
|
+
* by the {@link Expectation} class, and compared remotely on the test browser
|
|
10
|
+
* against the identified viewmodel and its path to the target value.
|
|
11
|
+
*
|
|
12
|
+
* The viewmodel is typically identiied by the DOM node on which Knockout's
|
|
13
|
+
* <code>ko.applyBindings</code> was called, but can also be descendants of
|
|
14
|
+
* that originial "root" node.
|
|
15
|
+
* ```javascript
|
|
16
|
+
* new Expectation(...)
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* The target value within the viewmodel is identified by a dot-notated path
|
|
20
|
+
* and/or expression which yields the value. For instance, a value may be an
|
|
21
|
+
* observable, therefore, the expression must include parenthesis to unwrap
|
|
22
|
+
* the observable.
|
|
23
|
+
* ```javascript
|
|
24
|
+
* new Expecation(By.id('view-container'), 'firstName()')
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* The expression to which the viewmodel value will be compared is expressed
|
|
28
|
+
* as BDD-style chains, such as
|
|
29
|
+
* ```javascript
|
|
30
|
+
* const fnExpectation = new Expectation('firstName()')
|
|
31
|
+
* .to.equal('Joe');
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* If a viewmodel value returns a Promise, the assertion will wait for it to
|
|
35
|
+
* resolve before doing the comparison.
|
|
36
|
+
*
|
|
37
|
+
* @param driver The instance of WebDriver to use in performing the expectation
|
|
38
|
+
* @param vmLocator The Locator which identifies the DOM node associated with the
|
|
39
|
+
* viewmodel on the client.
|
|
40
|
+
* @param expression The path within the viewmodel to locate the value
|
|
41
|
+
* @param expectation The Expectation object to evaluate on the client browser.
|
|
42
|
+
*/
|
|
43
|
+
export async function assertViewModelValue(
|
|
44
|
+
driver: WebDriver,
|
|
45
|
+
vmLocator: Locator,
|
|
46
|
+
expectation: Expectation
|
|
47
|
+
): Promise<any> {
|
|
48
|
+
const viewmodelEl = (await driver.findElement(vmLocator)) as OjWebElement;
|
|
49
|
+
// Script executes on client to build the Chai assertion from the Expectation.
|
|
50
|
+
// Any exceptions (including failed assertions) will be returned to the test.
|
|
51
|
+
await viewmodelEl.whenBusyContextReady();
|
|
52
|
+
const result = await executeWithModules(
|
|
53
|
+
driver,
|
|
54
|
+
['Chai', 'Knockout', 'CspExpressionEvaluator'],
|
|
55
|
+
[viewmodelEl, expectation.assertion],
|
|
56
|
+
`
|
|
57
|
+
((chai, ko, ExpressionEval, viewmodelEl, assertion) => {
|
|
58
|
+
try {
|
|
59
|
+
var viewmodel = ko.dataFor(viewmodelEl);
|
|
60
|
+
// Use ExpressionEval to get the value from the viewmodel
|
|
61
|
+
var evaluator = new ExpressionEval();
|
|
62
|
+
var value = evaluator.createEvaluator(assertion.expression).evaluate([viewmodel]);
|
|
63
|
+
|
|
64
|
+
function compare(value) {
|
|
65
|
+
var expect = chai.expect(value);
|
|
66
|
+
// For each chained assertion, call the assertion method with the arguments
|
|
67
|
+
assertion.chain.forEach((desc) => {
|
|
68
|
+
if (typeof desc === 'string') {
|
|
69
|
+
// Simple assertions, "is", "to", "be", etc
|
|
70
|
+
expect = expect[desc];
|
|
71
|
+
} else {
|
|
72
|
+
// Complex assertions (chained functions)
|
|
73
|
+
const name = desc.name;
|
|
74
|
+
const args = desc.args;
|
|
75
|
+
let evaluatedArgs = [];
|
|
76
|
+
|
|
77
|
+
if (name === 'match') {
|
|
78
|
+
args[0] = new RegExp(args[0]);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (args) {
|
|
82
|
+
evaluatedArgs = args;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
expect = expect[name](...evaluatedArgs);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// If "value" is a Promise
|
|
92
|
+
if (value && typeof value.then === 'function') {
|
|
93
|
+
value.then(compare).catch((ex) => ex.message);
|
|
94
|
+
} else {
|
|
95
|
+
return compare(value);
|
|
96
|
+
}
|
|
97
|
+
} catch (ex) {
|
|
98
|
+
return ex.message;
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
`
|
|
102
|
+
);
|
|
103
|
+
if (result !== true) {
|
|
104
|
+
throw Error(String(result));
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oracle/oraclejet-webdriver",
|
|
3
|
-
"version": "16.1.6",
|
|
4
3
|
"description": "Oracle JET WebDriverJS WebElements",
|
|
5
4
|
"config": {
|
|
6
|
-
"revision": "2024-08-
|
|
5
|
+
"revision": "2024-08-23_09-56-34"
|
|
7
6
|
},
|
|
8
7
|
"scripts": {
|
|
9
8
|
"clean": "rimraf built dist dist.failed test/built test_results",
|
|
@@ -18,10 +17,10 @@
|
|
|
18
17
|
"test": "jest -c test/jest.config.js"
|
|
19
18
|
},
|
|
20
19
|
"dependencies": {
|
|
21
|
-
"@oracle/oraclejet": "
|
|
20
|
+
"@oracle/oraclejet": "17.0.1"
|
|
22
21
|
},
|
|
23
22
|
"devDependencies": {
|
|
24
|
-
"@oracle/build": "workspace:^",
|
|
23
|
+
"@oracle/oraclejet-internal-ws-build": "workspace:^",
|
|
25
24
|
"@oracle/oraclejet-test-utils": "workspace:^",
|
|
26
25
|
"chai": "4.3.10",
|
|
27
26
|
"copyfiles": "2.4.1",
|
|
@@ -33,7 +32,7 @@
|
|
|
33
32
|
"rimraf": "3.0.2",
|
|
34
33
|
"typedoc": "0.25.3",
|
|
35
34
|
"typedoc-plugin-missing-exports": "^0.22.6",
|
|
36
|
-
"typescript": "5.
|
|
35
|
+
"typescript": "5.4.5",
|
|
37
36
|
"typescript-parser": "^2.6.1"
|
|
38
37
|
},
|
|
39
38
|
"files": [
|
|
@@ -50,5 +49,6 @@
|
|
|
50
49
|
"peerDependencies": {
|
|
51
50
|
"@types/selenium-webdriver": ">=3.6.0",
|
|
52
51
|
"selenium-webdriver": ">=3.6.0"
|
|
53
|
-
}
|
|
52
|
+
},
|
|
53
|
+
"version": "17.0.1"
|
|
54
54
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "data:application/octet-stream;base64,
|
|
1
|
+
window.navigationData = "data:application/octet-stream;base64,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"
|