@camunda/e2e-test-suite 0.0.713 → 0.0.715
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/.github/c8_versions.json +0 -3
- package/README.md +0 -6
- package/dist/pages/8.8/ClusterDetailsPage.js +5 -2
- package/dist/pages/8.8/ModelerCreatePage.js +10 -14
- package/dist/utils/clusterVersions.d.ts +0 -1
- package/dist/utils/clusterVersions.js +0 -1
- package/package.json +1 -1
- package/dist/fixtures/8.6.d.ts +0 -63
- package/dist/fixtures/8.6.js +0 -162
- package/dist/fixtures/SM-8.6.d.ts +0 -63
- package/dist/fixtures/SM-8.6.js +0 -149
- package/dist/fixtures/c8Run-8.6.d.ts +0 -20
- package/dist/fixtures/c8Run-8.6.js +0 -56
- package/dist/pages/8.6/AppsPage.d.ts +0 -33
- package/dist/pages/8.6/AppsPage.js +0 -337
- package/dist/pages/8.6/ClientCredentialsDetailsPage.d.ts +0 -12
- package/dist/pages/8.6/ClientCredentialsDetailsPage.js +0 -36
- package/dist/pages/8.6/ClusterDetailsPage.d.ts +0 -75
- package/dist/pages/8.6/ClusterDetailsPage.js +0 -443
- package/dist/pages/8.6/ClusterPage.d.ts +0 -59
- package/dist/pages/8.6/ClusterPage.js +0 -320
- package/dist/pages/8.6/ClusterSecretsPage.d.ts +0 -28
- package/dist/pages/8.6/ClusterSecretsPage.js +0 -134
- package/dist/pages/8.6/ConnectorMarketplacePage.d.ts +0 -19
- package/dist/pages/8.6/ConnectorMarketplacePage.js +0 -60
- package/dist/pages/8.6/ConnectorSettingsPage.d.ts +0 -38
- package/dist/pages/8.6/ConnectorSettingsPage.js +0 -133
- package/dist/pages/8.6/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/8.6/ConnectorTemplatePage.js +0 -34
- package/dist/pages/8.6/ConsoleOrganizationPage.d.ts +0 -87
- package/dist/pages/8.6/ConsoleOrganizationPage.js +0 -495
- package/dist/pages/8.6/FormJsPage.d.ts +0 -30
- package/dist/pages/8.6/FormJsPage.js +0 -112
- package/dist/pages/8.6/HomePage.d.ts +0 -27
- package/dist/pages/8.6/HomePage.js +0 -101
- package/dist/pages/8.6/LoginPage.d.ts +0 -30
- package/dist/pages/8.6/LoginPage.js +0 -85
- package/dist/pages/8.6/ModelerCreatePage.d.ts +0 -211
- package/dist/pages/8.6/ModelerCreatePage.js +0 -1125
- package/dist/pages/8.6/ModelerHomePage.d.ts +0 -48
- package/dist/pages/8.6/ModelerHomePage.js +0 -213
- package/dist/pages/8.6/ModelerUserInvitePage.d.ts +0 -28
- package/dist/pages/8.6/ModelerUserInvitePage.js +0 -106
- package/dist/pages/8.6/OperateHomePage.d.ts +0 -21
- package/dist/pages/8.6/OperateHomePage.js +0 -57
- package/dist/pages/8.6/OperateProcessInstancePage.d.ts +0 -17
- package/dist/pages/8.6/OperateProcessInstancePage.js +0 -58
- package/dist/pages/8.6/OperateProcessesPage.d.ts +0 -21
- package/dist/pages/8.6/OperateProcessesPage.js +0 -77
- package/dist/pages/8.6/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/8.6/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/8.6/OptimizeDashboardPage.d.ts +0 -11
- package/dist/pages/8.6/OptimizeDashboardPage.js +0 -65
- package/dist/pages/8.6/OptimizeHomePage.d.ts +0 -12
- package/dist/pages/8.6/OptimizeHomePage.js +0 -32
- package/dist/pages/8.6/OptimizeReportPage.d.ts +0 -48
- package/dist/pages/8.6/OptimizeReportPage.js +0 -163
- package/dist/pages/8.6/PlayPage.d.ts +0 -14
- package/dist/pages/8.6/PlayPage.js +0 -66
- package/dist/pages/8.6/SettingsPage.d.ts +0 -10
- package/dist/pages/8.6/SettingsPage.js +0 -43
- package/dist/pages/8.6/SignUpPage.d.ts +0 -43
- package/dist/pages/8.6/SignUpPage.js +0 -136
- package/dist/pages/8.6/TaskDetailsPage.d.ts +0 -66
- package/dist/pages/8.6/TaskDetailsPage.js +0 -214
- package/dist/pages/8.6/TaskPanelPage.d.ts +0 -18
- package/dist/pages/8.6/TaskPanelPage.js +0 -54
- package/dist/pages/8.6/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/8.6/TaskProcessesPage.js +0 -35
- package/dist/pages/8.6/UtilitiesPage.d.ts +0 -38
- package/dist/pages/8.6/UtilitiesPage.js +0 -328
- package/dist/pages/SM-8.6/ConnectorMarketplacePage.d.ts +0 -16
- package/dist/pages/SM-8.6/ConnectorMarketplacePage.js +0 -48
- package/dist/pages/SM-8.6/ConnectorSettingsPage.d.ts +0 -28
- package/dist/pages/SM-8.6/ConnectorSettingsPage.js +0 -82
- package/dist/pages/SM-8.6/ConnectorTemplatePage.d.ts +0 -11
- package/dist/pages/SM-8.6/ConnectorTemplatePage.js +0 -34
- package/dist/pages/SM-8.6/ConsoleHomePage.d.ts +0 -9
- package/dist/pages/SM-8.6/ConsoleHomePage.js +0 -22
- package/dist/pages/SM-8.6/ConsoleOrganizationPage.d.ts +0 -22
- package/dist/pages/SM-8.6/ConsoleOrganizationPage.js +0 -68
- package/dist/pages/SM-8.6/FormJsPage.d.ts +0 -13
- package/dist/pages/SM-8.6/FormJsPage.js +0 -30
- package/dist/pages/SM-8.6/HomePage.d.ts +0 -20
- package/dist/pages/SM-8.6/HomePage.js +0 -49
- package/dist/pages/SM-8.6/IdentityPage.d.ts +0 -67
- package/dist/pages/SM-8.6/IdentityPage.js +0 -266
- package/dist/pages/SM-8.6/IdentityTenantPage.d.ts +0 -50
- package/dist/pages/SM-8.6/IdentityTenantPage.js +0 -196
- package/dist/pages/SM-8.6/IdentityUsersPage.d.ts +0 -90
- package/dist/pages/SM-8.6/IdentityUsersPage.js +0 -505
- package/dist/pages/SM-8.6/KeycloakAdminPage.d.ts +0 -15
- package/dist/pages/SM-8.6/KeycloakAdminPage.js +0 -56
- package/dist/pages/SM-8.6/KeycloakLoginPage.d.ts +0 -11
- package/dist/pages/SM-8.6/KeycloakLoginPage.js +0 -25
- package/dist/pages/SM-8.6/KeycloakUtils.d.ts +0 -15
- package/dist/pages/SM-8.6/KeycloakUtils.js +0 -58
- package/dist/pages/SM-8.6/LoginPage.d.ts +0 -22
- package/dist/pages/SM-8.6/LoginPage.js +0 -123
- package/dist/pages/SM-8.6/ModelerCreatePage.d.ts +0 -167
- package/dist/pages/SM-8.6/ModelerCreatePage.js +0 -852
- package/dist/pages/SM-8.6/ModelerHomePage.d.ts +0 -41
- package/dist/pages/SM-8.6/ModelerHomePage.js +0 -150
- package/dist/pages/SM-8.6/NavigationPage.d.ts +0 -42
- package/dist/pages/SM-8.6/NavigationPage.js +0 -119
- package/dist/pages/SM-8.6/OperateHomePage.d.ts +0 -23
- package/dist/pages/SM-8.6/OperateHomePage.js +0 -65
- package/dist/pages/SM-8.6/OperateProcessInstancePage.d.ts +0 -22
- package/dist/pages/SM-8.6/OperateProcessInstancePage.js +0 -139
- package/dist/pages/SM-8.6/OperateProcessesPage.d.ts +0 -33
- package/dist/pages/SM-8.6/OperateProcessesPage.js +0 -166
- package/dist/pages/SM-8.6/OptimizeCollectionsPage.d.ts +0 -15
- package/dist/pages/SM-8.6/OptimizeCollectionsPage.js +0 -44
- package/dist/pages/SM-8.6/OptimizeDashboardPage.d.ts +0 -14
- package/dist/pages/SM-8.6/OptimizeDashboardPage.js +0 -56
- package/dist/pages/SM-8.6/OptimizeHomePage.d.ts +0 -19
- package/dist/pages/SM-8.6/OptimizeHomePage.js +0 -62
- package/dist/pages/SM-8.6/OptimizeReportPage.d.ts +0 -50
- package/dist/pages/SM-8.6/OptimizeReportPage.js +0 -162
- package/dist/pages/SM-8.6/PlayPage.d.ts +0 -19
- package/dist/pages/SM-8.6/PlayPage.js +0 -103
- package/dist/pages/SM-8.6/SettingsPage.d.ts +0 -10
- package/dist/pages/SM-8.6/SettingsPage.js +0 -20
- package/dist/pages/SM-8.6/TaskDetailsPage.d.ts +0 -64
- package/dist/pages/SM-8.6/TaskDetailsPage.js +0 -240
- package/dist/pages/SM-8.6/TaskPanelPage.d.ts +0 -22
- package/dist/pages/SM-8.6/TaskPanelPage.js +0 -68
- package/dist/pages/SM-8.6/TaskProcessesPage.d.ts +0 -11
- package/dist/pages/SM-8.6/TaskProcessesPage.js +0 -31
- package/dist/pages/SM-8.6/UtlitiesPage.d.ts +0 -21
- package/dist/pages/SM-8.6/UtlitiesPage.js +0 -207
- package/dist/pages/SM-8.6/optimizeReportUtils.d.ts +0 -6
- package/dist/pages/SM-8.6/optimizeReportUtils.js +0 -42
- package/dist/pages/c8Run-8.6/OperateHomePage.d.ts +0 -20
- package/dist/pages/c8Run-8.6/OperateHomePage.js +0 -52
- package/dist/pages/c8Run-8.6/OperateLoginPage.d.ts +0 -14
- package/dist/pages/c8Run-8.6/OperateLoginPage.js +0 -37
- package/dist/pages/c8Run-8.6/OperateProcessInstancePage.d.ts +0 -17
- package/dist/pages/c8Run-8.6/OperateProcessInstancePage.js +0 -76
- package/dist/pages/c8Run-8.6/OperateProcessesPage.d.ts +0 -20
- package/dist/pages/c8Run-8.6/OperateProcessesPage.js +0 -84
- package/dist/pages/c8Run-8.6/TaskDetailsPage.d.ts +0 -65
- package/dist/pages/c8Run-8.6/TaskDetailsPage.js +0 -219
- package/dist/pages/c8Run-8.6/TaskListLoginPage.d.ts +0 -14
- package/dist/pages/c8Run-8.6/TaskListLoginPage.js +0 -37
- package/dist/pages/c8Run-8.6/TaskPanelPage.d.ts +0 -23
- package/dist/pages/c8Run-8.6/TaskPanelPage.js +0 -76
- package/dist/pages/c8Run-8.6/UtilitiesPage.d.ts +0 -6
- package/dist/pages/c8Run-8.6/UtilitiesPage.js +0 -45
- package/dist/tests/8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/connectors-user-flows.spec.js +0 -435
- package/dist/tests/8.6/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/console-user-flows.spec.js +0 -193
- package/dist/tests/8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/hto-user-flows.spec.js +0 -365
- package/dist/tests/8.6/login.spec.d.ts +0 -1
- package/dist/tests/8.6/login.spec.js +0 -27
- package/dist/tests/8.6/navigation.spec.d.ts +0 -1
- package/dist/tests/8.6/navigation.spec.js +0 -57
- package/dist/tests/8.6/operate-access-flow.spec.d.ts +0 -1
- package/dist/tests/8.6/operate-access-flow.spec.js +0 -57
- package/dist/tests/8.6/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/optimize-user-flows.spec.js +0 -231
- package/dist/tests/8.6/play.spec.d.ts +0 -1
- package/dist/tests/8.6/play.spec.js +0 -94
- package/dist/tests/8.6/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/rba-enabled-user-flows.spec.js +0 -288
- package/dist/tests/8.6/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/8.6/smoke-tests.spec.js +0 -188
- package/dist/tests/8.6/test-setup.spec.d.ts +0 -1
- package/dist/tests/8.6/test-setup.spec.js +0 -68
- package/dist/tests/8.6/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/8.6/web-modeler-user-flows.spec.js +0 -692
- package/dist/tests/SM-8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/connectors-user-flows.spec.js +0 -247
- package/dist/tests/SM-8.6/console-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/console-user-flows.spec.js +0 -55
- package/dist/tests/SM-8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/hto-user-flows.spec.js +0 -393
- package/dist/tests/SM-8.6/license-key-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/license-key-user-flows.spec.js +0 -462
- package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/mt-enabled-user-flows.spec.js +0 -500
- package/dist/tests/SM-8.6/optimize-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/optimize-user-flows.spec.js +0 -186
- package/dist/tests/SM-8.6/play.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/play.spec.js +0 -87
- package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/rba-enabled-user-flows.spec.js +0 -242
- package/dist/tests/SM-8.6/smoke-tests.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/smoke-tests.spec.js +0 -158
- package/dist/tests/SM-8.6/test-setup.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/test-setup.spec.js +0 -134
- package/dist/tests/SM-8.6/web-modeler-user-flows.spec.d.ts +0 -1
- package/dist/tests/SM-8.6/web-modeler-user-flows.spec.js +0 -126
- package/dist/tests/c8Run-8.6/api-tests.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/api-tests.spec.js +0 -67
- package/dist/tests/c8Run-8.6/connectors-user-flows.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/connectors-user-flows.spec.js +0 -119
- package/dist/tests/c8Run-8.6/hto-user-flows.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/hto-user-flows.spec.js +0 -199
- package/dist/tests/c8Run-8.6/login.spec.d.ts +0 -1
- package/dist/tests/c8Run-8.6/login.spec.js +0 -22
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OptimizeCollectionsPage = void 0;
|
|
4
|
-
class OptimizeCollectionsPage {
|
|
5
|
-
page;
|
|
6
|
-
collectionsPageHeader;
|
|
7
|
-
createNewButton;
|
|
8
|
-
reportOption;
|
|
9
|
-
modalCloseButton;
|
|
10
|
-
processReport;
|
|
11
|
-
collectionsLink;
|
|
12
|
-
constructor(page) {
|
|
13
|
-
this.page = page;
|
|
14
|
-
this.collectionsPageHeader = page.getByRole('heading', {
|
|
15
|
-
name: 'Collections, Dashboards, and Reports',
|
|
16
|
-
});
|
|
17
|
-
this.createNewButton = page.getByRole('button', {
|
|
18
|
-
name: 'Create new',
|
|
19
|
-
exact: true,
|
|
20
|
-
});
|
|
21
|
-
this.reportOption = page.getByText('Report', { exact: true });
|
|
22
|
-
this.modalCloseButton = page.locator('button').filter({ hasText: /^Close$/ });
|
|
23
|
-
this.processReport = page.getByText('Process Report').first();
|
|
24
|
-
this.collectionsLink = page.getByRole('link', { name: 'Collections' });
|
|
25
|
-
}
|
|
26
|
-
async clickCreateNewButton() {
|
|
27
|
-
try {
|
|
28
|
-
await this.modalCloseButton.click({ timeout: 90000 });
|
|
29
|
-
await this.collectionsLink.click({ timeout: 90000 });
|
|
30
|
-
await this.createNewButton.click({ timeout: 90000 });
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
await this.collectionsLink.click({ timeout: 90000 });
|
|
34
|
-
await this.createNewButton.click({ timeout: 90000 });
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
async clickReportOption() {
|
|
38
|
-
await this.reportOption.click();
|
|
39
|
-
}
|
|
40
|
-
async clickMostRecentProcessReport(reportName) {
|
|
41
|
-
await this.page.getByText(reportName).click({ timeout: 60000 });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.OptimizeCollectionsPage = OptimizeCollectionsPage;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class OptimizeDashboardPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly filterTable: Locator;
|
|
5
|
-
constructor(page: Page);
|
|
6
|
-
clickFilterTable(): Promise<void>;
|
|
7
|
-
fillFilterTable(processName: string): Promise<void>;
|
|
8
|
-
processLinkAssertion(processName: string, maxRetries: number, retryDelay?: number): Promise<void>;
|
|
9
|
-
processOwnerNameAssertion(processName: string, userEmail: string): Promise<void>;
|
|
10
|
-
}
|
|
11
|
-
export { OptimizeDashboardPage };
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OptimizeDashboardPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
class OptimizeDashboardPage {
|
|
6
|
-
page;
|
|
7
|
-
filterTable;
|
|
8
|
-
constructor(page) {
|
|
9
|
-
this.page = page;
|
|
10
|
-
this.filterTable = page.getByPlaceholder('Filter table');
|
|
11
|
-
}
|
|
12
|
-
async clickFilterTable() {
|
|
13
|
-
await this.filterTable.click({ timeout: 120000 });
|
|
14
|
-
}
|
|
15
|
-
async fillFilterTable(processName) {
|
|
16
|
-
await this.filterTable.fill(processName, { timeout: 60000 });
|
|
17
|
-
await this.filterTable.press('Enter');
|
|
18
|
-
}
|
|
19
|
-
async processLinkAssertion(processName, maxRetries, retryDelay = 60000) {
|
|
20
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
21
|
-
try {
|
|
22
|
-
await this.page.reload();
|
|
23
|
-
await this.clickFilterTable();
|
|
24
|
-
await this.fillFilterTable(processName);
|
|
25
|
-
await (0, test_1.expect)(this.page.getByRole('link', { name: processName })).toBeVisible({ timeout: 70000 });
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
if (attempt < maxRetries - 1) {
|
|
30
|
-
console.warn(`Attempt ${attempt + 1} failed for asserting process link in Optimize. Retrying...`);
|
|
31
|
-
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
throw new Error(`Process link in Optimize assertion failed after ${maxRetries} attempts`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
async processOwnerNameAssertion(processName, userEmail) {
|
|
40
|
-
const maxRetries = 15;
|
|
41
|
-
const retryDelay = 60000;
|
|
42
|
-
const localPart = userEmail.split('@')[0];
|
|
43
|
-
const uuid = localPart.replace('qa-user-', '');
|
|
44
|
-
const result = !uuid ? 'QA Camunda' : `QA User ${uuid}`;
|
|
45
|
-
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
46
|
-
try {
|
|
47
|
-
await (0, test_1.expect)(this.page.getByRole('row', {
|
|
48
|
-
name: `${processName}\nProcess\n\t${result}`,
|
|
49
|
-
})).toBeVisible({ timeout: 90000 });
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
if (attempt < maxRetries - 1) {
|
|
54
|
-
console.warn(`Attempt ${attempt + 1} failed for asserting owner name ${result} assertion for ${processName} in Optimize.. Retrying...`);
|
|
55
|
-
await this.page.reload();
|
|
56
|
-
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
throw new Error(`Owner name ${result} assertion for ${processName} failed after ${maxRetries} attempts`);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
exports.OptimizeDashboardPage = OptimizeDashboardPage;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class OptimizeHomePage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly collectionsLink: Locator;
|
|
5
|
-
readonly dashboardLink: Locator;
|
|
6
|
-
readonly modalCloseButton: Locator;
|
|
7
|
-
readonly optimizeBanner: Locator;
|
|
8
|
-
constructor(page: Page);
|
|
9
|
-
clickCollectionsLink(): Promise<void>;
|
|
10
|
-
clickDashboardLink(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export { OptimizeHomePage };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OptimizeHomePage = void 0;
|
|
4
|
-
class OptimizeHomePage {
|
|
5
|
-
page;
|
|
6
|
-
collectionsLink;
|
|
7
|
-
dashboardLink;
|
|
8
|
-
modalCloseButton;
|
|
9
|
-
optimizeBanner;
|
|
10
|
-
constructor(page) {
|
|
11
|
-
this.page = page;
|
|
12
|
-
this.collectionsLink = page.getByRole('link', { name: 'Collections' });
|
|
13
|
-
this.dashboardLink = page.getByRole('link', { name: 'Dashboard' });
|
|
14
|
-
this.modalCloseButton = page.locator('button').filter({ hasText: /^Close$/ });
|
|
15
|
-
this.optimizeBanner = page.getByRole('link', {
|
|
16
|
-
name: 'Camunda logo Optimize',
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
async clickCollectionsLink() {
|
|
20
|
-
if (await this.modalCloseButton.isVisible({ timeout: 60000 })) {
|
|
21
|
-
await this.modalCloseButton.click();
|
|
22
|
-
}
|
|
23
|
-
await this.collectionsLink.click({ timeout: 60000 });
|
|
24
|
-
}
|
|
25
|
-
async clickDashboardLink() {
|
|
26
|
-
if (await this.modalCloseButton.isVisible({ timeout: 60000 })) {
|
|
27
|
-
this.modalCloseButton.click();
|
|
28
|
-
}
|
|
29
|
-
await this.dashboardLink.click();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.OptimizeHomePage = OptimizeHomePage;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class OptimizeReportPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly processSelectionButton: Locator;
|
|
5
|
-
readonly userTaskProcess: Locator;
|
|
6
|
-
readonly versionSelection: Locator;
|
|
7
|
-
readonly alwaysDisplayLatestSelection: Locator;
|
|
8
|
-
readonly createReportLink: Locator;
|
|
9
|
-
readonly durationButton: Locator;
|
|
10
|
-
readonly countOption: Locator;
|
|
11
|
-
readonly processInstanceButton: Locator;
|
|
12
|
-
readonly userTaskOption: Locator;
|
|
13
|
-
readonly heatMapButton: Locator;
|
|
14
|
-
readonly numberButton: Locator;
|
|
15
|
-
readonly tableOption: Locator;
|
|
16
|
-
readonly reportName: Locator;
|
|
17
|
-
readonly saveButton: Locator;
|
|
18
|
-
readonly oneUserTaskInstance: Locator;
|
|
19
|
-
readonly twoUserTaskInstance: Locator;
|
|
20
|
-
readonly cancelButton: Locator;
|
|
21
|
-
readonly createNewButton: Locator;
|
|
22
|
-
readonly reportOption: Locator;
|
|
23
|
-
readonly processInstanceCount: Locator;
|
|
24
|
-
readonly blankReportButton: Locator;
|
|
25
|
-
readonly selectDropdown: Locator;
|
|
26
|
-
constructor(page: Page);
|
|
27
|
-
clickProcessSelectionButton(): Promise<void>;
|
|
28
|
-
clickUserTaskProcess(processName: string): Promise<void>;
|
|
29
|
-
clickVersionSelection(): Promise<void>;
|
|
30
|
-
clickAlwaysDisplayLatestSelection(): Promise<void>;
|
|
31
|
-
clickCreateReportLink(): Promise<void>;
|
|
32
|
-
clickDurationButton(): Promise<void>;
|
|
33
|
-
clickCountOption(): Promise<void>;
|
|
34
|
-
clickProcessInstanceButton(): Promise<void>;
|
|
35
|
-
clickUserTaskOption(): Promise<void>;
|
|
36
|
-
clickHeatMapButton(): Promise<void>;
|
|
37
|
-
clickNumberButton(): Promise<void>;
|
|
38
|
-
clickTableOption(): Promise<void>;
|
|
39
|
-
clickReportName(): Promise<void>;
|
|
40
|
-
clearReportName(): Promise<void>;
|
|
41
|
-
fillReportName(name: string): Promise<void>;
|
|
42
|
-
clickSaveButton(): Promise<void>;
|
|
43
|
-
waitUntilLocatorIsVisible(locator: Locator, tab: Page): Promise<void>;
|
|
44
|
-
waitUntilProcessIsVisible(locator: Locator, tab: Page): Promise<void>;
|
|
45
|
-
clickBlankReportButton(): Promise<void>;
|
|
46
|
-
clickSelectDropdown(): Promise<void>;
|
|
47
|
-
}
|
|
48
|
-
export { OptimizeReportPage };
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OptimizeReportPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
class OptimizeReportPage {
|
|
6
|
-
page;
|
|
7
|
-
processSelectionButton;
|
|
8
|
-
userTaskProcess;
|
|
9
|
-
versionSelection;
|
|
10
|
-
alwaysDisplayLatestSelection;
|
|
11
|
-
createReportLink;
|
|
12
|
-
durationButton;
|
|
13
|
-
countOption;
|
|
14
|
-
processInstanceButton;
|
|
15
|
-
userTaskOption;
|
|
16
|
-
heatMapButton;
|
|
17
|
-
numberButton;
|
|
18
|
-
tableOption;
|
|
19
|
-
reportName;
|
|
20
|
-
saveButton;
|
|
21
|
-
oneUserTaskInstance;
|
|
22
|
-
twoUserTaskInstance;
|
|
23
|
-
cancelButton;
|
|
24
|
-
createNewButton;
|
|
25
|
-
reportOption;
|
|
26
|
-
processInstanceCount;
|
|
27
|
-
blankReportButton;
|
|
28
|
-
selectDropdown;
|
|
29
|
-
constructor(page) {
|
|
30
|
-
this.page = page;
|
|
31
|
-
this.processSelectionButton = page.getByPlaceholder('Select...');
|
|
32
|
-
this.userTaskProcess = page
|
|
33
|
-
.getByText('User_Task_Process', { exact: true })
|
|
34
|
-
.first();
|
|
35
|
-
this.versionSelection = page.getByLabel('Version');
|
|
36
|
-
this.alwaysDisplayLatestSelection = page.getByText('Always display latest');
|
|
37
|
-
this.createReportLink = page.getByRole('link', { name: 'Create Report' });
|
|
38
|
-
this.durationButton = page.getByRole('button', { name: 'Duration' });
|
|
39
|
-
this.countOption = page.getByText('Count').first();
|
|
40
|
-
this.processInstanceButton = page.getByRole('button', {
|
|
41
|
-
name: 'Process Instance',
|
|
42
|
-
exact: true,
|
|
43
|
-
});
|
|
44
|
-
this.userTaskOption = page.getByRole('menuitemcheckbox', {
|
|
45
|
-
name: 'User Task',
|
|
46
|
-
});
|
|
47
|
-
this.heatMapButton = page.getByRole('button', { name: 'Heatmap Open menu' });
|
|
48
|
-
this.numberButton = page.getByRole('menuitemcheckbox', { name: 'Number' });
|
|
49
|
-
this.tableOption = page.getByRole('menuitemcheckbox', { name: 'Table' });
|
|
50
|
-
this.reportName = page.getByPlaceholder('Report name');
|
|
51
|
-
this.saveButton = page.getByRole('button', { name: 'Save' });
|
|
52
|
-
this.oneUserTaskInstance = page.getByRole('cell', { name: '1', exact: true });
|
|
53
|
-
this.twoUserTaskInstance = page.getByRole('cell', { name: '2', exact: true });
|
|
54
|
-
this.cancelButton = page.getByRole('button', { name: 'Cancel' });
|
|
55
|
-
this.createNewButton = page.getByRole('button', {
|
|
56
|
-
name: 'Create New',
|
|
57
|
-
exact: true,
|
|
58
|
-
});
|
|
59
|
-
this.reportOption = page.getByText('Report', { exact: true });
|
|
60
|
-
this.processInstanceCount = page.locator('.progressLabel');
|
|
61
|
-
this.blankReportButton = page.getByRole('button', { name: 'Blank report' });
|
|
62
|
-
this.selectDropdown = page
|
|
63
|
-
.getByRole('button', { name: 'Select... Open menu' })
|
|
64
|
-
.last();
|
|
65
|
-
}
|
|
66
|
-
async clickProcessSelectionButton() {
|
|
67
|
-
await this.processSelectionButton.click();
|
|
68
|
-
}
|
|
69
|
-
async clickUserTaskProcess(processName) {
|
|
70
|
-
await this.page
|
|
71
|
-
.getByText(processName, { exact: true })
|
|
72
|
-
.first()
|
|
73
|
-
.click({ timeout: 90000 });
|
|
74
|
-
}
|
|
75
|
-
async clickVersionSelection() {
|
|
76
|
-
await this.versionSelection.click();
|
|
77
|
-
}
|
|
78
|
-
async clickAlwaysDisplayLatestSelection() {
|
|
79
|
-
await this.alwaysDisplayLatestSelection.click();
|
|
80
|
-
}
|
|
81
|
-
async clickCreateReportLink() {
|
|
82
|
-
await this.createReportLink.click({ timeout: 60000 });
|
|
83
|
-
}
|
|
84
|
-
async clickDurationButton() {
|
|
85
|
-
await this.durationButton.click();
|
|
86
|
-
}
|
|
87
|
-
async clickCountOption() {
|
|
88
|
-
await this.countOption.click();
|
|
89
|
-
}
|
|
90
|
-
async clickProcessInstanceButton() {
|
|
91
|
-
await this.processInstanceButton.click();
|
|
92
|
-
}
|
|
93
|
-
async clickUserTaskOption() {
|
|
94
|
-
await this.userTaskOption.click({ timeout: 60000 });
|
|
95
|
-
}
|
|
96
|
-
async clickHeatMapButton() {
|
|
97
|
-
if (await this.heatMapButton.isVisible()) {
|
|
98
|
-
await this.heatMapButton.click({ timeout: 60000 });
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
async clickNumberButton() {
|
|
102
|
-
if (await this.numberButton.isVisible()) {
|
|
103
|
-
await this.numberButton.click();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async clickTableOption() {
|
|
107
|
-
await (0, test_1.expect)(this.tableOption).toBeVisible({
|
|
108
|
-
timeout: 30000,
|
|
109
|
-
});
|
|
110
|
-
await this.tableOption.click();
|
|
111
|
-
}
|
|
112
|
-
async clickReportName() {
|
|
113
|
-
await this.reportName.click();
|
|
114
|
-
}
|
|
115
|
-
async clearReportName() {
|
|
116
|
-
await this.reportName.clear({ force: true });
|
|
117
|
-
}
|
|
118
|
-
async fillReportName(name) {
|
|
119
|
-
await this.reportName.fill(name, { force: true });
|
|
120
|
-
}
|
|
121
|
-
async clickSaveButton() {
|
|
122
|
-
await this.saveButton.click();
|
|
123
|
-
}
|
|
124
|
-
async waitUntilLocatorIsVisible(locator, tab) {
|
|
125
|
-
let elapsedTime = 0;
|
|
126
|
-
const maxWaitTimeSeconds = 120000;
|
|
127
|
-
while (elapsedTime < maxWaitTimeSeconds) {
|
|
128
|
-
const element = await locator;
|
|
129
|
-
if (await element.isVisible()) {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
await tab.reload();
|
|
133
|
-
await tab.waitForTimeout(10 * 1000);
|
|
134
|
-
// Update the elapsed time
|
|
135
|
-
elapsedTime += 10000;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
async waitUntilProcessIsVisible(locator, tab) {
|
|
139
|
-
let elapsedTime = 0;
|
|
140
|
-
const maxWaitTimeSeconds = 240000;
|
|
141
|
-
while (elapsedTime < maxWaitTimeSeconds) {
|
|
142
|
-
const element = await locator;
|
|
143
|
-
if (await element.isVisible()) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
await this.cancelButton.click();
|
|
147
|
-
await tab.reload();
|
|
148
|
-
await tab.waitForTimeout(10 * 1000);
|
|
149
|
-
// Update the elapsed time
|
|
150
|
-
elapsedTime += 10000;
|
|
151
|
-
await this.createNewButton.click();
|
|
152
|
-
await this.reportOption.click();
|
|
153
|
-
await this.processSelectionButton.click();
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
async clickBlankReportButton() {
|
|
157
|
-
await this.blankReportButton.click();
|
|
158
|
-
}
|
|
159
|
-
async clickSelectDropdown() {
|
|
160
|
-
await this.selectDropdown.click();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
exports.OptimizeReportPage = OptimizeReportPage;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class PlayPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly completeJobButton: Locator;
|
|
5
|
-
constructor(page: Page);
|
|
6
|
-
waitForCompleteJobButtonToBeAvailable(): Promise<void>;
|
|
7
|
-
clickCompleteJobButton(): Promise<void>;
|
|
8
|
-
clickStartInstanceButton(): Promise<void>;
|
|
9
|
-
dismissStartModal(): Promise<void>;
|
|
10
|
-
waitForInstanceDetailsToBeLoaded(): Promise<void>;
|
|
11
|
-
waitForNextElementToBeActive(historyItem: string): Promise<void>;
|
|
12
|
-
waitForProcessToBeCompleted(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export { PlayPage };
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PlayPage = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const maxWaitTimeSeconds = 120000;
|
|
6
|
-
class PlayPage {
|
|
7
|
-
page;
|
|
8
|
-
completeJobButton;
|
|
9
|
-
constructor(page) {
|
|
10
|
-
this.page = page;
|
|
11
|
-
this.completeJobButton = page
|
|
12
|
-
.getByTestId('diagram')
|
|
13
|
-
.getByLabel('Complete job');
|
|
14
|
-
}
|
|
15
|
-
async waitForCompleteJobButtonToBeAvailable() {
|
|
16
|
-
await (0, test_1.expect)(this.completeJobButton).toBeVisible({
|
|
17
|
-
timeout: maxWaitTimeSeconds,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
async clickCompleteJobButton() {
|
|
21
|
-
await this.completeJobButton.click();
|
|
22
|
-
}
|
|
23
|
-
async clickStartInstanceButton() {
|
|
24
|
-
await this.page
|
|
25
|
-
.getByTestId('diagram')
|
|
26
|
-
.getByLabel('Start instance', { exact: true })
|
|
27
|
-
.click();
|
|
28
|
-
}
|
|
29
|
-
async dismissStartModal() {
|
|
30
|
-
await this.page
|
|
31
|
-
.getByRole('button', {
|
|
32
|
-
name: 'Start a process instance',
|
|
33
|
-
})
|
|
34
|
-
.click();
|
|
35
|
-
}
|
|
36
|
-
async waitForInstanceDetailsToBeLoaded() {
|
|
37
|
-
const maxRetries = 2;
|
|
38
|
-
let attempts = 0;
|
|
39
|
-
while (attempts < maxRetries) {
|
|
40
|
-
try {
|
|
41
|
-
await (0, test_1.expect)(this.page.getByText(/process instance key/i)).toBeVisible({
|
|
42
|
-
timeout: maxWaitTimeSeconds,
|
|
43
|
-
});
|
|
44
|
-
await (0, test_1.expect)(this.page.getByText(/This process instance has no variables/i)).toBeVisible({
|
|
45
|
-
timeout: maxWaitTimeSeconds,
|
|
46
|
-
});
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
if (attempts >= maxRetries - 1)
|
|
51
|
-
throw error;
|
|
52
|
-
await this.page.reload();
|
|
53
|
-
attempts++;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
async waitForNextElementToBeActive(historyItem) {
|
|
58
|
-
await (0, test_1.expect)(this.page.getByText(new RegExp(`^${historyItem}`, 'i'))).toBeVisible({
|
|
59
|
-
timeout: maxWaitTimeSeconds,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
async waitForProcessToBeCompleted() {
|
|
63
|
-
await (0, test_1.expect)(this.page.getByRole('heading', { name: 'Scenario recorded!' })).toBeVisible({ timeout: maxWaitTimeSeconds });
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.PlayPage = PlayPage;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class SettingsPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly openSettingsButton: Locator;
|
|
5
|
-
readonly logoutButton: Locator;
|
|
6
|
-
constructor(page: Page);
|
|
7
|
-
clickOpenSettingsButton(retries?: number): Promise<void>;
|
|
8
|
-
clickLogoutButton(retries?: number): Promise<void>;
|
|
9
|
-
}
|
|
10
|
-
export { SettingsPage };
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SettingsPage = void 0;
|
|
4
|
-
class SettingsPage {
|
|
5
|
-
page;
|
|
6
|
-
openSettingsButton;
|
|
7
|
-
logoutButton;
|
|
8
|
-
constructor(page) {
|
|
9
|
-
this.page = page;
|
|
10
|
-
this.openSettingsButton = page.getByLabel('Open Settings');
|
|
11
|
-
this.logoutButton = page.getByRole('button', { name: 'Log out' });
|
|
12
|
-
}
|
|
13
|
-
async clickOpenSettingsButton(retries = 3) {
|
|
14
|
-
for (let i = 0; i < retries; i++) {
|
|
15
|
-
try {
|
|
16
|
-
await this.openSettingsButton.click({ timeout: 180000 });
|
|
17
|
-
return; // If successful, exit the function
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
21
|
-
await sleep(10000);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
throw new Error(`Failed to click button after ${retries} retries`);
|
|
25
|
-
}
|
|
26
|
-
async clickLogoutButton(retries = 3) {
|
|
27
|
-
for (let i = 0; i < retries; i++) {
|
|
28
|
-
try {
|
|
29
|
-
await this.logoutButton.click({ timeout: 120000 });
|
|
30
|
-
return; // Click succeeded, exit the loop
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error(`Attempt ${i + 1} to click deploy button failed: ${error}`);
|
|
34
|
-
// Wait for 10 seconds
|
|
35
|
-
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
36
|
-
await sleep(10000);
|
|
37
|
-
await this.clickOpenSettingsButton();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
throw new Error(`Failed to click deploy button after ${retries} retries`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.SettingsPage = SettingsPage;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from '@playwright/test';
|
|
2
|
-
declare class SignUpPage {
|
|
3
|
-
private page;
|
|
4
|
-
readonly firstNameInput: Locator;
|
|
5
|
-
readonly lastNameInput: Locator;
|
|
6
|
-
readonly passwordInput: Locator;
|
|
7
|
-
readonly passwordInputInvitedUser: Locator;
|
|
8
|
-
readonly signupButton: Locator;
|
|
9
|
-
readonly emailInput: Locator;
|
|
10
|
-
readonly companyInput: Locator;
|
|
11
|
-
readonly createAccountButton: Locator;
|
|
12
|
-
readonly backgroundDrodownList: Locator;
|
|
13
|
-
readonly whatDoYouDoDropdownList: Locator;
|
|
14
|
-
readonly APIClientDropdownList: Locator;
|
|
15
|
-
readonly levelOfExperienceDropdownList: Locator;
|
|
16
|
-
readonly nextButton: Locator;
|
|
17
|
-
readonly runProcessRadioButton: Locator;
|
|
18
|
-
readonly whyAreYouEvaluatingCamunda: Locator;
|
|
19
|
-
readonly confirmSaaSTrial: Locator;
|
|
20
|
-
readonly loginToCamundaButton: Locator;
|
|
21
|
-
readonly backgroundPageHeading: Locator;
|
|
22
|
-
readonly useCasePageHeading: Locator;
|
|
23
|
-
readonly goalPageHeading: Locator;
|
|
24
|
-
readonly camundaPlansPageHeading: Locator;
|
|
25
|
-
readonly setPasswordPageHeading: Locator;
|
|
26
|
-
readonly signUpCompletedPageHeading: Locator;
|
|
27
|
-
readonly verifyEmailText: Locator;
|
|
28
|
-
readonly signupFailedText: Locator;
|
|
29
|
-
constructor(page: Page);
|
|
30
|
-
signupToC8(emailAddress: string, password: string): Promise<void>;
|
|
31
|
-
clickFirstNameInput(): Promise<void>;
|
|
32
|
-
fillFirstNameInput(firstName: string): Promise<void>;
|
|
33
|
-
clickLastNameInput(): Promise<void>;
|
|
34
|
-
fillLastNameInput(lastName: string): Promise<void>;
|
|
35
|
-
clickPasswordInput(): Promise<void>;
|
|
36
|
-
fillPasswordInput(password: string): Promise<void>;
|
|
37
|
-
clickPasswordInputInvitedUser(): Promise<void>;
|
|
38
|
-
fillPasswordInputInvitedUser(password: string): Promise<void>;
|
|
39
|
-
clickSignupButton(): Promise<void>;
|
|
40
|
-
clickEmailInput(): Promise<void>;
|
|
41
|
-
fillEmailInput(email: string): Promise<void>;
|
|
42
|
-
}
|
|
43
|
-
export { SignUpPage };
|