@eclipse-che/che-e2e 7.58.1-dev-43d35ee → 7.58.1-dev-ffb0b4b
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/TestConstants.js +244 -0
- package/dist/TestConstants.js.map +1 -0
- package/dist/TimeoutConstants.js +184 -0
- package/dist/TimeoutConstants.js.map +1 -0
- package/dist/driver/CheReporter.js +171 -0
- package/dist/driver/CheReporter.js.map +1 -0
- package/dist/driver/ChromeDriver.js +77 -0
- package/dist/driver/ChromeDriver.js.map +1 -0
- package/dist/driver/IDriver.js +3 -0
- package/dist/driver/IDriver.js.map +1 -0
- package/dist/index.js +94 -0
- package/dist/index.js.map +1 -0
- package/dist/inversify.config.js +132 -0
- package/dist/inversify.config.js.map +1 -0
- package/dist/inversify.types.js +75 -0
- package/dist/inversify.types.js.map +1 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js +106 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
- package/dist/pageobjects/dashboard/Dashboard.js +115 -0
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
- package/dist/pageobjects/dashboard/Workspaces.js +165 -0
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +138 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +97 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -0
- package/dist/pageobjects/ide/theia/ContextMenu.js +66 -0
- package/dist/pageobjects/ide/theia/ContextMenu.js.map +1 -0
- package/dist/pageobjects/ide/theia/DebugView.js +98 -0
- package/dist/pageobjects/ide/theia/DebugView.js.map +1 -0
- package/dist/pageobjects/ide/theia/DialogWindow.js +102 -0
- package/dist/pageobjects/ide/theia/DialogWindow.js.map +1 -0
- package/dist/pageobjects/ide/theia/Editor.js +463 -0
- package/dist/pageobjects/ide/theia/Editor.js.map +1 -0
- package/dist/pageobjects/ide/theia/Ide.js +336 -0
- package/dist/pageobjects/ide/theia/Ide.js.map +1 -0
- package/dist/pageobjects/ide/theia/LeftToolBar.js +81 -0
- package/dist/pageobjects/ide/theia/LeftToolBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/NavigationBar.js +57 -0
- package/dist/pageobjects/ide/theia/NavigationBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/NotificationCenter.js +76 -0
- package/dist/pageobjects/ide/theia/NotificationCenter.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js +100 -0
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenEditors.js +73 -0
- package/dist/pageobjects/ide/theia/OpenEditors.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +62 -0
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/PreviewWidget.js +134 -0
- package/dist/pageobjects/ide/theia/PreviewWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/ProjectTree.js +282 -0
- package/dist/pageobjects/ide/theia/ProjectTree.js.map +1 -0
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js +70 -0
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +1 -0
- package/dist/pageobjects/ide/theia/RightToolBar.js +51 -0
- package/dist/pageobjects/ide/theia/RightToolBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/Terminal.js +184 -0
- package/dist/pageobjects/ide/theia/Terminal.js.map +1 -0
- package/dist/pageobjects/ide/theia/TopMenu.js +109 -0
- package/dist/pageobjects/ide/theia/TopMenu.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +128 -0
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +120 -0
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +107 -0
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +99 -0
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js +166 -0
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +1 -0
- package/dist/pageobjects/login/ICheLoginPage.js +12 -0
- package/dist/pageobjects/login/ICheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/IOcpLoginPage.js +12 -0
- package/dist/pageobjects/login/IOcpLoginPage.js.map +1 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js +49 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js +53 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +86 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js +74 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -0
- package/dist/pageobjects/openshift/CheLoginPage.js +88 -0
- package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js +106 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js +85 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +110 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -0
- package/dist/tests/MochaHooks.js +65 -0
- package/dist/tests/MochaHooks.js.map +1 -0
- package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js +48 -0
- package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +73 -0
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +47 -0
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/DotNetCore.spec.js +81 -0
- package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Go.spec.js +72 -0
- package/dist/tests/devfiles/theia/Go.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaMaven.spec.js +60 -0
- package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +66 -0
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaVertx.spec.js +60 -0
- package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/NodeJS.spec.js +64 -0
- package/dist/tests/devfiles/theia/NodeJS.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/PHPSimple.spec.js +74 -0
- package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Python.spec.js +58 -0
- package/dist/tests/devfiles/theia/Python.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/PythonDjango.spec.js +61 -0
- package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Quarkus.spec.js +69 -0
- package/dist/tests/devfiles/theia/Quarkus.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Scala.spec.js +66 -0
- package/dist/tests/devfiles/theia/Scala.spec.js.map +1 -0
- package/dist/tests/e2e/theia/FactoryUrl.spec.js +40 -0
- package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js +90 -0
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +90 -0
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitSsh.spec.js +120 -0
- package/dist/tests/e2e/theia/GitSsh.spec.js.map +1 -0
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +124 -0
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +50 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +48 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +48 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +277 -0
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +314 -0
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +1 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +39 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +1 -0
- package/dist/tests/load_test/theia/LoadTest.spec.js +41 -0
- package/dist/tests/load_test/theia/LoadTest.spec.js.map +1 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js +39 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +1 -0
- package/dist/tests/login/Login.spec.js +28 -0
- package/dist/tests/login/Login.spec.js.map +1 -0
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +117 -0
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +62 -0
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +1 -0
- package/dist/tests/plugins/theia/JavaPlugin.spec.js +82 -0
- package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/PhpPlugin.spec.js +96 -0
- package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/PythonPlugin.spec.js +72 -0
- package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +135 -0
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +69 -0
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +82 -0
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +70 -0
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +81 -0
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +78 -0
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +1 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js +140 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -0
- package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js +54 -0
- package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js.map +1 -0
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +248 -0
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +1 -0
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +230 -0
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +1 -0
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +133 -0
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +1 -0
- package/dist/utils/AnimationChecker.js +45 -0
- package/dist/utils/AnimationChecker.js.map +1 -0
- package/dist/utils/BrowserTabsUtil.js +115 -0
- package/dist/utils/BrowserTabsUtil.js.map +1 -0
- package/dist/utils/DriverHelper.js +616 -0
- package/dist/utils/DriverHelper.js.map +1 -0
- package/dist/utils/Logger.js +84 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/Sanitizer.js +29 -0
- package/dist/utils/Sanitizer.js.map +1 -0
- package/dist/utils/ScreenCatcher.js +107 -0
- package/dist/utils/ScreenCatcher.js.map +1 -0
- package/dist/utils/VCS/CheGitApi.js +42 -0
- package/dist/utils/VCS/CheGitApi.js.map +1 -0
- package/dist/utils/VCS/github/GitHubUtil.js +126 -0
- package/dist/utils/VCS/github/GitHubUtil.js.map +1 -0
- package/dist/utils/WorkspaceNameHandler.js +60 -0
- package/dist/utils/WorkspaceNameHandler.js.map +1 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js +126 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +49 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +12 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +50 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js +12 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +1 -0
- package/dist/utils/theia/PreferencesHandlerTheia.js +142 -0
- package/dist/utils/theia/PreferencesHandlerTheia.js.map +1 -0
- package/dist/utils/workspace/ApiUrlResolver.js +67 -0
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js +357 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/WorkspaceStatus.js +19 -0
- package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../pageobjects/ide/theia/ContextMenu.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,yCAA+C;AAC/C,8DAA2D;AAC3D,8DAAmD;AACnD,2DAAyD;AACzD,kDAA+C;AAC/C,gEAA6D;AAG7D,IAAa,WAAW,mBAAxB,MAAa,WAAW;IAGnB,YAA2D,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAI,CAAC;IAG1F,KAAK,CAAC,sCAAsC,CAAC,cAAkB;QAC1D,eAAM,CAAC,KAAK,CAAC,sDAAsD,cAAc,EAAE,CAAC,CAAC;QAErF,MAAM,UAAU,GAAe,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc,EAAE,mCAAgB,CAAC,uBAAuB,CAAC,CAAC;QAChI,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,wCAAwC;QACzC,eAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAErE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,wBAAG,CAAC,KAAK,GAAG,wBAAG,CAAC,GAAG,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QACjD,eAAM,CAAC,KAAK,CAAC,8CAA8C,UAAU,GAAG,CAAC,CAAC;QAE1E,MAAM,WAAW,GAAW,+CAA+C,UAAU,IAAI,CAAC;QAC1F,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,uBAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,mCAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,eAAe;QAChB,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,uBAAE,CAAC,GAAG,CAAC,aAAW,CAAC,0BAA0B,CAAC,EAAE,mCAAgB,CAAC,uBAAuB,CAAC,CAAC;IACtI,CAAC;CAEL,CAAA;AAlC4B,sCAA0B,GAAW,mBAAmB,CAAC;AADzE,WAAW;IADvB,sBAAU,EAAE;IAIK,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCAAgC,2BAAY;GAH7E,WAAW,CAmCvB;AAnCY,kCAAW"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************
|
|
3
|
+
* Copyright (c) 2019 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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
12
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
+
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;
|
|
15
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
|
+
};
|
|
17
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
19
|
+
};
|
|
20
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
21
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.DebugView = void 0;
|
|
25
|
+
const inversify_1 = require("inversify");
|
|
26
|
+
const inversify_types_1 = require("../../../inversify.types");
|
|
27
|
+
const TestConstants_1 = require("../../../TestConstants");
|
|
28
|
+
const DriverHelper_1 = require("../../../utils/DriverHelper");
|
|
29
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
30
|
+
const Ide_1 = require("./Ide");
|
|
31
|
+
const Logger_1 = require("../../../utils/Logger");
|
|
32
|
+
const TimeoutConstants_1 = require("../../../TimeoutConstants");
|
|
33
|
+
const AnimationChecker_1 = require("../../../utils/AnimationChecker");
|
|
34
|
+
let DebugView = class DebugView {
|
|
35
|
+
constructor(driverHelper, ide, animationChecker) {
|
|
36
|
+
this.driverHelper = driverHelper;
|
|
37
|
+
this.ide = ide;
|
|
38
|
+
this.animationChecker = animationChecker;
|
|
39
|
+
}
|
|
40
|
+
async clickOnDebugConfigurationDropDown() {
|
|
41
|
+
Logger_1.Logger.debug('DebugView.clickOnDebugConfigurationDropDown');
|
|
42
|
+
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.css('select.debug-configuration'));
|
|
43
|
+
}
|
|
44
|
+
async clickOnDebugConfigurationItem(itemText, timeout = TimeoutConstants_1.TimeoutConstants.TS_DEBUGGER_CONFIGURATION_VISIBILITY_TIMEOUT) {
|
|
45
|
+
Logger_1.Logger.debug(`DebugView.clickOnDebugConfigurationItem "${itemText}"`);
|
|
46
|
+
const configurationItemLocator = selenium_webdriver_1.By.xpath(`//select[contains(@class,'debug-configuration')]//option[text()=\'${itemText}\']`);
|
|
47
|
+
await this.animationChecker.waitDropDownAnimationEnd();
|
|
48
|
+
await this.driverHelper.waitAndClick(configurationItemLocator, timeout);
|
|
49
|
+
await this.ide.performKeyCombination(selenium_webdriver_1.Key.ESCAPE);
|
|
50
|
+
}
|
|
51
|
+
async clickOnRunDebugButton() {
|
|
52
|
+
Logger_1.Logger.debug('DebugView.clickOnRunDebugButton');
|
|
53
|
+
const runDebugButtonLocator = selenium_webdriver_1.By.xpath('//span[@title=\'Start Debugging\']');
|
|
54
|
+
await this.driverHelper.waitAndClick(runDebugButtonLocator, TimeoutConstants_1.TimeoutConstants.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Waits for number of threads in "Threads" view to be more than 1 - this should mean that the debugger is connected.
|
|
58
|
+
*
|
|
59
|
+
* @param timeout
|
|
60
|
+
*/
|
|
61
|
+
async waitForDebuggerToConnect(timeout = TimeoutConstants_1.TimeoutConstants.TS_DEBUGGER_CONNECTION_TIMEOUT) {
|
|
62
|
+
await this.driverHelper.getDriver().wait(async () => {
|
|
63
|
+
Logger_1.Logger.debug(`Waiting for debugger to connect (threads to appear in "Threads" view)`);
|
|
64
|
+
const threadsTreeLocator = `//div[contains(@class, 'theia-debug-thread')]`;
|
|
65
|
+
try {
|
|
66
|
+
const threadElements = await this.driverHelper.waitAllPresence(selenium_webdriver_1.By.xpath(threadsTreeLocator));
|
|
67
|
+
if (threadElements.length > 1) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
if (!(err instanceof selenium_webdriver_1.error.TimeoutError)) {
|
|
73
|
+
throw err;
|
|
74
|
+
}
|
|
75
|
+
return await this.driverHelper.wait(TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING);
|
|
76
|
+
}
|
|
77
|
+
}, timeout);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Click on "Threads" view title.
|
|
81
|
+
*/
|
|
82
|
+
async clickOnThreadsViewTitle() {
|
|
83
|
+
Logger_1.Logger.debug(`Click on "Threads" view title`);
|
|
84
|
+
const threadsViewTitleLocator = selenium_webdriver_1.By.xpath('//div[@id="debug:view-container:-1--debug:threads:-1"]/*/span[@title="Threads"]');
|
|
85
|
+
await this.driverHelper.waitAndClick(threadsViewTitleLocator);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
DebugView = __decorate([
|
|
89
|
+
inversify_1.injectable(),
|
|
90
|
+
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
91
|
+
__param(1, inversify_1.inject(inversify_types_1.CLASSES.Ide)),
|
|
92
|
+
__param(2, inversify_1.inject(inversify_types_1.CLASSES.AnimationChecker)),
|
|
93
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
|
|
94
|
+
Ide_1.Ide,
|
|
95
|
+
AnimationChecker_1.AnimationChecker])
|
|
96
|
+
], DebugView);
|
|
97
|
+
exports.DebugView = DebugView;
|
|
98
|
+
//# sourceMappingURL=DebugView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugView.js","sourceRoot":"","sources":["../../../../pageobjects/ide/theia/DebugView.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************
|
|
3
|
+
* Copyright (c) 2019 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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
12
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
+
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;
|
|
15
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
|
+
};
|
|
17
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
19
|
+
};
|
|
20
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
21
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
22
|
+
};
|
|
23
|
+
var DialogWindow_1;
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.DialogWindow = void 0;
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
const inversify_types_1 = require("../../../inversify.types");
|
|
28
|
+
const DriverHelper_1 = require("../../../utils/DriverHelper");
|
|
29
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
30
|
+
const Logger_1 = require("../../../utils/Logger");
|
|
31
|
+
const Ide_1 = require("./Ide");
|
|
32
|
+
const TimeoutConstants_1 = require("../../../TimeoutConstants");
|
|
33
|
+
let DialogWindow = DialogWindow_1 = class DialogWindow {
|
|
34
|
+
constructor(driverHelper, ide) {
|
|
35
|
+
this.driverHelper = driverHelper;
|
|
36
|
+
this.ide = ide;
|
|
37
|
+
}
|
|
38
|
+
async dialogDisplayes() {
|
|
39
|
+
Logger_1.Logger.debug('DialogWindow.dialogDisplayes');
|
|
40
|
+
return await this.driverHelper.isVisible(selenium_webdriver_1.By.xpath(DialogWindow_1.DIALOG_BODY_XPATH_LOCATOR));
|
|
41
|
+
}
|
|
42
|
+
async waitAndCloseIfAppear() {
|
|
43
|
+
Logger_1.Logger.debug('DialogWindow.waitAndCloseIfAppear');
|
|
44
|
+
const dialogDisplayes = await this.driverHelper.waitVisibilityBoolean(selenium_webdriver_1.By.xpath(DialogWindow_1.DIALOG_BODY_XPATH_LOCATOR));
|
|
45
|
+
if (dialogDisplayes) {
|
|
46
|
+
await this.closeDialog();
|
|
47
|
+
await this.waitDialogDissappearance();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async clickToButton(buttonText) {
|
|
51
|
+
Logger_1.Logger.debug('DialogWindow.clickToButton');
|
|
52
|
+
const buttonLocator = selenium_webdriver_1.By.xpath(`${DialogWindow_1.DIALOG_BODY_XPATH_LOCATOR}//button[text()='${buttonText}']`);
|
|
53
|
+
await this.driverHelper.waitAndClick(buttonLocator, TimeoutConstants_1.TimeoutConstants.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
54
|
+
}
|
|
55
|
+
async closeDialog() {
|
|
56
|
+
Logger_1.Logger.debug('DialogWindow.closeDialog');
|
|
57
|
+
await this.clickToButton('close');
|
|
58
|
+
}
|
|
59
|
+
async clickToOpenLinkButton() {
|
|
60
|
+
Logger_1.Logger.debug('DialogWindow.clickToOpenLinkButton');
|
|
61
|
+
await this.clickToButton('Open Link');
|
|
62
|
+
}
|
|
63
|
+
async waitDialog(dialogText = '', timeout = TimeoutConstants_1.TimeoutConstants.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT) {
|
|
64
|
+
Logger_1.Logger.debug('DialogWindow.waitDialog');
|
|
65
|
+
// if dialog text is provided uses xpath with this text
|
|
66
|
+
// if not uses window body xpath
|
|
67
|
+
const dialogWithTextXpathLocator = `${DialogWindow_1.DIALOG_BODY_XPATH_LOCATOR}//*[contains(text(), '${dialogText}')]`;
|
|
68
|
+
const dialogXpathLocator = (dialogText ? dialogWithTextXpathLocator : DialogWindow_1.DIALOG_BODY_XPATH_LOCATOR);
|
|
69
|
+
await this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(dialogXpathLocator), timeout);
|
|
70
|
+
}
|
|
71
|
+
async waitDialogAndOpenLink(dialogText = '', applicationReaddyTimeout) {
|
|
72
|
+
Logger_1.Logger.debug('DialogWindow.waitDialogAndOpenLink');
|
|
73
|
+
await this.waitDialog(dialogText, applicationReaddyTimeout);
|
|
74
|
+
await this.ide.waitApllicationIsReady(await this.getApplicationUrlFromDialog(dialogText), applicationReaddyTimeout);
|
|
75
|
+
await this.clickToOpenLinkButton();
|
|
76
|
+
await this.waitDialogDissappearance();
|
|
77
|
+
}
|
|
78
|
+
async waitDialogDissappearance() {
|
|
79
|
+
Logger_1.Logger.debug('DialogWindow.waitDialogDissappearance');
|
|
80
|
+
await this.driverHelper.waitDisappearanceWithTimeout(selenium_webdriver_1.By.xpath(DialogWindow_1.CLOSE_BUTTON_XPATH_LOCATOR), TimeoutConstants_1.TimeoutConstants.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
81
|
+
}
|
|
82
|
+
async getApplicationUrlFromDialog(dialogWindowText) {
|
|
83
|
+
const notificationTextLocator = selenium_webdriver_1.By.xpath(`${DialogWindow_1.DIALOG_BODY_XPATH_LOCATOR}//*[contains(text(), '${dialogWindowText}')]`);
|
|
84
|
+
let dialogWindow = await this.driverHelper.waitAndGetText(notificationTextLocator);
|
|
85
|
+
let regexp = new RegExp('^.*(https?://.*)$');
|
|
86
|
+
if (!regexp.test(dialogWindow)) {
|
|
87
|
+
throw new Error('Cannot obtaine url from notification message');
|
|
88
|
+
}
|
|
89
|
+
return dialogWindow.split(regexp)[1];
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
DialogWindow.DIALOG_BODY_XPATH_LOCATOR = '//div[@id=\'theia-dialog-shell\']//div[@class=\'dialogBlock\']';
|
|
93
|
+
DialogWindow.CLOSE_BUTTON_XPATH_LOCATOR = `${DialogWindow_1.DIALOG_BODY_XPATH_LOCATOR}//button[text()='close']`;
|
|
94
|
+
DialogWindow = DialogWindow_1 = __decorate([
|
|
95
|
+
inversify_1.injectable(),
|
|
96
|
+
__param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
|
|
97
|
+
__param(1, inversify_1.inject(inversify_types_1.CLASSES.Ide)),
|
|
98
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
|
|
99
|
+
Ide_1.Ide])
|
|
100
|
+
], DialogWindow);
|
|
101
|
+
exports.DialogWindow = DialogWindow;
|
|
102
|
+
//# sourceMappingURL=DialogWindow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogWindow.js","sourceRoot":"","sources":["../../../../pageobjects/ide/theia/DialogWindow.ts"],"names":[],"mappings":"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"}
|