@eclipse-che/che-e2e 7.106.0-next-5d2b584 → 7.106.0-next-2338445
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/configs/inversify.config.ts +8 -0
- package/configs/inversify.types.ts +5 -1
- package/constants/TIMEOUT_CONSTANTS.ts +6 -0
- package/dist/configs/inversify.config.js +8 -0
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/configs/inversify.types.js +5 -1
- package/dist/configs/inversify.types.js.map +1 -1
- package/dist/constants/TIMEOUT_CONSTANTS.js +4 -0
- package/dist/constants/TIMEOUT_CONSTANTS.js.map +1 -1
- package/dist/driver/ChromeDriver.js +5 -1
- package/dist/driver/ChromeDriver.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/pageobjects/ide/CommandPalette.js +117 -0
- package/dist/pageobjects/ide/CommandPalette.js.map +1 -0
- package/dist/pageobjects/ide/ExplorerView.js +108 -0
- package/dist/pageobjects/ide/ExplorerView.js.map +1 -0
- package/dist/pageobjects/ide/ExtensionsView.js +162 -0
- package/dist/pageobjects/ide/ExtensionsView.js.map +1 -0
- package/dist/pageobjects/ide/NotificationHandler.js +83 -0
- package/dist/pageobjects/ide/NotificationHandler.js.map +1 -0
- package/dist/pageobjects/ide/ViewsMoreActionsButton.js +9 -0
- package/dist/pageobjects/ide/ViewsMoreActionsButton.js.map +1 -1
- package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js +205 -0
- package/dist/specs/miscellaneous/VsixInstallationDisableTest.spec.js.map +1 -0
- package/driver/ChromeDriver.ts +5 -1
- package/index.ts +4 -0
- package/package.json +1 -1
- package/pageobjects/ide/CommandPalette.ts +114 -0
- package/pageobjects/ide/ExplorerView.ts +106 -0
- package/pageobjects/ide/ExtensionsView.ts +167 -0
- package/pageobjects/ide/NotificationHandler.ts +70 -0
- package/pageobjects/ide/ViewsMoreActionsButton.ts +11 -0
- package/resources/configmap-disable-vsix-installation.yaml +22 -0
- package/resources/configmap-enable-vsix-installation.yaml +22 -0
- package/resources/default-extensions-configmap.yaml +12 -0
- package/specs/miscellaneous/VsixInstallationDisableTest.spec.ts +243 -0
|
@@ -56,6 +56,10 @@ import { WebTerminalPage } from '../pageobjects/webterminal/WebTerminalPage';
|
|
|
56
56
|
import { TrustAuthorPopup } from '../pageobjects/dashboard/TrustAuthorPopup';
|
|
57
57
|
import { ViewsMoreActionsButton } from '../pageobjects/ide/ViewsMoreActionsButton';
|
|
58
58
|
import { RestrictedModeButton } from '../pageobjects/ide/RestrictedModeButton';
|
|
59
|
+
import { CommandPalette } from '../pageobjects/ide/CommandPalette';
|
|
60
|
+
import { ExtensionsView } from '../pageobjects/ide/ExtensionsView';
|
|
61
|
+
import { ExplorerView } from '../pageobjects/ide/ExplorerView';
|
|
62
|
+
import { NotificationHandler } from '../pageobjects/ide/NotificationHandler';
|
|
59
63
|
|
|
60
64
|
const e2eContainer: Container = new Container({ defaultScope: 'Transient', skipBaseClassChecks: true });
|
|
61
65
|
|
|
@@ -97,6 +101,10 @@ e2eContainer.bind<LocatorLoader>(EXTERNAL_CLASSES.LocatorLoader).to(LocatorLoade
|
|
|
97
101
|
e2eContainer.bind<TrustAuthorPopup>(CLASSES.TrustAuthorPopup).to(TrustAuthorPopup);
|
|
98
102
|
e2eContainer.bind<ViewsMoreActionsButton>(CLASSES.ViewsMoreActionsButton).to(ViewsMoreActionsButton);
|
|
99
103
|
e2eContainer.bind<RestrictedModeButton>(CLASSES.RestrictedModeButton).to(RestrictedModeButton);
|
|
104
|
+
e2eContainer.bind<CommandPalette>(CLASSES.CommandPalette).to(CommandPalette);
|
|
105
|
+
e2eContainer.bind<ExtensionsView>(CLASSES.ExtensionsView).to(ExtensionsView);
|
|
106
|
+
e2eContainer.bind<ExplorerView>(CLASSES.ExplorerView).to(ExplorerView);
|
|
107
|
+
e2eContainer.bind<NotificationHandler>(CLASSES.NotificationHandler).to(NotificationHandler);
|
|
100
108
|
|
|
101
109
|
if (BASE_TEST_CONSTANTS.TS_PLATFORM === Platform.OPENSHIFT) {
|
|
102
110
|
if (OAUTH_CONSTANTS.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH) {
|
|
@@ -53,7 +53,11 @@ const CLASSES: any = {
|
|
|
53
53
|
RevokeOauthPage: 'RevokeOauthPage',
|
|
54
54
|
TrustAuthorPopup: 'TrustAuthorPopup',
|
|
55
55
|
ViewsMoreActionsButton: 'ViewsMoreActionsButton',
|
|
56
|
-
RestrictedModeButton: 'RestrictedModeButton'
|
|
56
|
+
RestrictedModeButton: 'RestrictedModeButton',
|
|
57
|
+
CommandPalette: 'CommandPalette',
|
|
58
|
+
ExtensionsView: 'ExtensionsView',
|
|
59
|
+
ExplorerView: 'ExplorerView',
|
|
60
|
+
NotificationHandler: 'NotificationHandler'
|
|
57
61
|
};
|
|
58
62
|
|
|
59
63
|
const EXTERNAL_CLASSES: any = {
|
|
@@ -17,6 +17,7 @@ export const TIMEOUT_CONSTANTS: {
|
|
|
17
17
|
TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT: number;
|
|
18
18
|
TS_FIND_EXTENSION_TEST_TIMEOUT: number;
|
|
19
19
|
TS_IDE_LOAD_TIMEOUT: number;
|
|
20
|
+
TS_NOTIFICATION_WAIT_TIMEOUT: number;
|
|
20
21
|
TS_SELENIUM_CLICK_ON_VISIBLE_ITEM: number;
|
|
21
22
|
TS_SELENIUM_DEFAULT_ATTEMPTS: number;
|
|
22
23
|
TS_SELENIUM_DEFAULT_POLLING: number;
|
|
@@ -111,6 +112,11 @@ export const TIMEOUT_CONSTANTS: {
|
|
|
111
112
|
*/
|
|
112
113
|
TS_SELENIUM_CLICK_ON_VISIBLE_ITEM: Number(process.env.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM) || 5_000,
|
|
113
114
|
|
|
115
|
+
/**
|
|
116
|
+
* timeout for waiting for notifications to appear, "20 000" by default.
|
|
117
|
+
*/
|
|
118
|
+
TS_NOTIFICATION_WAIT_TIMEOUT: Number(process.env.TS_NOTIFICATION_WAIT_TIMEOUT) || 20_000,
|
|
119
|
+
|
|
114
120
|
// ----------------------------------------- PLUGINS -----------------------------------------
|
|
115
121
|
|
|
116
122
|
/**
|
|
@@ -53,6 +53,10 @@ const WebTerminalPage_1 = require("../pageobjects/webterminal/WebTerminalPage");
|
|
|
53
53
|
const TrustAuthorPopup_1 = require("../pageobjects/dashboard/TrustAuthorPopup");
|
|
54
54
|
const ViewsMoreActionsButton_1 = require("../pageobjects/ide/ViewsMoreActionsButton");
|
|
55
55
|
const RestrictedModeButton_1 = require("../pageobjects/ide/RestrictedModeButton");
|
|
56
|
+
const CommandPalette_1 = require("../pageobjects/ide/CommandPalette");
|
|
57
|
+
const ExtensionsView_1 = require("../pageobjects/ide/ExtensionsView");
|
|
58
|
+
const ExplorerView_1 = require("../pageobjects/ide/ExplorerView");
|
|
59
|
+
const NotificationHandler_1 = require("../pageobjects/ide/NotificationHandler");
|
|
56
60
|
const e2eContainer = new inversify_1.Container({ defaultScope: 'Transient', skipBaseClassChecks: true });
|
|
57
61
|
exports.e2eContainer = e2eContainer;
|
|
58
62
|
e2eContainer.bind(inversify_types_1.TYPES.Driver).to(ChromeDriver_1.ChromeDriver).inSingletonScope();
|
|
@@ -93,6 +97,10 @@ e2eContainer.bind(inversify_types_1.EXTERNAL_CLASSES.LocatorLoader).to(loader_1.
|
|
|
93
97
|
e2eContainer.bind(inversify_types_1.CLASSES.TrustAuthorPopup).to(TrustAuthorPopup_1.TrustAuthorPopup);
|
|
94
98
|
e2eContainer.bind(inversify_types_1.CLASSES.ViewsMoreActionsButton).to(ViewsMoreActionsButton_1.ViewsMoreActionsButton);
|
|
95
99
|
e2eContainer.bind(inversify_types_1.CLASSES.RestrictedModeButton).to(RestrictedModeButton_1.RestrictedModeButton);
|
|
100
|
+
e2eContainer.bind(inversify_types_1.CLASSES.CommandPalette).to(CommandPalette_1.CommandPalette);
|
|
101
|
+
e2eContainer.bind(inversify_types_1.CLASSES.ExtensionsView).to(ExtensionsView_1.ExtensionsView);
|
|
102
|
+
e2eContainer.bind(inversify_types_1.CLASSES.ExplorerView).to(ExplorerView_1.ExplorerView);
|
|
103
|
+
e2eContainer.bind(inversify_types_1.CLASSES.NotificationHandler).to(NotificationHandler_1.NotificationHandler);
|
|
96
104
|
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_PLATFORM === BASE_TEST_CONSTANTS_1.Platform.OPENSHIFT) {
|
|
97
105
|
if (OAUTH_CONSTANTS_1.OAUTH_CONSTANTS.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH) {
|
|
98
106
|
e2eContainer.bind(inversify_types_1.TYPES.CheLogin).to(RegularUserOcpCheLoginPage_1.RegularUserOcpCheLoginPage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inversify.config.js","sourceRoot":"","sources":["../../configs/inversify.config.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,4BAA0B;AAC1B,yCAAsC;AAEtC,yDAAsD;AACtD,uDAAqE;AACrE,4EAAyE;AAEzE,sFAAmF;AAEnF,0GAAuG;AACvG,wDAAqD;AACrD,kEAA+D;AAC/D,oEAAiE;AACjE,kGAA+F;AAC/F,0DAAuD;AACvD,8EAA2E;AAE3E,qIAAkI;AAClI,yFAAsF;AACtF,8EAA2E;AAC3E,8DAA2D;AAC3D,oFAAiF;AACjF,sEAAmE;AAEnE,8EAA2E;AAC3E,4DAAyD;AACzD,oFAAiF;AACjF,0FAAuF;AACvF,sEAAmE;AACnE,wFAAqF;AACrF,oFAAiF;AACjF,oDAAiD;AACjD,6FAA0F;AAC1F,+EAA4E;AAC5E,kEAA+D;AAC/D,0EAAiF;AACjF,kFAA+E;AAC/E,oEAAwE;AACxE,sEAAmE;AACnE,4DAAyD;AACzD,2EAAqF;AACrF,oGAAoH;AACpH,0DAAuD;AACvD,8EAA2E;AAC3E,gFAA6E;AAC7E,gFAA6E;AAC7E,sFAAmF;AACnF,kFAA+E;
|
|
1
|
+
{"version":3,"file":"inversify.config.js","sourceRoot":"","sources":["../../configs/inversify.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,7 +55,11 @@ const CLASSES = {
|
|
|
55
55
|
RevokeOauthPage: 'RevokeOauthPage',
|
|
56
56
|
TrustAuthorPopup: 'TrustAuthorPopup',
|
|
57
57
|
ViewsMoreActionsButton: 'ViewsMoreActionsButton',
|
|
58
|
-
RestrictedModeButton: 'RestrictedModeButton'
|
|
58
|
+
RestrictedModeButton: 'RestrictedModeButton',
|
|
59
|
+
CommandPalette: 'CommandPalette',
|
|
60
|
+
ExtensionsView: 'ExtensionsView',
|
|
61
|
+
ExplorerView: 'ExplorerView',
|
|
62
|
+
NotificationHandler: 'NotificationHandler'
|
|
59
63
|
};
|
|
60
64
|
exports.CLASSES = CLASSES;
|
|
61
65
|
const EXTERNAL_CLASSES = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inversify.types.js","sourceRoot":"","sources":["../../configs/inversify.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,MAAM,KAAK,GAAQ;IAClB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtE,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC;IACtF,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC5C,CAAC;
|
|
1
|
+
{"version":3,"file":"inversify.types.js","sourceRoot":"","sources":["../../configs/inversify.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,MAAM,KAAK,GAAQ;IAClB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtE,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC;IACtF,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC5C,CAAC;AAgDO,sBAAK;AA9Cd,MAAM,OAAO,GAAQ;IACpB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,aAAa;IAC1B,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,sBAAsB,EAAE,wBAAwB;IAChD,kCAAkC,EAAE,oCAAoC;IACxE,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,qBAAqB;CAC1C,CAAC;AAOc,0BAAO;AALvB,MAAM,gBAAgB,GAAQ;IAC7B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;CAC9B,CAAC;AAEuB,4CAAgB"}
|
|
@@ -76,6 +76,10 @@ exports.TIMEOUT_CONSTANTS = {
|
|
|
76
76
|
* timeout for clicking on visible item, "5 000" by default
|
|
77
77
|
*/
|
|
78
78
|
TS_SELENIUM_CLICK_ON_VISIBLE_ITEM: Number(process.env.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM) || 5000,
|
|
79
|
+
/**
|
|
80
|
+
* timeout for waiting for notifications to appear, "20 000" by default.
|
|
81
|
+
*/
|
|
82
|
+
TS_NOTIFICATION_WAIT_TIMEOUT: Number(process.env.TS_NOTIFICATION_WAIT_TIMEOUT) || 20000,
|
|
79
83
|
// ----------------------------------------- PLUGINS -----------------------------------------
|
|
80
84
|
/**
|
|
81
85
|
* common timeout for plugins.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TIMEOUT_CONSTANTS.js","sourceRoot":"","sources":["../../constants/TIMEOUT_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AAC3D,QAAA,iBAAiB,
|
|
1
|
+
{"version":3,"file":"TIMEOUT_CONSTANTS.js","sourceRoot":"","sources":["../../constants/TIMEOUT_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AAC3D,QAAA,iBAAiB,GAmB1B;IACH;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,CAAC;IAEnF;;OAEG;IACH,2BAA2B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,IAAI;IAEpF,mHAAmH;IAEnH;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,KAAM;IAEhF;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,KAAM;IAEtE;;OAEG;IACH,mCAAmC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,MAAO;IAEvG;;OAEG;IACH,6BAA6B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,KAAM;IAE1F;;OAEG;IACH,8BAA8B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,KAAM;IAE5F;;OAEG;IACH,+BAA+B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,KAAM;IAE9F,sGAAsG;IAEtG;;OAEG;IACH,gCAAgC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,IAAK;IAE/F;;OAEG;IACH,+BAA+B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,IAAK;IAE7F;;OAEG;IACH,mCAAmC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,KAAM;IAEtG,yGAAyG;IAEzG;;OAEG;IACH,mCAAmC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,IAAK;IAErG,mGAAmG;IAEnG;;OAEG;IACH,iCAAiC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,KAAM;IAE7F,gGAAgG;IAEhG;;OAEG;IACH,gCAAgC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,KAAM;IAEhG;;OAEG;IACH,iCAAiC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,IAAI,IAAK;IAEjG;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,KAAM;IAExF,8FAA8F;IAE9F;;OAEG;IACH,6BAA6B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,KAAM;IAE1F;;OAEG;IACH,8BAA8B,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,KAAM;CAC5F,CAAC"}
|
|
@@ -41,7 +41,11 @@ let ChromeDriver = class ChromeDriver {
|
|
|
41
41
|
.addArguments('--no-sandbox')
|
|
42
42
|
.addArguments('--disable-web-security')
|
|
43
43
|
.addArguments('--allow-running-insecure-content')
|
|
44
|
-
.addArguments('--ignore-certificate-errors')
|
|
44
|
+
.addArguments('--ignore-certificate-errors')
|
|
45
|
+
.addArguments('--enable-clipboard-read')
|
|
46
|
+
.addArguments('--enable-clipboard-write')
|
|
47
|
+
.addArguments('--deny-permission-prompts')
|
|
48
|
+
.addArguments('--disable-popup-blocking');
|
|
45
49
|
// if 'true' run in 'headless' mode
|
|
46
50
|
if (CHROME_DRIVER_CONSTANTS_1.CHROME_DRIVER_CONSTANTS.TS_SELENIUM_HEADLESS) {
|
|
47
51
|
options = options.addArguments('headless');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChromeDriver.js","sourceRoot":"","sources":["../../driver/ChromeDriver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,wBAAsB;AACtB,4BAA0B;AAC1B,yCAAuC;AACvC,2DAAgE;AAEhE,sDAAoD;AACpD,kFAA+E;AAGxE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGxB;QACC,MAAM,OAAO,GAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,OAAO,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,IAAI,iDAAuB,CAAC,0BAA0B,EAAE;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;SACrD;IACF,CAAC;IAED,GAAG;QACF,OAAO,IAAI,CAAC,MAA2B,CAAC;IACzC,CAAC;IAEO,gBAAgB;QACvB,IAAI,OAAO,GAAY,IAAI,gBAAO,EAAE;aAClC,YAAY,CAAC,cAAc,CAAC;aAC5B,YAAY,CAAC,wBAAwB,CAAC;aACtC,YAAY,CAAC,kCAAkC,CAAC;aAChD,YAAY,CAAC,6BAA6B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChromeDriver.js","sourceRoot":"","sources":["../../driver/ChromeDriver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,wBAAsB;AACtB,4BAA0B;AAC1B,yCAAuC;AACvC,2DAAgE;AAEhE,sDAAoD;AACpD,kFAA+E;AAGxE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGxB;QACC,MAAM,OAAO,GAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,OAAO,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,IAAI,iDAAuB,CAAC,0BAA0B,EAAE;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;SACrD;IACF,CAAC;IAED,GAAG;QACF,OAAO,IAAI,CAAC,MAA2B,CAAC;IACzC,CAAC;IAEO,gBAAgB;QACvB,IAAI,OAAO,GAAY,IAAI,gBAAO,EAAE;aAClC,YAAY,CAAC,cAAc,CAAC;aAC5B,YAAY,CAAC,wBAAwB,CAAC;aACtC,YAAY,CAAC,kCAAkC,CAAC;aAChD,YAAY,CAAC,6BAA6B,CAAC;aAC3C,YAAY,CAAC,yBAAyB,CAAC;aACvC,YAAY,CAAC,0BAA0B,CAAC;aACxC,YAAY,CAAC,2BAA2B,CAAC;aACzC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAE3C,mCAAmC;QACnC,IAAI,iDAAuB,CAAC,oBAAoB,EAAE;YACjD,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SAC3C;QAED,IAAI,iDAAuB,CAAC,wBAAwB,KAAK,EAAE,EAAE;YAC5D,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,iBAAiB,GAAG,iDAAuB,CAAC,wBAAwB,CAAC,CAAC;SACrG;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,OAAgB;QACxC,MAAM,cAAc,GAAW,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QACxE,IAAI,OAAO,GAAY,IAAI,4BAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEpF,sCAAsC;QACtC,IAAI,CAAC,iDAAuB,CAAC,6BAA6B,EAAE;YAC3D,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SACxF;QAED,mCAAmC;QACnC,IAAI,iDAAuB,CAAC,6BAA6B,EAAE;YAC1D,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iDAAuB,CAAC,6BAA6B,CAAC,CAAC;SACrF;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAA;AAtDY,YAAY;IADxB,IAAA,sBAAU,GAAE;;GACA,YAAY,CAsDxB;AAtDY,oCAAY"}
|
package/dist/index.js
CHANGED
|
@@ -59,6 +59,10 @@ __exportStar(require("./pageobjects/dashboard/Workspaces"), exports);
|
|
|
59
59
|
__exportStar(require("./pageobjects/dashboard/workspace-details/WorkspaceDetails"), exports);
|
|
60
60
|
__exportStar(require("./pageobjects/git-providers/OauthPage"), exports);
|
|
61
61
|
__exportStar(require("./pageobjects/ide/CheCodeLocatorLoader"), exports);
|
|
62
|
+
__exportStar(require("./pageobjects/ide/CommandPalette"), exports);
|
|
63
|
+
__exportStar(require("./pageobjects/ide/ExplorerView"), exports);
|
|
64
|
+
__exportStar(require("./pageobjects/ide/ExtensionsView"), exports);
|
|
65
|
+
__exportStar(require("./pageobjects/ide/NotificationHandler"), exports);
|
|
62
66
|
__exportStar(require("./pageobjects/ide/RestrictedModeButton"), exports);
|
|
63
67
|
__exportStar(require("./pageobjects/ide/ViewsMoreActionsButton"), exports);
|
|
64
68
|
__exportStar(require("./pageobjects/login/interfaces/ICheLoginPage"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AACrD,0CAAe;AACxB,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,mDAAiC;AACjC,0DAAwC;AACxC,0EAAwD;AACxD,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,8EAA4D;AAC5D,6EAA2D;AAC3D,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,qDAAmC;AACnC,gFAA8D;AAC9D,0GAAwF;AACxF,+FAA6E;AAC7E,mEAAiD;AACjD,uEAAqD;AACrD,sEAAoD;AACpD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,2EAAyD;AACzD,0EAAwD;AACxD,qEAAmD;AACnD,6FAA2E;AAC3E,wEAAsD;AACtD,yEAAuD;AACvD,yEAAuD;AACvD,2EAAyD;AACzD,+EAA6D;AAC7D,+EAA6D;AAC7D,8EAA4D;AAC5D,qFAAmE;AACnE,6EAA2D;AAC3D,mFAAiE;AACjE,iFAA+D;AAC/D,gFAA8D;AAC9D,2FAAyE;AACzE,6EAA2D;AAC3D,+EAA6D;AAC7D,sEAAoD;AACpD,4EAA0D;AAC1D,6DAA2C;AAC3C,sEAAoD;AACpD,yEAAuD;AACvD,iEAA+C;AAC/C,kEAAgD;AAChD,sEAAoD;AACpD,qEAAmD;AACnD,8DAA4C;AAC5C,+DAA6C;AAC7C,8DAA4C;AAC5C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AACrD,0CAAe;AACxB,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,mDAAiC;AACjC,0DAAwC;AACxC,0EAAwD;AACxD,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,8EAA4D;AAC5D,6EAA2D;AAC3D,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,qDAAmC;AACnC,gFAA8D;AAC9D,0GAAwF;AACxF,+FAA6E;AAC7E,mEAAiD;AACjD,uEAAqD;AACrD,sEAAoD;AACpD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,2EAAyD;AACzD,0EAAwD;AACxD,qEAAmD;AACnD,6FAA2E;AAC3E,wEAAsD;AACtD,yEAAuD;AACvD,mEAAiD;AACjD,iEAA+C;AAC/C,mEAAiD;AACjD,wEAAsD;AACtD,yEAAuD;AACvD,2EAAyD;AACzD,+EAA6D;AAC7D,+EAA6D;AAC7D,8EAA4D;AAC5D,qFAAmE;AACnE,6EAA2D;AAC3D,mFAAiE;AACjE,iFAA+D;AAC/D,gFAA8D;AAC9D,2FAAyE;AACzE,6EAA2D;AAC3D,+EAA6D;AAC7D,sEAAoD;AACpD,4EAA0D;AAC1D,6DAA2C;AAC3C,sEAAoD;AACpD,yEAAuD;AACvD,iEAA+C;AAC/C,kEAAgD;AAChD,sEAAoD;AACpD,qEAAmD;AACnD,8DAA4C;AAC5C,+DAA6C;AAC7C,8DAA4C;AAC5C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var CommandPalette_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.CommandPalette = void 0;
|
|
17
|
+
/** *******************************************************************
|
|
18
|
+
* copyright (c) 2025 Red Hat, Inc.
|
|
19
|
+
*
|
|
20
|
+
* This program and the accompanying materials are made
|
|
21
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
22
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
23
|
+
*
|
|
24
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
25
|
+
**********************************************************************/
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
28
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
29
|
+
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
30
|
+
const Logger_1 = require("../../utils/Logger");
|
|
31
|
+
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
32
|
+
let CommandPalette = CommandPalette_1 = class CommandPalette {
|
|
33
|
+
constructor(driverHelper) {
|
|
34
|
+
this.driverHelper = driverHelper;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* open the Command Palette using keyboard shortcut
|
|
38
|
+
* tries F1 first, then Ctrl+Shift+P if needed
|
|
39
|
+
*/
|
|
40
|
+
async openCommandPalette() {
|
|
41
|
+
Logger_1.Logger.debug();
|
|
42
|
+
await this.driverHelper.getDriver().actions().keyDown(selenium_webdriver_1.Key.F1).keyUp(selenium_webdriver_1.Key.F1).perform();
|
|
43
|
+
const paletteVisible = await this.driverHelper.waitVisibilityBoolean(CommandPalette_1.COMMAND_PALETTE_CONTAINER);
|
|
44
|
+
if (!paletteVisible) {
|
|
45
|
+
await this.driverHelper
|
|
46
|
+
.getDriver()
|
|
47
|
+
.actions()
|
|
48
|
+
.keyDown(selenium_webdriver_1.Key.CONTROL)
|
|
49
|
+
.keyDown(selenium_webdriver_1.Key.SHIFT)
|
|
50
|
+
.sendKeys('p')
|
|
51
|
+
.keyUp(selenium_webdriver_1.Key.SHIFT)
|
|
52
|
+
.keyUp(selenium_webdriver_1.Key.CONTROL)
|
|
53
|
+
.perform();
|
|
54
|
+
}
|
|
55
|
+
await this.driverHelper.waitVisibility(CommandPalette_1.COMMAND_PALETTE_LIST);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* search for a command in the Command Palette
|
|
59
|
+
*
|
|
60
|
+
* @param commandText Text to search for
|
|
61
|
+
*/
|
|
62
|
+
async searchCommand(commandText) {
|
|
63
|
+
Logger_1.Logger.debug(`"${commandText}"`);
|
|
64
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
65
|
+
await this.driverHelper.getDriver().actions().sendKeys(commandText).perform();
|
|
66
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* get all visible commands in the Command Palette
|
|
70
|
+
*
|
|
71
|
+
* @returns Array of command texts
|
|
72
|
+
*/
|
|
73
|
+
async getVisibleCommands() {
|
|
74
|
+
Logger_1.Logger.debug();
|
|
75
|
+
const listVisible = await this.driverHelper.waitVisibilityBoolean(CommandPalette_1.COMMAND_PALETTE_LIST);
|
|
76
|
+
if (!listVisible) {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
80
|
+
const items = await this.driverHelper.getDriver().findElements(CommandPalette_1.COMMAND_PALETTE_ITEMS);
|
|
81
|
+
const itemTexts = [];
|
|
82
|
+
for (const item of items) {
|
|
83
|
+
try {
|
|
84
|
+
const ariaLabel = await item.getAttribute('aria-label');
|
|
85
|
+
if (ariaLabel) {
|
|
86
|
+
itemTexts.push(ariaLabel);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
// skip items that cannot be read
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return itemTexts;
|
|
94
|
+
}
|
|
95
|
+
async isCommandVisible(commandText) {
|
|
96
|
+
Logger_1.Logger.debug(`"${commandText}"`);
|
|
97
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
98
|
+
const availableCommands = await this.getVisibleCommands();
|
|
99
|
+
Logger_1.Logger.debug(`Available commands: ${availableCommands.join(', ')}`);
|
|
100
|
+
return availableCommands.some((command) => command.toLowerCase().includes(commandText.toLowerCase()));
|
|
101
|
+
}
|
|
102
|
+
async closeCommandPalette() {
|
|
103
|
+
Logger_1.Logger.debug();
|
|
104
|
+
await this.driverHelper.getDriver().actions().sendKeys(selenium_webdriver_1.Key.ESCAPE).perform();
|
|
105
|
+
await this.driverHelper.waitDisappearance(CommandPalette_1.COMMAND_PALETTE_CONTAINER);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
CommandPalette.COMMAND_PALETTE_CONTAINER = selenium_webdriver_1.By.css('.quick-input-widget');
|
|
109
|
+
CommandPalette.COMMAND_PALETTE_LIST = selenium_webdriver_1.By.css('#quickInput_list');
|
|
110
|
+
CommandPalette.COMMAND_PALETTE_ITEMS = selenium_webdriver_1.By.css('#quickInput_list [role="option"]');
|
|
111
|
+
CommandPalette = CommandPalette_1 = __decorate([
|
|
112
|
+
(0, inversify_1.injectable)(),
|
|
113
|
+
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
114
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
|
|
115
|
+
], CommandPalette);
|
|
116
|
+
exports.CommandPalette = CommandPalette;
|
|
117
|
+
//# sourceMappingURL=CommandPalette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandPalette.js","sourceRoot":"","sources":["../../../pageobjects/ide/CommandPalette.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var ExplorerView_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ExplorerView = void 0;
|
|
17
|
+
/** *******************************************************************
|
|
18
|
+
* copyright (c) 2025 Red Hat, Inc.
|
|
19
|
+
*
|
|
20
|
+
* This program and the accompanying materials are made
|
|
21
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
22
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
23
|
+
*
|
|
24
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
25
|
+
**********************************************************************/
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
28
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
29
|
+
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
30
|
+
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
31
|
+
const Logger_1 = require("../../utils/Logger");
|
|
32
|
+
const ProjectAndFileTests_1 = require("../../tests-library/ProjectAndFileTests");
|
|
33
|
+
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
34
|
+
let ExplorerView = ExplorerView_1 = class ExplorerView {
|
|
35
|
+
constructor(driverHelper, projectAndFileTests) {
|
|
36
|
+
this.driverHelper = driverHelper;
|
|
37
|
+
this.projectAndFileTests = projectAndFileTests;
|
|
38
|
+
}
|
|
39
|
+
async openExplorerView() {
|
|
40
|
+
Logger_1.Logger.debug();
|
|
41
|
+
const explorerCtrl = await new monaco_page_objects_1.ActivityBar().getViewControl('Explorer');
|
|
42
|
+
await explorerCtrl?.openView();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* open the context menu for a file in the Explorer view
|
|
46
|
+
*
|
|
47
|
+
* @param fileName Name of the file to open context menu for
|
|
48
|
+
*/
|
|
49
|
+
async openFileContextMenu(fileName) {
|
|
50
|
+
Logger_1.Logger.debug(`"${fileName}"`);
|
|
51
|
+
await this.openExplorerView();
|
|
52
|
+
const projectSection = await this.projectAndFileTests.getProjectViewSession();
|
|
53
|
+
const fileItem = await this.projectAndFileTests.getProjectTreeItem(projectSection, fileName);
|
|
54
|
+
if (!fileItem) {
|
|
55
|
+
throw new Error(`Could not find ${fileName} file in explorer`);
|
|
56
|
+
}
|
|
57
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
58
|
+
try {
|
|
59
|
+
await fileItem.openContextMenu();
|
|
60
|
+
await this.waitContextMenuVisible();
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
Logger_1.Logger.error(`Context menu failed for "${fileName}": ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
64
|
+
throw new Error(`Context menu failed to open for "${fileName}"`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* check if a specific item is visible in the context menu
|
|
69
|
+
*
|
|
70
|
+
* @param menuItemAriaLabel Aria label of the menu item to check for
|
|
71
|
+
* @returns True if the item is visible
|
|
72
|
+
*/
|
|
73
|
+
async isContextMenuItemVisible(menuItemAriaLabel) {
|
|
74
|
+
Logger_1.Logger.debug(`"${menuItemAriaLabel}"`);
|
|
75
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
76
|
+
const contextMenuItemLocator = selenium_webdriver_1.By.css(`.monaco-menu-container [aria-label="${menuItemAriaLabel}"]`);
|
|
77
|
+
return await this.driverHelper.waitVisibilityBoolean(contextMenuItemLocator);
|
|
78
|
+
}
|
|
79
|
+
async closeContextMenu() {
|
|
80
|
+
Logger_1.Logger.debug();
|
|
81
|
+
await this.driverHelper.getDriver().actions().sendKeys(selenium_webdriver_1.Key.ESCAPE).perform();
|
|
82
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
83
|
+
await this.driverHelper.waitDisappearance(ExplorerView_1.CONTEXT_MENU_CONTAINER);
|
|
84
|
+
}
|
|
85
|
+
async waitContextMenuVisible() {
|
|
86
|
+
Logger_1.Logger.debug();
|
|
87
|
+
const containerVisible = await this.driverHelper.waitVisibilityBoolean(ExplorerView_1.CONTEXT_MENU_CONTAINER);
|
|
88
|
+
if (!containerVisible) {
|
|
89
|
+
throw new Error('Context menu container did not appear');
|
|
90
|
+
}
|
|
91
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
92
|
+
const menuItemsVisible = await this.driverHelper.waitVisibilityBoolean(ExplorerView_1.CONTEXT_MENU_ITEMS);
|
|
93
|
+
if (!menuItemsVisible) {
|
|
94
|
+
throw new Error('Context menu items did not load properly');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
ExplorerView.CONTEXT_MENU_CONTAINER = selenium_webdriver_1.By.css('.monaco-menu-container');
|
|
99
|
+
ExplorerView.CONTEXT_MENU_ITEMS = selenium_webdriver_1.By.css('.monaco-menu-container .action-item');
|
|
100
|
+
ExplorerView = ExplorerView_1 = __decorate([
|
|
101
|
+
(0, inversify_1.injectable)(),
|
|
102
|
+
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
103
|
+
__param(1, (0, inversify_1.inject)(inversify_types_1.CLASSES.ProjectAndFileTests)),
|
|
104
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
|
|
105
|
+
ProjectAndFileTests_1.ProjectAndFileTests])
|
|
106
|
+
], ExplorerView);
|
|
107
|
+
exports.ExplorerView = ExplorerView;
|
|
108
|
+
//# sourceMappingURL=ExplorerView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExplorerView.js","sourceRoot":"","sources":["../../../pageobjects/ide/ExplorerView.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var ExtensionsView_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ExtensionsView = void 0;
|
|
17
|
+
/** *******************************************************************
|
|
18
|
+
* copyright (c) 2025 Red Hat, Inc.
|
|
19
|
+
*
|
|
20
|
+
* This program and the accompanying materials are made
|
|
21
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
22
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
23
|
+
*
|
|
24
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
25
|
+
**********************************************************************/
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
28
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
29
|
+
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
30
|
+
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
31
|
+
const Logger_1 = require("../../utils/Logger");
|
|
32
|
+
const ViewsMoreActionsButton_1 = require("./ViewsMoreActionsButton");
|
|
33
|
+
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
34
|
+
let ExtensionsView = ExtensionsView_1 = class ExtensionsView {
|
|
35
|
+
constructor(driverHelper, viewsMoreActionsButton) {
|
|
36
|
+
this.driverHelper = driverHelper;
|
|
37
|
+
this.viewsMoreActionsButton = viewsMoreActionsButton;
|
|
38
|
+
}
|
|
39
|
+
async openExtensionsView() {
|
|
40
|
+
Logger_1.Logger.debug();
|
|
41
|
+
const viewCtrl = await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions');
|
|
42
|
+
await viewCtrl?.openView();
|
|
43
|
+
const extensionsViewVisible = await this.driverHelper.waitVisibilityBoolean(ExtensionsView_1.EXTENSIONS_VIEW);
|
|
44
|
+
if (!extensionsViewVisible) {
|
|
45
|
+
throw new Error('Extensions view could not be opened');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async openMoreActionsMenu() {
|
|
49
|
+
Logger_1.Logger.debug();
|
|
50
|
+
await this.viewsMoreActionsButton.clickViewsMoreActionsButton();
|
|
51
|
+
await this.viewsMoreActionsButton.waitForContextMenu();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* get all items in the More Actions menu
|
|
55
|
+
*
|
|
56
|
+
* @returns Array of menu item texts
|
|
57
|
+
*/
|
|
58
|
+
async getMoreActionsMenuItems() {
|
|
59
|
+
Logger_1.Logger.debug();
|
|
60
|
+
const menuItems = await this.driverHelper.getDriver().findElements(ExtensionsView_1.MENU_ITEM);
|
|
61
|
+
const menuTexts = [];
|
|
62
|
+
for (const item of menuItems) {
|
|
63
|
+
try {
|
|
64
|
+
const text = await item.getText();
|
|
65
|
+
menuTexts.push(text);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
// skip items that cannot be read
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return menuTexts;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* check if a specific item is visible in the More Actions menu
|
|
75
|
+
*
|
|
76
|
+
* @param menuItemText Text to check for
|
|
77
|
+
* @returns True if item is visible
|
|
78
|
+
*/
|
|
79
|
+
async isMoreActionsMenuItemVisible(menuItemText) {
|
|
80
|
+
Logger_1.Logger.debug(`"${menuItemText}"`);
|
|
81
|
+
const menuItems = await this.getMoreActionsMenuItems();
|
|
82
|
+
return menuItems.some((item) => item.includes(menuItemText));
|
|
83
|
+
}
|
|
84
|
+
async closeMoreActionsMenu() {
|
|
85
|
+
Logger_1.Logger.debug();
|
|
86
|
+
await this.driverHelper.getDriver().actions().sendKeys(selenium_webdriver_1.Key.ESCAPE).perform();
|
|
87
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* get names of all installed extensions
|
|
91
|
+
*/
|
|
92
|
+
async getInstalledExtensionNames() {
|
|
93
|
+
Logger_1.Logger.debug();
|
|
94
|
+
await this.openExtensionsView();
|
|
95
|
+
const extensionsView = await (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))?.openView();
|
|
96
|
+
if (!extensionsView) {
|
|
97
|
+
throw new Error('Could not open Extensions view');
|
|
98
|
+
}
|
|
99
|
+
const [extensionSection] = (await extensionsView.getContent().getSections());
|
|
100
|
+
if (!extensionSection) {
|
|
101
|
+
throw new Error('Could not find Extensions section');
|
|
102
|
+
}
|
|
103
|
+
// search for installed extensions
|
|
104
|
+
await this.searchInExtensions(extensionSection, '@installed');
|
|
105
|
+
// wait for results to load
|
|
106
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
107
|
+
const installedItems = await extensionSection.getVisibleItems();
|
|
108
|
+
const extensionNames = [];
|
|
109
|
+
for (const item of installedItems) {
|
|
110
|
+
try {
|
|
111
|
+
const title = await item.getTitle();
|
|
112
|
+
extensionNames.push(title);
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
// skip items that cannot be read
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
Logger_1.Logger.debug(`Found ${extensionNames.length} installed extensions: ${extensionNames.join(', ')}`);
|
|
119
|
+
return extensionNames;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* search for extensions using a search term
|
|
123
|
+
*
|
|
124
|
+
* @param extensionSection The ExtensionsViewSection to search in
|
|
125
|
+
* @param searchText Text to search for
|
|
126
|
+
*/
|
|
127
|
+
async searchInExtensions(extensionSection, searchText) {
|
|
128
|
+
Logger_1.Logger.debug(`Searching for: "${searchText}"`);
|
|
129
|
+
const enclosingItem = extensionSection.getEnclosingElement();
|
|
130
|
+
try {
|
|
131
|
+
const searchField = await enclosingItem.findElement(ExtensionsView_1.SEARCH_BOX);
|
|
132
|
+
// clear existing search
|
|
133
|
+
await this.driverHelper.getDriver().actions().click(searchField).perform();
|
|
134
|
+
await this.driverHelper
|
|
135
|
+
.getDriver()
|
|
136
|
+
.actions()
|
|
137
|
+
.keyDown(selenium_webdriver_1.Key.CONTROL)
|
|
138
|
+
.sendKeys('a')
|
|
139
|
+
.keyUp(selenium_webdriver_1.Key.CONTROL)
|
|
140
|
+
.sendKeys(selenium_webdriver_1.Key.DELETE)
|
|
141
|
+
.perform();
|
|
142
|
+
// enter new search text
|
|
143
|
+
await this.driverHelper.getDriver().actions().sendKeys(searchText).perform();
|
|
144
|
+
await this.driverHelper.wait(TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_DEFAULT_POLLING);
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
Logger_1.Logger.debug(`Could not interact with search field: ${err}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
ExtensionsView.EXTENSIONS_VIEW = selenium_webdriver_1.By.css('.extensions-viewlet');
|
|
152
|
+
ExtensionsView.MENU_ITEM = selenium_webdriver_1.By.css('.context-view .monaco-menu .action-item');
|
|
153
|
+
ExtensionsView.SEARCH_BOX = selenium_webdriver_1.By.css('input.monaco-inputbox-input');
|
|
154
|
+
ExtensionsView = ExtensionsView_1 = __decorate([
|
|
155
|
+
(0, inversify_1.injectable)(),
|
|
156
|
+
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
157
|
+
__param(1, (0, inversify_1.inject)(inversify_types_1.CLASSES.ViewsMoreActionsButton)),
|
|
158
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
|
|
159
|
+
ViewsMoreActionsButton_1.ViewsMoreActionsButton])
|
|
160
|
+
], ExtensionsView);
|
|
161
|
+
exports.ExtensionsView = ExtensionsView;
|
|
162
|
+
//# sourceMappingURL=ExtensionsView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionsView.js","sourceRoot":"","sources":["../../../pageobjects/ide/ExtensionsView.ts"],"names":[],"mappings":"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"}
|