@camunda/e2e-test-suite 0.0.575 → 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.
|
@@ -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');
|