@eclipse-che/che-e2e 7.41.0-dev-fcb04b7 → 7.41.0-dev-7e33489
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.
|
@@ -20,7 +20,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
20
20
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
21
21
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
22
22
|
};
|
|
23
|
-
var Terminal_1;
|
|
24
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
24
|
exports.Terminal = void 0;
|
|
26
25
|
const inversify_1 = require("inversify");
|
|
@@ -30,7 +29,7 @@ const selenium_webdriver_1 = require("selenium-webdriver");
|
|
|
30
29
|
const Logger_1 = require("../../utils/Logger");
|
|
31
30
|
const TimeoutConstants_1 = require("../../TimeoutConstants");
|
|
32
31
|
const TestConstants_1 = require("../../TestConstants");
|
|
33
|
-
let Terminal =
|
|
32
|
+
let Terminal = class Terminal {
|
|
34
33
|
constructor(driverHelper) {
|
|
35
34
|
this.driverHelper = driverHelper;
|
|
36
35
|
}
|
|
@@ -71,8 +70,8 @@ let Terminal = Terminal_1 = class Terminal {
|
|
|
71
70
|
}
|
|
72
71
|
async type(terminalTabTitle, text) {
|
|
73
72
|
Logger_1.Logger.debug(`Terminal.type "${terminalTabTitle}"`);
|
|
74
|
-
const
|
|
75
|
-
const terminalInteractionContainer = this.getTerminalEditorInteractionEditorLocator(
|
|
73
|
+
const terminalID = await this.getTerminalID(terminalTabTitle);
|
|
74
|
+
const terminalInteractionContainer = this.getTerminalEditorInteractionEditorLocator(terminalID);
|
|
76
75
|
await this.driverHelper.typeToInvisible(terminalInteractionContainer, text);
|
|
77
76
|
}
|
|
78
77
|
async rejectTerminalProcess(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT) {
|
|
@@ -82,9 +81,10 @@ let Terminal = Terminal_1 = class Terminal {
|
|
|
82
81
|
}
|
|
83
82
|
async getText(terminalTab, timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT) {
|
|
84
83
|
Logger_1.Logger.debug(`Terminal.getText tab: ${terminalTab}`);
|
|
85
|
-
const
|
|
84
|
+
const terminalID = await this.getTerminalID(terminalTab);
|
|
85
|
+
const terminalRowsLocator = this.getTerminalEditorTerminalRowsLocator(terminalID);
|
|
86
86
|
await this.selectTerminalTab(terminalTab, timeout);
|
|
87
|
-
return await this.driverHelper.waitAndGetText(
|
|
87
|
+
return await this.driverHelper.waitAndGetText(terminalRowsLocator, timeout);
|
|
88
88
|
}
|
|
89
89
|
async getTextFromProblemsTab(timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT) {
|
|
90
90
|
Logger_1.Logger.debug(`Terminal.getTextFromProblemsTab`);
|
|
@@ -94,10 +94,11 @@ let Terminal = Terminal_1 = class Terminal {
|
|
|
94
94
|
async selectTabByPrefixAndWaitText(terminalTab, expectedText, timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT) {
|
|
95
95
|
Logger_1.Logger.debug(`Terminal.selectTabByPrefixAndWaitText tab: ${terminalTab} text: ${expectedText}`);
|
|
96
96
|
const terminalTabLocatorWithPreffix = `//li[contains(@title, '${terminalTab}')]`;
|
|
97
|
-
const
|
|
97
|
+
const terminalID = await this.getTerminalID(terminalTab);
|
|
98
|
+
const terminalRowsLocator = this.getTerminalEditorTerminalRowsLocator(terminalID);
|
|
98
99
|
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(terminalTabLocatorWithPreffix), timeout);
|
|
99
100
|
await this.driverHelper.waitUntilTrue(async () => {
|
|
100
|
-
const terminalText = await this.driverHelper.waitAndGetText(
|
|
101
|
+
const terminalText = await this.driverHelper.waitAndGetText(terminalRowsLocator, timeout);
|
|
101
102
|
return terminalText.includes(expectedText);
|
|
102
103
|
}, timeout);
|
|
103
104
|
}
|
|
@@ -156,46 +157,25 @@ let Terminal = Terminal_1 = class Terminal {
|
|
|
156
157
|
getFocusedTerminalTabLocator(tabTitle) {
|
|
157
158
|
return selenium_webdriver_1.By.css(`li[title='${tabTitle}'].p-mod-current.theia-mod-active`);
|
|
158
159
|
}
|
|
159
|
-
async
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
if ((err instanceof selenium_webdriver_1.error.NoSuchElementError) && (i === 9)) {
|
|
169
|
-
throw err;
|
|
170
|
-
}
|
|
171
|
-
await this.driverHelper.wait(2000);
|
|
172
|
-
}
|
|
160
|
+
async getTerminalID(terminalTitle) {
|
|
161
|
+
const terminalTabXpathLocator = `//div[@id='theia-bottom-content-panel']//li[contains(@title, '${terminalTitle}')]`;
|
|
162
|
+
const terminalTabs = await this.driverHelper.waitAllPresence(selenium_webdriver_1.By.xpath(terminalTabXpathLocator));
|
|
163
|
+
if (terminalTabs.length > 1) {
|
|
164
|
+
throw new selenium_webdriver_1.error.InvalidSelectorError(`Terminal.getTerminalID Selector is too generic, found more than one terminal with title:${terminalTitle}`);
|
|
165
|
+
}
|
|
166
|
+
if (terminalTabs.length === 1) {
|
|
167
|
+
return await (await terminalTabs[0].getAttribute('id')).replace('shell-tab-', '');
|
|
173
168
|
}
|
|
174
169
|
throw new selenium_webdriver_1.error.NoSuchElementError(`The terminal with title '${terminalTitle}' has not been found.`);
|
|
175
170
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
`//li[contains(@id, 'shell-tab-terminal') or contains(@id, 'shell-tab-plugin')]` +
|
|
179
|
-
`//div[@class='p-TabBar-tabLabel']`;
|
|
180
|
-
const terminalTabs = await this.driverHelper.waitAllPresence(selenium_webdriver_1.By.xpath(terminalTabTitleXpathLocator));
|
|
181
|
-
let terminalTitles = [];
|
|
182
|
-
for (let i = 1; i <= terminalTabs.length; i++) {
|
|
183
|
-
const terminalTabLocator = selenium_webdriver_1.By.xpath(`(${terminalTabTitleXpathLocator})[${i}]`);
|
|
184
|
-
const currentTerminalTitle = await this.driverHelper.waitAndGetText(terminalTabLocator);
|
|
185
|
-
if (currentTerminalTitle.search(terminalTitle) > -1) {
|
|
186
|
-
return i;
|
|
187
|
-
}
|
|
188
|
-
terminalTitles.push(currentTerminalTitle);
|
|
189
|
-
}
|
|
190
|
-
throw new selenium_webdriver_1.error.NoSuchElementError(`The terminal with title '${terminalTitle}' has not been found.\n` +
|
|
191
|
-
` > List of the tabs:\n > ${terminalTitles}`);
|
|
171
|
+
getTerminalEditorInteractionEditorLocator(terminalID) {
|
|
172
|
+
return selenium_webdriver_1.By.xpath(`//div[@id='${terminalID}']//textarea[@aria-label='Terminal input']`);
|
|
192
173
|
}
|
|
193
|
-
|
|
194
|
-
return selenium_webdriver_1.By.xpath(
|
|
174
|
+
getTerminalEditorTerminalRowsLocator(terminalID) {
|
|
175
|
+
return selenium_webdriver_1.By.xpath(`//div[@id='${terminalID}']//div[@class='xterm-rows xterm-focus']`);
|
|
195
176
|
}
|
|
196
177
|
};
|
|
197
|
-
Terminal
|
|
198
|
-
Terminal = Terminal_1 = __decorate([
|
|
178
|
+
Terminal = __decorate([
|
|
199
179
|
inversify_1.injectable(),
|
|
200
180
|
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
201
181
|
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../../pageobjects/ide/Terminal.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE
|
|
1
|
+
{"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../../pageobjects/ide/Terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VscodeValePlugin.spec.js","sourceRoot":"","sources":["../../../tests/plugins/VscodeValePlugin.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;AAExE,2DAAyC;AACzC,6DAAsD;AACtD,2DAAgD;AAIhD,uDAAoD;AACpD,6DAA0D;AAG1D,+CAA4C;AAE5C,2EAAmD;AAGnD,MAAM,GAAG,GAAQ,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAgB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,WAAW,CAAC,CAAC;AACvE,MAAM,MAAM,GAAW,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,MAAM,CAAC,CAAC;AACxD,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;AACnF,MAAM,QAAQ,GAAa,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,QAAQ,CAAC,CAAC;AAC9D,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;AACxG,MAAM,oBAAoB,GAAyB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,oBAAoB,CAAC,CAAC;AAElG,MAAM,UAAU,GAAW,2GAA2G,CAAC;AACvI,MAAM,UAAU,GAAW,GAAG,6BAAa,CAAC,oBAAoB,UAAU,UAAU,EAAE,CAAC;AACvF,MAAM,WAAW,GAAW,UAAU,CAAC;AACvC,MAAM,UAAU,GAAW,GAAG,WAAW,wCAAwC,CAAC;AAClF,MAAM,WAAW,GAAW,oCAAoC,CAAC;AACjE,IAAI,aAAa,GAAW,EAAE,CAAC;AAE/B,KAAK,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;IACjD,KAAK,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACjC,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC;YACpC,aAAa,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,CAAC;YAC5D,qBAAW,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;YAEpD,MAAM,GAAG,CAAC,OAAO,CAAC,mCAAgB,CAAC,mCAAmC,CAAC,CAAC;YACxE,MAAM,GAAG,CAAC,gCAAgC,CAAC,6BAA6B,EAAE,cAAc,EAAE,KAAM,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAClD,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7C,MAAM,WAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,WAAW,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACjE,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"VscodeValePlugin.spec.js","sourceRoot":"","sources":["../../../tests/plugins/VscodeValePlugin.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,6 @@ import { TestConstants } from '../../TestConstants';
|
|
|
18
18
|
|
|
19
19
|
@injectable()
|
|
20
20
|
export class Terminal {
|
|
21
|
-
private static readonly TERMINAL_ROWS_XPATH_LOCATOR_PREFFIX = '(//div[contains(@class, \'terminal-container\')]//div[contains(@class, \'terminal\')]//div[contains(@class, \'xterm-rows\')])';
|
|
22
21
|
constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { }
|
|
23
22
|
|
|
24
23
|
async waitTab(tabTitle: string, timeout: number = TimeoutConstants.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT) {
|
|
@@ -79,8 +78,8 @@ export class Terminal {
|
|
|
79
78
|
async type(terminalTabTitle: string, text: string) {
|
|
80
79
|
Logger.debug(`Terminal.type "${terminalTabTitle}"`);
|
|
81
80
|
|
|
82
|
-
const
|
|
83
|
-
const terminalInteractionContainer: By = this.getTerminalEditorInteractionEditorLocator(
|
|
81
|
+
const terminalID: string = await this.getTerminalID(terminalTabTitle);
|
|
82
|
+
const terminalInteractionContainer: By = this.getTerminalEditorInteractionEditorLocator(terminalID);
|
|
84
83
|
|
|
85
84
|
await this.driverHelper.typeToInvisible(terminalInteractionContainer, text);
|
|
86
85
|
}
|
|
@@ -95,9 +94,10 @@ export class Terminal {
|
|
|
95
94
|
async getText(terminalTab: string, timeout: number = TimeoutConstants.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT): Promise<string> {
|
|
96
95
|
Logger.debug(`Terminal.getText tab: ${terminalTab}`);
|
|
97
96
|
|
|
98
|
-
const
|
|
97
|
+
const terminalID: string = await this.getTerminalID(terminalTab);
|
|
98
|
+
const terminalRowsLocator: By = this.getTerminalEditorTerminalRowsLocator(terminalID);
|
|
99
99
|
await this.selectTerminalTab(terminalTab, timeout);
|
|
100
|
-
return await this.driverHelper.waitAndGetText(
|
|
100
|
+
return await this.driverHelper.waitAndGetText(terminalRowsLocator, timeout);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
async getTextFromProblemsTab(timeout: number = TimeoutConstants.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT): Promise<string> {
|
|
@@ -112,13 +112,13 @@ export class Terminal {
|
|
|
112
112
|
Logger.debug(`Terminal.selectTabByPrefixAndWaitText tab: ${terminalTab} text: ${expectedText}`);
|
|
113
113
|
|
|
114
114
|
const terminalTabLocatorWithPreffix: string = `//li[contains(@title, '${terminalTab}')]`;
|
|
115
|
-
const
|
|
115
|
+
const terminalID: string = await this.getTerminalID(terminalTab);
|
|
116
|
+
const terminalRowsLocator: By = this.getTerminalEditorTerminalRowsLocator(terminalID);
|
|
116
117
|
|
|
117
118
|
await this.driverHelper.waitAndClick(By.xpath(terminalTabLocatorWithPreffix), timeout);
|
|
118
119
|
await this.driverHelper.waitUntilTrue(async () => {
|
|
119
|
-
const terminalText: string = await this.driverHelper.waitAndGetText(
|
|
120
|
+
const terminalText: string = await this.driverHelper.waitAndGetText(terminalRowsLocator, timeout);
|
|
120
121
|
return terminalText.includes(expectedText);
|
|
121
|
-
|
|
122
122
|
}, timeout);
|
|
123
123
|
}
|
|
124
124
|
|
|
@@ -193,53 +193,27 @@ export class Terminal {
|
|
|
193
193
|
return By.css(`li[title='${tabTitle}'].p-mod-current.theia-mod-active`);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
private async
|
|
197
|
-
|
|
198
|
-
try {
|
|
199
|
-
return await this.searchTerminalIndex(terminalTitle);
|
|
200
|
-
} catch (err) {
|
|
201
|
-
if (!(err instanceof error.NoSuchElementError)) {
|
|
202
|
-
throw err;
|
|
203
|
-
}
|
|
196
|
+
private async getTerminalID(terminalTitle: string): Promise<string> {
|
|
197
|
+
const terminalTabXpathLocator: string = `//div[@id='theia-bottom-content-panel']//li[contains(@title, '${terminalTitle}')]`;
|
|
204
198
|
|
|
205
|
-
|
|
206
|
-
throw err;
|
|
207
|
-
}
|
|
199
|
+
const terminalTabs: WebElement[] = await this.driverHelper.waitAllPresence(By.xpath(terminalTabXpathLocator));
|
|
208
200
|
|
|
209
|
-
|
|
210
|
-
}
|
|
201
|
+
if (terminalTabs.length > 1) {
|
|
202
|
+
throw new error.InvalidSelectorError(`Terminal.getTerminalID Selector is too generic, found more than one terminal with title:${terminalTitle}`);
|
|
203
|
+
}
|
|
204
|
+
if (terminalTabs.length === 1) {
|
|
205
|
+
return await (await terminalTabs[0].getAttribute('id')).replace('shell-tab-', '');
|
|
211
206
|
}
|
|
212
207
|
|
|
213
208
|
throw new error.NoSuchElementError(`The terminal with title '${terminalTitle}' has not been found.`);
|
|
214
209
|
}
|
|
215
210
|
|
|
216
|
-
private
|
|
217
|
-
|
|
218
|
-
`//li[contains(@id, 'shell-tab-terminal') or contains(@id, 'shell-tab-plugin')]` +
|
|
219
|
-
`//div[@class='p-TabBar-tabLabel']`;
|
|
220
|
-
|
|
221
|
-
const terminalTabs: WebElement[] = await this.driverHelper.waitAllPresence(By.xpath(terminalTabTitleXpathLocator));
|
|
222
|
-
let terminalTitles: string[] = [];
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
for (let i: number = 1; i <= terminalTabs.length; i++) {
|
|
226
|
-
const terminalTabLocator: By = By.xpath(`(${terminalTabTitleXpathLocator})[${i}]`);
|
|
227
|
-
const currentTerminalTitle: string = await this.driverHelper.waitAndGetText(terminalTabLocator);
|
|
228
|
-
|
|
229
|
-
if (currentTerminalTitle.search(terminalTitle) > -1) {
|
|
230
|
-
return i;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
terminalTitles.push(currentTerminalTitle);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
throw new error.NoSuchElementError(`The terminal with title '${terminalTitle}' has not been found.\n` +
|
|
237
|
-
` > List of the tabs:\n > ${terminalTitles}`);
|
|
238
|
-
|
|
211
|
+
private getTerminalEditorInteractionEditorLocator(terminalID: string): By {
|
|
212
|
+
return By.xpath(`//div[@id='${terminalID}']//textarea[@aria-label='Terminal input']`);
|
|
239
213
|
}
|
|
240
214
|
|
|
241
|
-
private
|
|
242
|
-
return By.xpath(
|
|
215
|
+
private getTerminalEditorTerminalRowsLocator(terminalID: string): By {
|
|
216
|
+
return By.xpath(`//div[@id='${terminalID}']//div[@class='xterm-rows xterm-focus']`);
|
|
243
217
|
}
|
|
244
218
|
|
|
245
219
|
}
|
|
@@ -64,7 +64,7 @@ suite('The "VscodeValePlugin" userstory', async () => {
|
|
|
64
64
|
suite('Check the "vale" plugin', async () => {
|
|
65
65
|
test('Check warning in the editor appearance', async () => {
|
|
66
66
|
await projectTree.expandPathAndOpenFile(pathToFile, docFileName);
|
|
67
|
-
await editor.waitInfoInLine(16,docFileName);
|
|
67
|
+
await editor.waitInfoInLine(16, docFileName);
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
test('Open the "Problems" terminal tab', async () => {
|