@camunda/e2e-test-suite 0.0.574 → 0.0.576
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/8.10/ModelerHomePage.js +7 -0
- package/dist/pages/8.6/ModelerHomePage.js +7 -0
- package/dist/pages/8.9/ModelerHomePage.js +7 -0
- package/dist/pages/SM-8.7/ModelerCreatePage.js +8 -6
- package/dist/pages/SM-8.7/ModelerHomePage.js +1 -3
- package/dist/pages/SM-8.7/NavigationPage.js +9 -2
- package/dist/pages/SM-8.7/PlayPage.js +1 -3
- package/package.json +1 -1
|
@@ -173,9 +173,16 @@ class ModelerHomePage {
|
|
|
173
173
|
}
|
|
174
174
|
async clickCrossComponentProjectFolder() {
|
|
175
175
|
await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.crossComponentProjectFolder, {
|
|
176
|
+
visibilityTimeout: 60000,
|
|
177
|
+
totalTimeout: 180000,
|
|
178
|
+
maxRetries: 5,
|
|
176
179
|
preAction: async () => {
|
|
177
180
|
await this.clickMessageBanner();
|
|
178
181
|
},
|
|
182
|
+
postAction: async () => {
|
|
183
|
+
await this.page.reload();
|
|
184
|
+
await this.page.waitForLoadState('domcontentloaded');
|
|
185
|
+
},
|
|
179
186
|
});
|
|
180
187
|
}
|
|
181
188
|
async createCrossComponentProjectFolder() {
|
|
@@ -121,9 +121,16 @@ class ModelerHomePage {
|
|
|
121
121
|
}
|
|
122
122
|
async clickCrossComponentProjectFolder() {
|
|
123
123
|
await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.crossComponentProjectFolder, {
|
|
124
|
+
visibilityTimeout: 60000,
|
|
125
|
+
totalTimeout: 180000,
|
|
126
|
+
maxRetries: 5,
|
|
124
127
|
preAction: async () => {
|
|
125
128
|
await this.clickMessageBanner();
|
|
126
129
|
},
|
|
130
|
+
postAction: async () => {
|
|
131
|
+
await this.page.reload();
|
|
132
|
+
await this.page.waitForLoadState('domcontentloaded');
|
|
133
|
+
},
|
|
127
134
|
});
|
|
128
135
|
}
|
|
129
136
|
async createForm(formName) {
|
|
@@ -173,9 +173,16 @@ class ModelerHomePage {
|
|
|
173
173
|
}
|
|
174
174
|
async clickCrossComponentProjectFolder() {
|
|
175
175
|
await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.crossComponentProjectFolder, {
|
|
176
|
+
visibilityTimeout: 60000,
|
|
177
|
+
totalTimeout: 180000,
|
|
178
|
+
maxRetries: 5,
|
|
176
179
|
preAction: async () => {
|
|
177
180
|
await this.clickMessageBanner();
|
|
178
181
|
},
|
|
182
|
+
postAction: async () => {
|
|
183
|
+
await this.page.reload();
|
|
184
|
+
await this.page.waitForLoadState('domcontentloaded');
|
|
185
|
+
},
|
|
179
186
|
});
|
|
180
187
|
}
|
|
181
188
|
async createCrossComponentProjectFolder() {
|
|
@@ -477,12 +477,14 @@ class ModelerCreatePage {
|
|
|
477
477
|
if (this.page.isClosed()) {
|
|
478
478
|
throw new Error('Target page, context or browser has been closed');
|
|
479
479
|
}
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
480
|
+
// web-modeler 8.7-SNAPSHOT replaced the combined "Deploy & run" button
|
|
481
|
+
// with separate "Deploy" and "Run" buttons. "Run" (startInstanceMainButton)
|
|
482
|
+
// deploys and starts the instance in one click, matching the old combined behaviour.
|
|
483
|
+
await this.startInstanceMainButton.waitFor({
|
|
484
|
+
state: 'visible',
|
|
485
|
+
timeout: 30000,
|
|
486
|
+
});
|
|
487
|
+
await this.startInstanceMainButton.click({ timeout: 30000 });
|
|
486
488
|
return;
|
|
487
489
|
}
|
|
488
490
|
catch (error) {
|
|
@@ -65,9 +65,7 @@ class ModelerHomePage {
|
|
|
65
65
|
this.uploadFilesButton = page.getByRole('menuitem', { name: 'Upload files' });
|
|
66
66
|
}
|
|
67
67
|
async clickCreateNewProjectButton() {
|
|
68
|
-
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.createNewProjectButton
|
|
69
|
-
totalTimeout: 30000,
|
|
70
|
-
});
|
|
68
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.createNewProjectButton);
|
|
71
69
|
await this.createNewProjectButton.click({ timeout: 10000 });
|
|
72
70
|
}
|
|
73
71
|
async enterNewProjectName(name) {
|
|
@@ -81,14 +81,21 @@ class NavigationPage {
|
|
|
81
81
|
await loginPage.login(this.activeUser, this.activePassword);
|
|
82
82
|
}
|
|
83
83
|
catch (error) {
|
|
84
|
-
// The login selector did NOT appear
|
|
85
|
-
//
|
|
84
|
+
// The login selector did NOT appear within 5 s. Fall through to the
|
|
85
|
+
// final banner check — if a delayed Keycloak redirect fires after
|
|
86
|
+
// that window the banner will be gone and the check will throw,
|
|
87
|
+
// triggering a retry rather than silently returning on the wrong page.
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
else {
|
|
89
91
|
// The login page was visible from the start.
|
|
90
92
|
await loginPage.login(this.activeUser, this.activePassword);
|
|
91
93
|
}
|
|
94
|
+
// Final guard: confirm we actually landed on the target page.
|
|
95
|
+
// A Keycloak redirect that fires more than 5 s after the banner
|
|
96
|
+
// first appears (common after context.clearCookies() + long beforeEach)
|
|
97
|
+
// is caught here and turns into a retry rather than a silent wrong-page return.
|
|
98
|
+
await (0, test_1.expect)(banner).toBeVisible({ timeout: 30000 });
|
|
92
99
|
return; // End of successful navigation/login
|
|
93
100
|
}
|
|
94
101
|
catch (error) {
|
|
@@ -54,9 +54,7 @@ class PlayPage {
|
|
|
54
54
|
this.confirmDeleteScenarioButton = page.getByRole('button', {
|
|
55
55
|
name: 'danger Delete',
|
|
56
56
|
});
|
|
57
|
-
this.viewAllScenariosButton = page
|
|
58
|
-
.getByRole('button', { name: '(View all)' })
|
|
59
|
-
.first();
|
|
57
|
+
this.viewAllScenariosButton = page.getByText('(View all)').last();
|
|
60
58
|
this.getScenarioRowByName = (scenarioName) => page.locator('tr', { hasText: scenarioName });
|
|
61
59
|
this.getScenarioRow = (scenarioName) => page.locator('tr', { hasText: scenarioName });
|
|
62
60
|
this.diagram = page.getByTestId('diagram');
|