@camunda/e2e-test-suite 0.0.731 → 0.0.732
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/pages/SM-8.10/ModelerCreatePage.js +6 -1
- package/dist/pages/SM-8.10/NavigationPage.js +6 -1
- package/dist/pages/SM-8.10/OCIdentityRolesPage.js +1 -1
- package/dist/pages/SM-8.10/OperateHomePage.js +7 -0
- package/dist/pages/SM-8.10/OptimizeReportPage.js +1 -1
- package/dist/pages/SM-8.10/PlayPage.js +17 -0
- package/package.json +1 -1
|
@@ -1071,7 +1071,12 @@ class ModelerCreatePage {
|
|
|
1071
1071
|
await this.continueToPlayButton.click({ timeout: 30000 });
|
|
1072
1072
|
}
|
|
1073
1073
|
async assertScenarioNameVisible(scenarioName) {
|
|
1074
|
-
await (0, test_1.expect)(this.page
|
|
1074
|
+
await (0, test_1.expect)(this.page
|
|
1075
|
+
.getByTestId('instance-header')
|
|
1076
|
+
.getByText(scenarioName)
|
|
1077
|
+
.or(this.page
|
|
1078
|
+
.getByRole('region', { name: 'Scenarios' })
|
|
1079
|
+
.getByText(scenarioName, { exact: false }))).toBeVisible();
|
|
1075
1080
|
}
|
|
1076
1081
|
async fillStartEventVariablesForDocHandling(zeebeUrl, zeebeClientId, zeebeClientSecret) {
|
|
1077
1082
|
console.log(`URL: ${zeebeUrl}, ClientId: ${zeebeClientId}, Secret: ${zeebeClientSecret}`);
|
|
@@ -100,7 +100,12 @@ class NavigationPage {
|
|
|
100
100
|
const now = new Date();
|
|
101
101
|
const elapsed = Date.now() - startTime;
|
|
102
102
|
if (attempt < maxRetries - 1) {
|
|
103
|
-
|
|
103
|
+
// Progressive backoff: a transient Keycloak 5xx during the OAuth
|
|
104
|
+
// login (the "We are sorry... internal server error" page) can
|
|
105
|
+
// persist for several seconds. Widening the gap between attempts
|
|
106
|
+
// (2s, 4s, 6s, 8s) lets the auth server recover instead of burning
|
|
107
|
+
// every retry inside one short outage window.
|
|
108
|
+
await (0, sleep_1.sleep)(2000 * (attempt + 1));
|
|
104
109
|
if (!this.page.isClosed()) {
|
|
105
110
|
try {
|
|
106
111
|
await this.page.waitForLoadState('load', { timeout: timeout });
|
|
@@ -152,7 +152,7 @@ class OCIdentityRolesPage {
|
|
|
152
152
|
await this.createIdField.fill(role.id);
|
|
153
153
|
await this.createNameField.fill(role.name);
|
|
154
154
|
await this.createRoleModalCreateButton.click();
|
|
155
|
-
await (0, test_1.expect)(this.createRoleModal).not.toBeVisible();
|
|
155
|
+
await (0, test_1.expect)(this.createRoleModal).not.toBeVisible({ timeout: 60000 });
|
|
156
156
|
await (0, expectLocatorWithPagination_1.expectLocatorWithPagination)(this.page, this.rolesList
|
|
157
157
|
.getByRole('cell', {
|
|
158
158
|
name: role.name,
|
|
@@ -59,6 +59,13 @@ class OperateHomePage {
|
|
|
59
59
|
});
|
|
60
60
|
await this.processesTab.click({ timeout: constants_1._1_SECOND_IN_MS * 4 });
|
|
61
61
|
},
|
|
62
|
+
postAction: async () => {
|
|
63
|
+
// Operate is a Vite SPA: a transient module/CSS preload failure
|
|
64
|
+
// renders a "Something went wrong - Please reload the page" screen
|
|
65
|
+
// on which the Processes tab click is a no-op. Reload to fetch fresh
|
|
66
|
+
// assets so the next attempt can render the Processes view.
|
|
67
|
+
await this.page.reload({ waitUntil: 'domcontentloaded' });
|
|
68
|
+
},
|
|
62
69
|
});
|
|
63
70
|
}
|
|
64
71
|
async closeInformationDialog() {
|
|
@@ -130,7 +130,7 @@ class OptimizeReportPage {
|
|
|
130
130
|
}
|
|
131
131
|
async waitUntilLocatorIsVisible(locator, tab) {
|
|
132
132
|
let elapsedTime = 0;
|
|
133
|
-
const maxWaitTimeSeconds =
|
|
133
|
+
const maxWaitTimeSeconds = 300000;
|
|
134
134
|
while (elapsedTime < maxWaitTimeSeconds) {
|
|
135
135
|
const element = await locator;
|
|
136
136
|
if (await element.isVisible()) {
|
|
@@ -96,6 +96,23 @@ class PlayPage {
|
|
|
96
96
|
await this.completeJobButton.click();
|
|
97
97
|
}
|
|
98
98
|
async clickStartInstanceButton() {
|
|
99
|
+
const scenariosRegion = this.page.getByRole('region', { name: 'Scenarios' });
|
|
100
|
+
const backToScenariosButton = scenariosRegion.getByRole('button', {
|
|
101
|
+
name: 'Back to scenarios',
|
|
102
|
+
});
|
|
103
|
+
const closeScenariosButton = scenariosRegion.getByRole('button', {
|
|
104
|
+
name: 'Close',
|
|
105
|
+
});
|
|
106
|
+
// When "Configure scenario" is clicked with a prior scenario already saved,
|
|
107
|
+
// the Play UI opens scenario DETAILS (with "Back to scenarios") instead of
|
|
108
|
+
// the input panel. Close the Scenarios panel to reveal the canvas start controls.
|
|
109
|
+
const isDetailsView = await backToScenariosButton
|
|
110
|
+
.waitFor({ state: 'visible', timeout: 3000 })
|
|
111
|
+
.then(() => true)
|
|
112
|
+
.catch(() => false);
|
|
113
|
+
if (isDetailsView) {
|
|
114
|
+
await closeScenariosButton.click();
|
|
115
|
+
}
|
|
99
116
|
const startTrigger = this.configureTestPanelStartButton
|
|
100
117
|
.or(this.inputPanelStartButton)
|
|
101
118
|
.or(this.startInstanceButton)
|