@eclipse-che/che-e2e 7.46.1-dev-1c9cfd3 → 7.46.1-dev-409a251
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 +51 -2
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/testsLibrary/CodeExecutionTests.js +11 -4
- package/dist/testsLibrary/CodeExecutionTests.js.map +1 -1
- package/package.json +1 -1
- package/pageobjects/dashboard/Dashboard.ts +57 -2
- package/testsLibrary/CodeExecutionTests.ts +14 -5
|
@@ -32,10 +32,12 @@ const TestConstants_1 = require("../../TestConstants");
|
|
|
32
32
|
const TimeoutConstants_1 = require("../../TimeoutConstants");
|
|
33
33
|
const Workspaces_1 = require("./Workspaces");
|
|
34
34
|
const Logger_1 = require("../../utils/Logger");
|
|
35
|
+
const BrowserTabsUtil_1 = require("../../utils/BrowserTabsUtil");
|
|
35
36
|
let Dashboard = Dashboard_1 = class Dashboard {
|
|
36
|
-
constructor(driverHelper, workspaces) {
|
|
37
|
+
constructor(driverHelper, workspaces, browserTabsUtil) {
|
|
37
38
|
this.driverHelper = driverHelper;
|
|
38
39
|
this.workspaces = workspaces;
|
|
40
|
+
this.browserTabsUtil = browserTabsUtil;
|
|
39
41
|
}
|
|
40
42
|
async stopWorkspaceByUI(workspaceName) {
|
|
41
43
|
Logger_1.Logger.debug(`Dashboard.stopWorkspaceByUI "${workspaceName}"`);
|
|
@@ -61,9 +63,34 @@ let Dashboard = Dashboard_1 = class Dashboard {
|
|
|
61
63
|
await this.workspaces.deleteWorkspaceByActionsButton(workspaceName);
|
|
62
64
|
await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
|
|
63
65
|
}
|
|
66
|
+
async stopAndRemoveWorkspaceWithSelectingTab(workspaceName) {
|
|
67
|
+
Logger_1.Logger.debug(`Dashboard.stopAndRemoveWorkspaceWithSelectingTab "${workspaceName}"`);
|
|
68
|
+
await this.switchToDashboardTab();
|
|
69
|
+
await this.stopWorkspaceByUI(workspaceName);
|
|
70
|
+
await this.workspaces.deleteWorkspaceByActionsButton(workspaceName);
|
|
71
|
+
await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
|
|
72
|
+
}
|
|
64
73
|
async openDashboard() {
|
|
65
74
|
Logger_1.Logger.debug('Dashboard.openDashboard');
|
|
75
|
+
//sometimes we can have opened files. In this case we get Alert dialog. We should perform it.
|
|
66
76
|
await this.driverHelper.getDriver().navigate().to(TestConstants_1.TestConstants.TS_SELENIUM_BASE_URL);
|
|
77
|
+
try {
|
|
78
|
+
await this.waitPage();
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
if (err instanceof selenium_webdriver_1.error.UnexpectedAlertOpenError) {
|
|
82
|
+
this.driverHelper.getDriver().switchTo().alert().accept();
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
throw err;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
await this.waitPage();
|
|
89
|
+
}
|
|
90
|
+
// click on the Browser tab which has been registered in the WorkspaceHandlingTests class
|
|
91
|
+
async switchToDashboardTab() {
|
|
92
|
+
Logger_1.Logger.debug('Dashboard.openDashboardTab');
|
|
93
|
+
await this.findAndClickDashboardTab();
|
|
67
94
|
await this.waitPage();
|
|
68
95
|
}
|
|
69
96
|
async waitPage(timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
|
|
@@ -99,6 +126,26 @@ let Dashboard = Dashboard_1 = class Dashboard {
|
|
|
99
126
|
Logger_1.Logger.debug(`Dashboard.recentWorkspaceName`);
|
|
100
127
|
return await this.driverHelper.waitAndGetText(selenium_webdriver_1.By.css('[data-testid="recent-workspace-item"]'), timeout);
|
|
101
128
|
}
|
|
129
|
+
async findAndClickDashboardTab(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
130
|
+
Logger_1.Logger.debug('Dashboard.findAndClickDashboardTab');
|
|
131
|
+
await this.driverHelper.waitUntilTrue(async () => {
|
|
132
|
+
const windowHandles = await this.browserTabsUtil.getAllWindowHandles();
|
|
133
|
+
return windowHandles.length > 1;
|
|
134
|
+
}, timeout);
|
|
135
|
+
const windowHandles = await this.browserTabsUtil.getAllWindowHandles();
|
|
136
|
+
windowHandles.forEach(async (windowHandle) => {
|
|
137
|
+
await this.browserTabsUtil.switchToWindow(windowHandle);
|
|
138
|
+
try {
|
|
139
|
+
this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(Dashboard_1.CREATE_WORKSPACE_BUTTON_XPATH));
|
|
140
|
+
Logger_1.Logger.info('Dashboard tab has been selected');
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
catch (_a) {
|
|
144
|
+
Logger_1.Logger.warn('The Dashboard Tab is not found in the window: ' + this.browserTabsUtil.getCurrentWindowHandle());
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
Logger_1.Logger.warn('The Dashboard Tab is not opened');
|
|
148
|
+
}
|
|
102
149
|
};
|
|
103
150
|
Dashboard.WORKSPACES_BUTTON_XPATH = `//div[@id='page-sidebar']//a[contains(text(), 'Workspaces (')]`;
|
|
104
151
|
Dashboard.CREATE_WORKSPACE_BUTTON_XPATH = `//div[@id='page-sidebar']//a[text()='Create Workspace']`;
|
|
@@ -108,8 +155,10 @@ Dashboard = Dashboard_1 = __decorate([
|
|
|
108
155
|
inversify_1.injectable(),
|
|
109
156
|
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
110
157
|
__param(1, inversify_1.inject(inversify_types_1.CLASSES.Workspaces)),
|
|
158
|
+
__param(2, inversify_1.inject(inversify_types_1.CLASSES.BrowserTabsUtil)),
|
|
111
159
|
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
|
|
112
|
-
Workspaces_1.Workspaces
|
|
160
|
+
Workspaces_1.Workspaces,
|
|
161
|
+
BrowserTabsUtil_1.BrowserTabsUtil])
|
|
113
162
|
], Dashboard);
|
|
114
163
|
exports.Dashboard = Dashboard;
|
|
115
164
|
//# sourceMappingURL=Dashboard.js.map
|
|
@@ -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,2DAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,8 +38,8 @@ const DialogWindow_1 = require("../pageobjects/ide/DialogWindow");
|
|
|
38
38
|
const DriverHelper_1 = require("../utils/DriverHelper");
|
|
39
39
|
const Logger_1 = require("../utils/Logger");
|
|
40
40
|
const QuickOpenContainer_1 = require("../pageobjects/ide/QuickOpenContainer");
|
|
41
|
-
const WorkspaceHandlingTests_1 = require("./WorkspaceHandlingTests");
|
|
42
41
|
const BrowserTabsUtil_1 = require("../utils/BrowserTabsUtil");
|
|
42
|
+
const WorkspaceHandlingTests_1 = require("./WorkspaceHandlingTests");
|
|
43
43
|
let CodeExecutionTests = CodeExecutionTests_1 = class CodeExecutionTests {
|
|
44
44
|
constructor(terminal, topMenu, ide, dialogWindow, driverHelper, quickOpenContainer, browserTabsUtil, workspaceHandlingTests) {
|
|
45
45
|
this.terminal = terminal;
|
|
@@ -76,7 +76,6 @@ let CodeExecutionTests = CodeExecutionTests_1 = class CodeExecutionTests {
|
|
|
76
76
|
runTaskWithDialogShellAndOpenLink(taskName, expectedDialogText, timeout) {
|
|
77
77
|
test(`Run command '${taskName}' expecting dialog shell`, async () => {
|
|
78
78
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
79
|
-
this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
|
|
80
79
|
await this.dialogWindow.waitDialogAndOpenLink(expectedDialogText, timeout);
|
|
81
80
|
});
|
|
82
81
|
}
|
|
@@ -119,8 +118,12 @@ let CodeExecutionTests = CodeExecutionTests_1 = class CodeExecutionTests {
|
|
|
119
118
|
test(`Run command '${taskName}' expecting notification`, async () => {
|
|
120
119
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
121
120
|
await this.ide.waitNotification(notificationText, timeout);
|
|
122
|
-
|
|
121
|
+
// the application can have delay before running. Sometimes it consume about sec.
|
|
122
|
+
// todo improve the check of avalibility test application
|
|
123
|
+
await this.driverHelper.wait(10000);
|
|
123
124
|
await this.ide.clickOnNotificationButton(notificationText, buttonText);
|
|
125
|
+
// delay for openning an app. window
|
|
126
|
+
// todo may be improved.
|
|
124
127
|
await this.driverHelper.wait(5000);
|
|
125
128
|
CodeExecutionTests_1.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
|
|
126
129
|
});
|
|
@@ -133,7 +136,12 @@ let CodeExecutionTests = CodeExecutionTests_1 = class CodeExecutionTests {
|
|
|
133
136
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
134
137
|
await this.ide.waitNotification(notificationText, timeout);
|
|
135
138
|
this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
|
|
139
|
+
// the application can have delay before running. Sometimes it consume about sec.
|
|
140
|
+
// todo improve the check of avalibility test application
|
|
141
|
+
await this.driverHelper.wait(10000);
|
|
136
142
|
await this.ide.clickOnNotificationButton(notificationText, 'Open In Preview');
|
|
143
|
+
// delay for openning an app. window
|
|
144
|
+
// todo may be improved.
|
|
137
145
|
await this.driverHelper.wait(5000);
|
|
138
146
|
CodeExecutionTests_1.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
|
|
139
147
|
});
|
|
@@ -142,7 +150,6 @@ let CodeExecutionTests = CodeExecutionTests_1 = class CodeExecutionTests {
|
|
|
142
150
|
test(`Run command '${taskName}' expecting notification with unexposed port`, async () => {
|
|
143
151
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
144
152
|
await this.ide.waitNotificationAndConfirm(notificationText, timeout);
|
|
145
|
-
this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
|
|
146
153
|
await this.ide.waitNotificationAndOpenLink(portOpenText, timeout);
|
|
147
154
|
await this.driverHelper.wait(5000);
|
|
148
155
|
CodeExecutionTests_1.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeExecutionTests.js","sourceRoot":"","sources":["../../testsLibrary/CodeExecutionTests.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,kDAA0B;AAC1B,wDAA6C;AAC7C,yCAA+C;AAC/C,2DAAoD;AACpD,gDAA6C;AAC7C,0DAAuD;AACvD,wDAAqD;AACrD,kEAA+D;AAC/D,wDAAqD;AACrD,4CAAyC;AACzC,8EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"CodeExecutionTests.js","sourceRoot":"","sources":["../../testsLibrary/CodeExecutionTests.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
import { inject, injectable } from 'inversify';
|
|
11
11
|
import 'reflect-metadata';
|
|
12
12
|
import { CLASSES } from '../../inversify.types';
|
|
13
|
-
import { By } from 'selenium-webdriver';
|
|
13
|
+
import { By, error } from 'selenium-webdriver';
|
|
14
14
|
import { DriverHelper } from '../../utils/DriverHelper';
|
|
15
15
|
import { TestConstants } from '../../TestConstants';
|
|
16
16
|
import { TimeoutConstants } from '../../TimeoutConstants';
|
|
17
17
|
import { Workspaces } from './Workspaces';
|
|
18
18
|
import { Logger } from '../../utils/Logger';
|
|
19
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
19
20
|
|
|
20
21
|
@injectable()
|
|
21
22
|
export class Dashboard {
|
|
@@ -25,7 +26,9 @@ export class Dashboard {
|
|
|
25
26
|
private static readonly WORKSPACE_STARTING_PAGE_CSS: string = '.ide-loader-page';
|
|
26
27
|
|
|
27
28
|
constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
|
|
28
|
-
@inject(CLASSES.Workspaces) private readonly workspaces: Workspaces
|
|
29
|
+
@inject(CLASSES.Workspaces) private readonly workspaces: Workspaces,
|
|
30
|
+
@inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil,
|
|
31
|
+
) { }
|
|
29
32
|
|
|
30
33
|
async stopWorkspaceByUI(workspaceName: string) {
|
|
31
34
|
Logger.debug(`Dashboard.stopWorkspaceByUI "${workspaceName}"`);
|
|
@@ -58,11 +61,38 @@ export class Dashboard {
|
|
|
58
61
|
await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
|
|
59
62
|
}
|
|
60
63
|
|
|
64
|
+
async stopAndRemoveWorkspaceWithSelectingTab(workspaceName: string) {
|
|
65
|
+
Logger.debug(`Dashboard.stopAndRemoveWorkspaceWithSelectingTab "${workspaceName}"`);
|
|
66
|
+
await this.switchToDashboardTab()
|
|
67
|
+
await this.stopWorkspaceByUI(workspaceName);
|
|
68
|
+
await this.workspaces.deleteWorkspaceByActionsButton(workspaceName);
|
|
69
|
+
await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
|
|
70
|
+
}
|
|
71
|
+
|
|
61
72
|
async openDashboard() {
|
|
62
73
|
Logger.debug('Dashboard.openDashboard');
|
|
74
|
+
//sometimes we can have opened files. In this case we get Alert dialog. We should perform it.
|
|
63
75
|
await this.driverHelper.getDriver().navigate().to(TestConstants.TS_SELENIUM_BASE_URL);
|
|
76
|
+
|
|
77
|
+
try {
|
|
78
|
+
await this.waitPage();
|
|
79
|
+
} catch (err) {
|
|
80
|
+
if (err instanceof error.UnexpectedAlertOpenError) {
|
|
81
|
+
this.driverHelper.getDriver().switchTo().alert().accept();
|
|
82
|
+
} else {
|
|
83
|
+
throw err;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
}
|
|
64
87
|
await this.waitPage();
|
|
88
|
+
}
|
|
65
89
|
|
|
90
|
+
// click on the Browser tab which has been registered in the WorkspaceHandlingTests class
|
|
91
|
+
async switchToDashboardTab() {
|
|
92
|
+
Logger.debug('Dashboard.openDashboardTab');
|
|
93
|
+
|
|
94
|
+
await this.findAndClickDashboardTab();
|
|
95
|
+
await this.waitPage();
|
|
66
96
|
}
|
|
67
97
|
|
|
68
98
|
async waitPage(timeout: number = TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
|
|
@@ -114,4 +144,29 @@ export class Dashboard {
|
|
|
114
144
|
return await this.driverHelper.waitAndGetText(By.css('[data-testid="recent-workspace-item"]'), timeout);
|
|
115
145
|
}
|
|
116
146
|
|
|
147
|
+
async findAndClickDashboardTab(timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
148
|
+
Logger.debug('Dashboard.findAndClickDashboardTab');
|
|
149
|
+
|
|
150
|
+
await this.driverHelper.waitUntilTrue(async () => {
|
|
151
|
+
const windowHandles: string[] = await this.browserTabsUtil.getAllWindowHandles();
|
|
152
|
+
|
|
153
|
+
return windowHandles.length > 1;
|
|
154
|
+
}, timeout);
|
|
155
|
+
|
|
156
|
+
const windowHandles: string[] = await this.browserTabsUtil.getAllWindowHandles();
|
|
157
|
+
|
|
158
|
+
windowHandles.forEach(async windowHandle => {
|
|
159
|
+
await this.browserTabsUtil.switchToWindow(windowHandle);
|
|
160
|
+
try {
|
|
161
|
+
this.driverHelper.waitVisibility(By.xpath(Dashboard.CREATE_WORKSPACE_BUTTON_XPATH));
|
|
162
|
+
Logger.info('Dashboard tab has been selected')
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
Logger.warn('The Dashboard Tab is not found in the window: ' + this.browserTabsUtil.getCurrentWindowHandle())
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
Logger.warn('The Dashboard Tab is not opened')
|
|
170
|
+
}
|
|
171
|
+
|
|
117
172
|
}
|
|
@@ -20,8 +20,8 @@ import { DialogWindow } from '../pageobjects/ide/DialogWindow';
|
|
|
20
20
|
import { DriverHelper } from '../utils/DriverHelper';
|
|
21
21
|
import { Logger } from '../utils/Logger';
|
|
22
22
|
import { QuickOpenContainer } from '../pageobjects/ide/QuickOpenContainer';
|
|
23
|
-
import { WorkspaceHandlingTests } from './WorkspaceHandlingTests';
|
|
24
23
|
import { BrowserTabsUtil } from '../utils/BrowserTabsUtil';
|
|
24
|
+
import { WorkspaceHandlingTests } from './WorkspaceHandlingTests';
|
|
25
25
|
|
|
26
26
|
@injectable()
|
|
27
27
|
export class CodeExecutionTests {
|
|
@@ -36,7 +36,9 @@ export class CodeExecutionTests {
|
|
|
36
36
|
@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
|
|
37
37
|
@inject(CLASSES.QuickOpenContainer) private readonly quickOpenContainer: QuickOpenContainer,
|
|
38
38
|
@inject(CLASSES.BrowserTabsUtil) private readonly browserTabsUtil: BrowserTabsUtil,
|
|
39
|
-
@inject(CLASSES.WorkspaceHandlingTests) private readonly workspaceHandlingTests:
|
|
39
|
+
@inject(CLASSES.WorkspaceHandlingTests) private readonly workspaceHandlingTests:WorkspaceHandlingTests
|
|
40
|
+
|
|
41
|
+
) {}
|
|
40
42
|
|
|
41
43
|
public runTask(taskName: string, timeout: number) {
|
|
42
44
|
test(`Run command '${taskName}'`, async () => {
|
|
@@ -66,7 +68,6 @@ export class CodeExecutionTests {
|
|
|
66
68
|
public runTaskWithDialogShellAndOpenLink(taskName: string, expectedDialogText: string, timeout: number) {
|
|
67
69
|
test(`Run command '${taskName}' expecting dialog shell`, async () => {
|
|
68
70
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
69
|
-
this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
|
|
70
71
|
await this.dialogWindow.waitDialogAndOpenLink(expectedDialogText, timeout);
|
|
71
72
|
});
|
|
72
73
|
}
|
|
@@ -108,8 +109,12 @@ export class CodeExecutionTests {
|
|
|
108
109
|
test(`Run command '${taskName}' expecting notification`, async () => {
|
|
109
110
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
110
111
|
await this.ide.waitNotification(notificationText, timeout);
|
|
111
|
-
|
|
112
|
+
// the application can have delay before running. Sometimes it consume about sec.
|
|
113
|
+
// todo improve the check of avalibility test application
|
|
114
|
+
await this.driverHelper.wait(10_000);
|
|
112
115
|
await this.ide.clickOnNotificationButton(notificationText, buttonText);
|
|
116
|
+
// delay for openning an app. window
|
|
117
|
+
// todo may be improved.
|
|
113
118
|
await this.driverHelper.wait(5_000);
|
|
114
119
|
CodeExecutionTests.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
|
|
115
120
|
});
|
|
@@ -123,7 +128,12 @@ export class CodeExecutionTests {
|
|
|
123
128
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
124
129
|
await this.ide.waitNotification(notificationText, timeout);
|
|
125
130
|
this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
|
|
131
|
+
// the application can have delay before running. Sometimes it consume about sec.
|
|
132
|
+
// todo improve the check of avalibility test application
|
|
133
|
+
await this.driverHelper.wait(10_000);
|
|
126
134
|
await this.ide.clickOnNotificationButton(notificationText, 'Open In Preview');
|
|
135
|
+
// delay for openning an app. window
|
|
136
|
+
// todo may be improved.
|
|
127
137
|
await this.driverHelper.wait(5_000);
|
|
128
138
|
CodeExecutionTests.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
|
|
129
139
|
});
|
|
@@ -133,7 +143,6 @@ export class CodeExecutionTests {
|
|
|
133
143
|
test(`Run command '${taskName}' expecting notification with unexposed port`, async () => {
|
|
134
144
|
await this.runTaskUsingQuickOpenContainer(taskName);
|
|
135
145
|
await this.ide.waitNotificationAndConfirm(notificationText, timeout);
|
|
136
|
-
this.workspaceHandlingTests.setWindowHandle(await this.browserTabsUtil.getCurrentWindowHandle());
|
|
137
146
|
await this.ide.waitNotificationAndOpenLink(portOpenText, timeout);
|
|
138
147
|
await this.driverHelper.wait(5_000);
|
|
139
148
|
CodeExecutionTests.lastApplicationUrl = await this.driverHelper.getDriver().getCurrentUrl();
|