@eclipse-che/che-e2e 7.115.0-next-07d7770 → 7.115.0-next-f0c7000
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/dist/pageobjects/dashboard/Dashboard.js +9 -1
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/specs/dashboard-samples/StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js +123 -0
- package/dist/specs/dashboard-samples/StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js.map +1 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js +80 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map +1 -0
- package/dist/tests-library/WorkspaceHandlingTests.js +26 -0
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
- package/package.json +1 -1
- package/pageobjects/dashboard/Dashboard.ts +13 -1
- package/specs/dashboard-samples/StartWorkspaceUsingVSCodeDesktopSshEditor.spec.ts +143 -0
- package/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.ts +99 -0
- package/tests-library/WorkspaceHandlingTests.ts +32 -0
|
@@ -42,7 +42,6 @@ let Dashboard = Dashboard_1 = class Dashboard {
|
|
|
42
42
|
await this.clickWorkspacesButton();
|
|
43
43
|
await this.workspaces.waitPage();
|
|
44
44
|
await this.workspaces.waitWorkspaceListItem(workspaceName);
|
|
45
|
-
await this.workspaces.waitWorkspaceWithRunningStatus(workspaceName);
|
|
46
45
|
await this.workspaces.stopWorkspaceByActionsButton(workspaceName);
|
|
47
46
|
await this.workspaces.waitWorkspaceWithStoppedStatus(workspaceName);
|
|
48
47
|
}
|
|
@@ -160,6 +159,14 @@ let Dashboard = Dashboard_1 = class Dashboard {
|
|
|
160
159
|
Logger_1.Logger.debug();
|
|
161
160
|
await this.driverHelper.waitAndClick(Dashboard_1.CONTINUE_WITH_DEFAULT_DEVFILE_BUTTON, timeout);
|
|
162
161
|
}
|
|
162
|
+
async openChooseEditorMenu(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
|
|
163
|
+
Logger_1.Logger.debug('open "choose Editor" menu');
|
|
164
|
+
await this.driverHelper.waitAndClick(Dashboard_1.CHOOSE_EDITOR_MENU, timeout);
|
|
165
|
+
}
|
|
166
|
+
async chooseEditor(editor, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
|
|
167
|
+
Logger_1.Logger.debug('select Editor. Editor: ' + editor);
|
|
168
|
+
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(editor), timeout);
|
|
169
|
+
}
|
|
163
170
|
getAboutMenuItemButtonLocator(text) {
|
|
164
171
|
return selenium_webdriver_1.By.xpath(`//li/button[text()="${text}"]`);
|
|
165
172
|
}
|
|
@@ -190,6 +197,7 @@ Dashboard.ABOUT_DIALOG_ITEM_DATA_TEST_IDS = {
|
|
|
190
197
|
};
|
|
191
198
|
Dashboard.CONTINUE_WITH_DEFAULT_DEVFILE_BUTTON = selenium_webdriver_1.By.xpath('//button[text()="Continue with default devfile"]');
|
|
192
199
|
Dashboard.OPEN_EXISTING_WORKSPACE_LINK = selenium_webdriver_1.By.xpath('//button[text()="Open the existing workspace"]');
|
|
200
|
+
Dashboard.CHOOSE_EDITOR_MENU = selenium_webdriver_1.By.xpath('//*[@id="accordion-item-selector"]');
|
|
193
201
|
Dashboard = Dashboard_1 = __decorate([
|
|
194
202
|
(0, inversify_1.injectable)(),
|
|
195
203
|
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,4BAA0B;AAC1B,mEAAwD;AACxD,2DAA2D;AAC3D,2DAAwD;AACxD,yEAAsE;AACtE,6CAA0C;AAC1C,+CAA4C;AAC5C,6EAA0E;AAGnE,IAAM,SAAS,iBAAf,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2026 Red Hat, Inc.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made
|
|
6
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
7
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
8
|
+
*
|
|
9
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
10
|
+
**********************************************************************/
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const fs_1 = __importDefault(require("fs"));
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const yaml_1 = __importDefault(require("yaml"));
|
|
18
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
19
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
20
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
21
|
+
const chai_1 = require("chai");
|
|
22
|
+
const Logger_1 = require("../../utils/Logger");
|
|
23
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
24
|
+
suite('Check Visual Studio Code (desktop) (SSH) with all samples', function () {
|
|
25
|
+
this.timeout(6000000);
|
|
26
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
27
|
+
const pathToSampleFile = path_1.default.resolve('resources/default-devfile.yaml');
|
|
28
|
+
const workspaceName = yaml_1.default.parse(fs_1.default.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
|
|
29
|
+
const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
|
|
30
|
+
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
31
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
32
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
33
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
34
|
+
const vsCodeDesktopSshEditor = '//*[@id="editor-selector-card-che-incubator/che-code-sshd/latest"]';
|
|
35
|
+
const titlexPath = '/html/body/h1';
|
|
36
|
+
const ocPortForwardxPath = '//*[@id="port-forward"]';
|
|
37
|
+
const sshKeyxPath = '//*[@id="key"]';
|
|
38
|
+
const sshKonfigxPath = '//*[@id="config"]';
|
|
39
|
+
const samplesForCheck = [
|
|
40
|
+
'Empty Workspace',
|
|
41
|
+
'JBoss EAP 8.0',
|
|
42
|
+
'Java Lombok',
|
|
43
|
+
'Node.js Express',
|
|
44
|
+
'Python',
|
|
45
|
+
'Quarkus REST API',
|
|
46
|
+
'.NET',
|
|
47
|
+
'Ansible',
|
|
48
|
+
'C/C++',
|
|
49
|
+
'Go',
|
|
50
|
+
'PHP'
|
|
51
|
+
];
|
|
52
|
+
const gitRepoUrlsToCheck = [
|
|
53
|
+
'https://github.com/crw-qe/quarkus-api-example-public/tree/ubi8-latest',
|
|
54
|
+
'https://github.com/crw-qe/ubi9-based-sample-public/tree/ubi9-minimal'
|
|
55
|
+
];
|
|
56
|
+
const gitRepoUrlsToCheckAirgap = [
|
|
57
|
+
'https://gh.crw-qe.com/test-automation-only/ubi8/tree/ubi8-latest',
|
|
58
|
+
'https://gh.crw-qe.com/test-automation-only/ubi9-based-sample-public/tree/ubi9-minimal'
|
|
59
|
+
];
|
|
60
|
+
async function deleteWorkspace() {
|
|
61
|
+
await dashboard.openDashboard();
|
|
62
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
63
|
+
await dashboard.stopAndRemoveWorkspaceByUI(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
64
|
+
WorkspaceHandlingTests_1.WorkspaceHandlingTests.clearWorkspaceName();
|
|
65
|
+
}
|
|
66
|
+
suiteSetup('Login into Che', async function () {
|
|
67
|
+
await loginTests.loginIntoChe();
|
|
68
|
+
});
|
|
69
|
+
async function testWorkspaceStartup(sampleNameOrUrl, isUrl) {
|
|
70
|
+
await dashboard.openDashboard();
|
|
71
|
+
if (isUrl) {
|
|
72
|
+
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndGitUrl(vsCodeDesktopSshEditor, sampleNameOrUrl, titlexPath);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndSample(vsCodeDesktopSshEditor, sampleNameOrUrl, titlexPath);
|
|
76
|
+
}
|
|
77
|
+
// check title
|
|
78
|
+
const headerText = await workspaceHandlingTests.getTextFromUIElementByXpath(titlexPath);
|
|
79
|
+
(0, chai_1.expect)('Workspace ' + WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() + ' is running').equal(headerText);
|
|
80
|
+
// check oc-port-forwarding
|
|
81
|
+
const ocPortForward = await workspaceHandlingTests.getTextFromUIElementByXpath(ocPortForwardxPath);
|
|
82
|
+
(0, chai_1.expect)(ocPortForward).contains('oc port-forward -n admin-devspaces');
|
|
83
|
+
// check ssh key
|
|
84
|
+
const sshKey = await workspaceHandlingTests.getTextFromUIElementByXpath(sshKeyxPath);
|
|
85
|
+
(0, chai_1.expect)(sshKey).contains('-----BEGIN OPENSSH PRIVATE KEY-----').and.contains('-----END OPENSSH PRIVATE KEY-----');
|
|
86
|
+
// check .ssh/kofig
|
|
87
|
+
const sshKonfig = await workspaceHandlingTests.getTextFromUIElementByXpath(sshKonfigxPath);
|
|
88
|
+
(0, chai_1.expect)(sshKonfig)
|
|
89
|
+
.contains('HostName')
|
|
90
|
+
.and.contains('User')
|
|
91
|
+
.and.contains('Port')
|
|
92
|
+
.and.contains('IdentityFile')
|
|
93
|
+
.and.contains('UserKnownHostsFile');
|
|
94
|
+
await deleteWorkspace();
|
|
95
|
+
}
|
|
96
|
+
test('Test start of VSCode (desktop) (SSH) with default Samples', async function () {
|
|
97
|
+
for (const sampleName of samplesForCheck) {
|
|
98
|
+
await testWorkspaceStartup(sampleName, false);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
test('Test start of VSCode (desktop) (SSH) with ubi', async function () {
|
|
102
|
+
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
|
|
103
|
+
Logger_1.Logger.info('Test cluster is disconnected. Using url for airgap cluster.');
|
|
104
|
+
for (const url of gitRepoUrlsToCheckAirgap) {
|
|
105
|
+
await testWorkspaceStartup(url, true);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
for (const url of gitRepoUrlsToCheck) {
|
|
110
|
+
await testWorkspaceStartup(url, true);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
suiteTeardown('Delete DevWorkspace', async function () {
|
|
115
|
+
Logger_1.Logger.info('Deleting DevWorkspace... After all.');
|
|
116
|
+
await dashboard.openDashboard();
|
|
117
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
118
|
+
if (WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() !== 'undefined') {
|
|
119
|
+
await dashboard.deleteStoppedWorkspaceByUI(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/StartWorkspaceUsingVSCodeDesktopSshEditor.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2020-2026 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
14
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
15
|
+
const chai_1 = require("chai");
|
|
16
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
17
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
18
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
19
|
+
const Logger_1 = require("../../utils/Logger");
|
|
20
|
+
suite(`"Create Empty Workspace sample" test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
21
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
22
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
23
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
24
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
25
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
26
|
+
const createWorkspace = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CreateWorkspace);
|
|
27
|
+
const stackName = 'Empty Workspace';
|
|
28
|
+
let firstWorkspaceName;
|
|
29
|
+
let secondWorkspaceName;
|
|
30
|
+
suiteSetup('Login', async function () {
|
|
31
|
+
await loginTests.loginIntoChe();
|
|
32
|
+
});
|
|
33
|
+
async function waitDashboardPage() {
|
|
34
|
+
await dashboard.openDashboard();
|
|
35
|
+
await dashboard.waitPage();
|
|
36
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
37
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
38
|
+
await createWorkspace.waitPage();
|
|
39
|
+
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
40
|
+
}
|
|
41
|
+
async function waitWorkspaceReadiness() {
|
|
42
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
43
|
+
const workbench = new monaco_page_objects_1.Workbench();
|
|
44
|
+
const activityBar = workbench.getActivityBar();
|
|
45
|
+
const activityBarControls = await activityBar.getViewControls();
|
|
46
|
+
Logger_1.Logger.debug('Editor sections:');
|
|
47
|
+
for (const control of activityBarControls) {
|
|
48
|
+
Logger_1.Logger.debug(`${await control.getTitle()}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
test('Verify "Create New" is on and a new workspace is created without warnings', async function () {
|
|
52
|
+
await waitDashboardPage();
|
|
53
|
+
// verify "Create New" checkbox is checked by default
|
|
54
|
+
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
55
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName, true);
|
|
56
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
57
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
58
|
+
await waitWorkspaceReadiness();
|
|
59
|
+
firstWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
60
|
+
});
|
|
61
|
+
test('Verify "Create New" is off and a new workspace is created', async function () {
|
|
62
|
+
await waitDashboardPage();
|
|
63
|
+
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
64
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName, false);
|
|
65
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
66
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
67
|
+
await waitWorkspaceReadiness();
|
|
68
|
+
secondWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
69
|
+
// empty Workspace sample generates unique names, so workspaces should have different names
|
|
70
|
+
(0, chai_1.expect)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName()).not.to.be.equal(firstWorkspaceName);
|
|
71
|
+
});
|
|
72
|
+
suiteTeardown('Stop and delete all created workspaces', async function () {
|
|
73
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(firstWorkspaceName);
|
|
74
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(secondWorkspaceName);
|
|
75
|
+
});
|
|
76
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
77
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map
|
package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromEmptyWorkspaceSample.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,6 +136,32 @@ let WorkspaceHandlingTests = WorkspaceHandlingTests_1 = class WorkspaceHandlingT
|
|
|
136
136
|
Logger_1.Logger.info('Start workspace progress title: ' + alertTitle);
|
|
137
137
|
Logger_1.Logger.info('Start workspace progress description: ' + alertDescription);
|
|
138
138
|
}
|
|
139
|
+
async createAndOpenWorkspaceWithSpecificEditorAndSample(editor, sampleName, xPath) {
|
|
140
|
+
Logger_1.Logger.debug('Create and open workspace with specific Editor and Sample. Sample ' + editor);
|
|
141
|
+
await this.selectEditor(editor);
|
|
142
|
+
await this.createWorkspace.clickOnSampleNoEditorSelection(sampleName);
|
|
143
|
+
await this.waitForControlXpath(xPath);
|
|
144
|
+
}
|
|
145
|
+
async createAndOpenWorkspaceWithSpecificEditorAndGitUrl(editor, sampleUrl, xPath) {
|
|
146
|
+
Logger_1.Logger.debug('Create and open workspace with specific Editor and URL. Sample ' + editor);
|
|
147
|
+
await this.selectEditor(editor);
|
|
148
|
+
await this.createWorkspace.importFromGitUsingUI(sampleUrl);
|
|
149
|
+
await this.waitForControlXpath(xPath);
|
|
150
|
+
}
|
|
151
|
+
async selectEditor(editor) {
|
|
152
|
+
Logger_1.Logger.debug('select Editor. Editor: ' + editor);
|
|
153
|
+
await this.dashboard.openChooseEditorMenu();
|
|
154
|
+
await this.dashboard.chooseEditor(editor);
|
|
155
|
+
}
|
|
156
|
+
async getTextFromUIElementByXpath(xpath) {
|
|
157
|
+
Logger_1.Logger.debug('returning text from xPath: ' + xpath);
|
|
158
|
+
return await this.driverHelper.getDriver().findElement(selenium_webdriver_1.By.xpath(xpath)).getText();
|
|
159
|
+
}
|
|
160
|
+
async waitForControlXpath(xPathToWait) {
|
|
161
|
+
await this.browserTabsUtil.waitAndSwitchToAnotherWindow(WorkspaceHandlingTests_1.parentGUID, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
162
|
+
await this.obtainWorkspaceNameFromStartingPage();
|
|
163
|
+
await this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(xPathToWait), TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
|
|
164
|
+
}
|
|
139
165
|
async getWorkspaceAlertDescription() {
|
|
140
166
|
try {
|
|
141
167
|
return await this.driverHelper.getDriver().findElement(WorkspaceHandlingTests_1.WORKSPACE_ALERT_DESCRIPTION).getText();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceHandlingTests.js","sourceRoot":"","sources":["../../tests-library/WorkspaceHandlingTests.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WorkspaceHandlingTests.js","sourceRoot":"","sources":["../../tests-library/WorkspaceHandlingTests.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -44,6 +44,7 @@ export class Dashboard {
|
|
|
44
44
|
};
|
|
45
45
|
private static readonly CONTINUE_WITH_DEFAULT_DEVFILE_BUTTON: By = By.xpath('//button[text()="Continue with default devfile"]');
|
|
46
46
|
private static readonly OPEN_EXISTING_WORKSPACE_LINK: By = By.xpath('//button[text()="Open the existing workspace"]');
|
|
47
|
+
private static readonly CHOOSE_EDITOR_MENU: By = By.xpath('//*[@id="accordion-item-selector"]');
|
|
47
48
|
|
|
48
49
|
constructor(
|
|
49
50
|
@inject(CLASSES.DriverHelper)
|
|
@@ -57,7 +58,6 @@ export class Dashboard {
|
|
|
57
58
|
await this.clickWorkspacesButton();
|
|
58
59
|
await this.workspaces.waitPage();
|
|
59
60
|
await this.workspaces.waitWorkspaceListItem(workspaceName);
|
|
60
|
-
await this.workspaces.waitWorkspaceWithRunningStatus(workspaceName);
|
|
61
61
|
await this.workspaces.stopWorkspaceByActionsButton(workspaceName);
|
|
62
62
|
await this.workspaces.waitWorkspaceWithStoppedStatus(workspaceName);
|
|
63
63
|
}
|
|
@@ -226,6 +226,18 @@ export class Dashboard {
|
|
|
226
226
|
await this.driverHelper.waitAndClick(Dashboard.CONTINUE_WITH_DEFAULT_DEVFILE_BUTTON, timeout);
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
+
async openChooseEditorMenu(timeout: number = TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<void> {
|
|
230
|
+
Logger.debug('open "choose Editor" menu');
|
|
231
|
+
|
|
232
|
+
await this.driverHelper.waitAndClick(Dashboard.CHOOSE_EDITOR_MENU, timeout);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
async chooseEditor(editor: string, timeout: number = TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<void> {
|
|
236
|
+
Logger.debug('select Editor. Editor: ' + editor);
|
|
237
|
+
|
|
238
|
+
await this.driverHelper.waitAndClick(By.xpath(editor), timeout);
|
|
239
|
+
}
|
|
240
|
+
|
|
229
241
|
private getAboutMenuItemButtonLocator(text: string): By {
|
|
230
242
|
return By.xpath(`//li/button[text()="${text}"]`);
|
|
231
243
|
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2026 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
|
|
11
|
+
import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
|
|
12
|
+
import fs from 'fs';
|
|
13
|
+
import path from 'path';
|
|
14
|
+
import YAML from 'yaml';
|
|
15
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
16
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
17
|
+
import { LoginTests } from '../../tests-library/LoginTests';
|
|
18
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
19
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
20
|
+
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
21
|
+
import { expect } from 'chai';
|
|
22
|
+
import { Logger } from '../../utils/Logger';
|
|
23
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
24
|
+
|
|
25
|
+
suite('Check Visual Studio Code (desktop) (SSH) with all samples', function (): void {
|
|
26
|
+
this.timeout(6000000);
|
|
27
|
+
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
28
|
+
const pathToSampleFile: string = path.resolve('resources/default-devfile.yaml');
|
|
29
|
+
const workspaceName: string = YAML.parse(fs.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
|
|
30
|
+
const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
|
|
31
|
+
CLASSES.KubernetesCommandLineToolsExecutor
|
|
32
|
+
);
|
|
33
|
+
kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
|
|
34
|
+
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
35
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
36
|
+
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
37
|
+
|
|
38
|
+
const vsCodeDesktopSshEditor: string = '//*[@id="editor-selector-card-che-incubator/che-code-sshd/latest"]';
|
|
39
|
+
const titlexPath: string = '/html/body/h1';
|
|
40
|
+
const ocPortForwardxPath: string = '//*[@id="port-forward"]';
|
|
41
|
+
const sshKeyxPath: string = '//*[@id="key"]';
|
|
42
|
+
const sshKonfigxPath: string = '//*[@id="config"]';
|
|
43
|
+
|
|
44
|
+
const samplesForCheck: string[] = [
|
|
45
|
+
'Empty Workspace',
|
|
46
|
+
'JBoss EAP 8.0',
|
|
47
|
+
'Java Lombok',
|
|
48
|
+
'Node.js Express',
|
|
49
|
+
'Python',
|
|
50
|
+
'Quarkus REST API',
|
|
51
|
+
'.NET',
|
|
52
|
+
'Ansible',
|
|
53
|
+
'C/C++',
|
|
54
|
+
'Go',
|
|
55
|
+
'PHP'
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const gitRepoUrlsToCheck: string[] = [
|
|
59
|
+
'https://github.com/crw-qe/quarkus-api-example-public/tree/ubi8-latest',
|
|
60
|
+
'https://github.com/crw-qe/ubi9-based-sample-public/tree/ubi9-minimal'
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const gitRepoUrlsToCheckAirgap: string[] = [
|
|
64
|
+
'https://gh.crw-qe.com/test-automation-only/ubi8/tree/ubi8-latest',
|
|
65
|
+
'https://gh.crw-qe.com/test-automation-only/ubi9-based-sample-public/tree/ubi9-minimal'
|
|
66
|
+
];
|
|
67
|
+
|
|
68
|
+
async function deleteWorkspace(): Promise<void> {
|
|
69
|
+
await dashboard.openDashboard();
|
|
70
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
71
|
+
await dashboard.stopAndRemoveWorkspaceByUI(WorkspaceHandlingTests.getWorkspaceName());
|
|
72
|
+
WorkspaceHandlingTests.clearWorkspaceName();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
suiteSetup('Login into Che', async function (): Promise<void> {
|
|
76
|
+
await loginTests.loginIntoChe();
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
async function testWorkspaceStartup(sampleNameOrUrl: string, isUrl: boolean): Promise<void> {
|
|
80
|
+
await dashboard.openDashboard();
|
|
81
|
+
if (isUrl) {
|
|
82
|
+
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndGitUrl(
|
|
83
|
+
vsCodeDesktopSshEditor,
|
|
84
|
+
sampleNameOrUrl,
|
|
85
|
+
titlexPath
|
|
86
|
+
);
|
|
87
|
+
} else {
|
|
88
|
+
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndSample(
|
|
89
|
+
vsCodeDesktopSshEditor,
|
|
90
|
+
sampleNameOrUrl,
|
|
91
|
+
titlexPath
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// check title
|
|
96
|
+
const headerText: string = await workspaceHandlingTests.getTextFromUIElementByXpath(titlexPath);
|
|
97
|
+
expect('Workspace ' + WorkspaceHandlingTests.getWorkspaceName() + ' is running').equal(headerText);
|
|
98
|
+
// check oc-port-forwarding
|
|
99
|
+
const ocPortForward: string = await workspaceHandlingTests.getTextFromUIElementByXpath(ocPortForwardxPath);
|
|
100
|
+
expect(ocPortForward).contains('oc port-forward -n admin-devspaces');
|
|
101
|
+
// check ssh key
|
|
102
|
+
const sshKey: string = await workspaceHandlingTests.getTextFromUIElementByXpath(sshKeyxPath);
|
|
103
|
+
expect(sshKey).contains('-----BEGIN OPENSSH PRIVATE KEY-----').and.contains('-----END OPENSSH PRIVATE KEY-----');
|
|
104
|
+
// check .ssh/kofig
|
|
105
|
+
const sshKonfig: string = await workspaceHandlingTests.getTextFromUIElementByXpath(sshKonfigxPath);
|
|
106
|
+
expect(sshKonfig)
|
|
107
|
+
.contains('HostName')
|
|
108
|
+
.and.contains('User')
|
|
109
|
+
.and.contains('Port')
|
|
110
|
+
.and.contains('IdentityFile')
|
|
111
|
+
.and.contains('UserKnownHostsFile');
|
|
112
|
+
|
|
113
|
+
await deleteWorkspace();
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
test('Test start of VSCode (desktop) (SSH) with default Samples', async function (): Promise<void> {
|
|
117
|
+
for (const sampleName of samplesForCheck) {
|
|
118
|
+
await testWorkspaceStartup(sampleName, false);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
test('Test start of VSCode (desktop) (SSH) with ubi', async function (): Promise<void> {
|
|
123
|
+
if (BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
|
|
124
|
+
Logger.info('Test cluster is disconnected. Using url for airgap cluster.');
|
|
125
|
+
for (const url of gitRepoUrlsToCheckAirgap) {
|
|
126
|
+
await testWorkspaceStartup(url, true);
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
for (const url of gitRepoUrlsToCheck) {
|
|
130
|
+
await testWorkspaceStartup(url, true);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
suiteTeardown('Delete DevWorkspace', async function (): Promise<void> {
|
|
136
|
+
Logger.info('Deleting DevWorkspace... After all.');
|
|
137
|
+
await dashboard.openDashboard();
|
|
138
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
139
|
+
if (WorkspaceHandlingTests.getWorkspaceName() !== 'undefined') {
|
|
140
|
+
await dashboard.deleteStoppedWorkspaceByUI(WorkspaceHandlingTests.getWorkspaceName());
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
});
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2020-2026 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
11
|
+
import { Workbench, ActivityBar, ViewControl } from 'monaco-page-objects';
|
|
12
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
13
|
+
import { expect } from 'chai';
|
|
14
|
+
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
15
|
+
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
16
|
+
import { LoginTests } from '../../tests-library/LoginTests';
|
|
17
|
+
import { registerRunningWorkspace } from '../MochaHooks';
|
|
18
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
19
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
20
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
21
|
+
import { CreateWorkspace } from '../../pageobjects/dashboard/CreateWorkspace';
|
|
22
|
+
import { Logger } from '../../utils/Logger';
|
|
23
|
+
|
|
24
|
+
suite(`"Create Empty Workspace sample" test ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
25
|
+
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
26
|
+
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
27
|
+
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
28
|
+
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
29
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
30
|
+
const createWorkspace: CreateWorkspace = e2eContainer.get(CLASSES.CreateWorkspace);
|
|
31
|
+
|
|
32
|
+
const stackName: string = 'Empty Workspace';
|
|
33
|
+
|
|
34
|
+
let firstWorkspaceName: string;
|
|
35
|
+
let secondWorkspaceName: string;
|
|
36
|
+
|
|
37
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
38
|
+
await loginTests.loginIntoChe();
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
async function waitDashboardPage(): Promise<void> {
|
|
42
|
+
await dashboard.openDashboard();
|
|
43
|
+
await dashboard.waitPage();
|
|
44
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
45
|
+
|
|
46
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
47
|
+
await createWorkspace.waitPage();
|
|
48
|
+
expect(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function waitWorkspaceReadiness(): Promise<void> {
|
|
52
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
53
|
+
const workbench: Workbench = new Workbench();
|
|
54
|
+
const activityBar: ActivityBar = workbench.getActivityBar();
|
|
55
|
+
const activityBarControls: ViewControl[] = await activityBar.getViewControls();
|
|
56
|
+
|
|
57
|
+
Logger.debug('Editor sections:');
|
|
58
|
+
for (const control of activityBarControls) {
|
|
59
|
+
Logger.debug(`${await control.getTitle()}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
test('Verify "Create New" is on and a new workspace is created without warnings', async function (): Promise<void> {
|
|
64
|
+
await waitDashboardPage();
|
|
65
|
+
|
|
66
|
+
// verify "Create New" checkbox is checked by default
|
|
67
|
+
expect(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
68
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName, true);
|
|
69
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
70
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
71
|
+
await waitWorkspaceReadiness();
|
|
72
|
+
|
|
73
|
+
firstWorkspaceName = WorkspaceHandlingTests.getWorkspaceName();
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
test('Verify "Create New" is off and a new workspace is created', async function (): Promise<void> {
|
|
77
|
+
await waitDashboardPage();
|
|
78
|
+
|
|
79
|
+
expect(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
80
|
+
await workspaceHandlingTests.createAndOpenWorkspace(stackName, false);
|
|
81
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
82
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
83
|
+
await waitWorkspaceReadiness();
|
|
84
|
+
|
|
85
|
+
secondWorkspaceName = WorkspaceHandlingTests.getWorkspaceName();
|
|
86
|
+
|
|
87
|
+
// empty Workspace sample generates unique names, so workspaces should have different names
|
|
88
|
+
expect(WorkspaceHandlingTests.getWorkspaceName()).not.to.be.equal(firstWorkspaceName);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
suiteTeardown('Stop and delete all created workspaces', async function (): Promise<void> {
|
|
92
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(firstWorkspaceName);
|
|
93
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(secondWorkspaceName);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
97
|
+
registerRunningWorkspace('');
|
|
98
|
+
});
|
|
99
|
+
});
|
|
@@ -150,6 +150,38 @@ export class WorkspaceHandlingTests {
|
|
|
150
150
|
Logger.info('Start workspace progress description: ' + alertDescription);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
+
async createAndOpenWorkspaceWithSpecificEditorAndSample(editor: string, sampleName: string, xPath: string): Promise<void> {
|
|
154
|
+
Logger.debug('Create and open workspace with specific Editor and Sample. Sample ' + editor);
|
|
155
|
+
await this.selectEditor(editor);
|
|
156
|
+
await this.createWorkspace.clickOnSampleNoEditorSelection(sampleName);
|
|
157
|
+
await this.waitForControlXpath(xPath);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
async createAndOpenWorkspaceWithSpecificEditorAndGitUrl(editor: string, sampleUrl: string, xPath: string): Promise<void> {
|
|
161
|
+
Logger.debug('Create and open workspace with specific Editor and URL. Sample ' + editor);
|
|
162
|
+
await this.selectEditor(editor);
|
|
163
|
+
await this.createWorkspace.importFromGitUsingUI(sampleUrl);
|
|
164
|
+
await this.waitForControlXpath(xPath);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
async selectEditor(editor: string): Promise<void> {
|
|
168
|
+
Logger.debug('select Editor. Editor: ' + editor);
|
|
169
|
+
await this.dashboard.openChooseEditorMenu();
|
|
170
|
+
await this.dashboard.chooseEditor(editor);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
async getTextFromUIElementByXpath(xpath: string): Promise<string> {
|
|
174
|
+
Logger.debug('returning text from xPath: ' + xpath);
|
|
175
|
+
return await this.driverHelper.getDriver().findElement(By.xpath(xpath)).getText();
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
private async waitForControlXpath(xPathToWait: string): Promise<void> {
|
|
179
|
+
await this.browserTabsUtil.waitAndSwitchToAnotherWindow(WorkspaceHandlingTests.parentGUID, TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
180
|
+
await this.obtainWorkspaceNameFromStartingPage();
|
|
181
|
+
|
|
182
|
+
await this.driverHelper.waitVisibility(By.xpath(xPathToWait), TIMEOUT_CONSTANTS.TS_SELENIUM_START_WORKSPACE_TIMEOUT);
|
|
183
|
+
}
|
|
184
|
+
|
|
153
185
|
private async getWorkspaceAlertDescription(): Promise<string> {
|
|
154
186
|
try {
|
|
155
187
|
return await this.driverHelper.getDriver().findElement(WorkspaceHandlingTests.WORKSPACE_ALERT_DESCRIPTION).getText();
|