@camunda/e2e-test-suite 0.0.374 → 0.0.376
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.8/ModelerCreatePage.js +18 -1
- package/dist/pages/SM-8.8/OperateProcessesPage.js +17 -13
- package/dist/pages/SM-8.9/IdentityTenantPage.js +1 -1
- package/dist/pages/SM-8.9/ManagementIdentityPage.js +1 -1
- package/dist/tests/SM-8.9/mt-enabled-user-flows.spec.js +3 -1
- package/package.json +1 -1
|
@@ -854,7 +854,24 @@ class ModelerCreatePage {
|
|
|
854
854
|
await this.intermediateBoundaryEvent.click({ timeout: 60000 });
|
|
855
855
|
}
|
|
856
856
|
async clickIntermediateWebhookConnectorOption() {
|
|
857
|
-
|
|
857
|
+
const maxRetries = 4;
|
|
858
|
+
for (let retries = 0; retries < maxRetries; retries++) {
|
|
859
|
+
try {
|
|
860
|
+
await (0, test_1.expect)(this.intermediateWebhookConnectorOption).toBeVisible({
|
|
861
|
+
timeout: 30000,
|
|
862
|
+
});
|
|
863
|
+
await this.intermediateWebhookConnectorOption.scrollIntoViewIfNeeded();
|
|
864
|
+
await this.intermediateWebhookConnectorOption.click({ timeout: 60000 });
|
|
865
|
+
return;
|
|
866
|
+
}
|
|
867
|
+
catch (error) {
|
|
868
|
+
console.error(`Attempt ${retries + 1} failed to click intermediate webhook connector option: ${error}`);
|
|
869
|
+
if (retries < maxRetries - 1) {
|
|
870
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
throw new Error(`Failed to click intermediate webhook connector option after ${maxRetries} attempts.`);
|
|
858
875
|
}
|
|
859
876
|
async clickCorrelationKeyProcessInput() {
|
|
860
877
|
await this.correlationKeyProcessInput.click({ timeout: 60000 });
|
|
@@ -44,7 +44,7 @@ class OperateProcessesPage {
|
|
|
44
44
|
await checkbox.click();
|
|
45
45
|
await (0, test_1.expect)(checkbox).toBeChecked({
|
|
46
46
|
checked: true,
|
|
47
|
-
timeout: constants_1._1_SECOND_IN_MS *
|
|
47
|
+
timeout: constants_1._1_SECOND_IN_MS * 15,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -53,7 +53,7 @@ class OperateProcessesPage {
|
|
|
53
53
|
await checkbox.click();
|
|
54
54
|
await (0, test_1.expect)(checkbox).toBeChecked({
|
|
55
55
|
checked: false,
|
|
56
|
-
timeout: constants_1._1_SECOND_IN_MS *
|
|
56
|
+
timeout: constants_1._1_SECOND_IN_MS * 10,
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -115,23 +115,25 @@ class OperateProcessesPage {
|
|
|
115
115
|
let attempt = 0;
|
|
116
116
|
let lastError;
|
|
117
117
|
const startTime = Date.now();
|
|
118
|
-
if (type === 'active') {
|
|
119
|
-
await this.toggleActiveCheckboxOn();
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
await this.toggleCompletedCheckbox();
|
|
123
|
-
}
|
|
124
118
|
while (Date.now() - startTime < TOTAL_TIMEOUT_MS &&
|
|
125
119
|
attempt < MAX_ATTEMPTS) {
|
|
126
120
|
attempt++;
|
|
127
121
|
try {
|
|
122
|
+
// Re-apply filter on every attempt so reloads don't reset the checkbox state
|
|
123
|
+
if (type === 'active') {
|
|
124
|
+
await this.toggleActiveCheckboxOn();
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
await this.toggleCompletedCheckbox();
|
|
128
|
+
}
|
|
128
129
|
if (await this.checkTableForProcess(processName)) {
|
|
129
130
|
return;
|
|
130
131
|
}
|
|
131
|
-
throw new Error(`
|
|
132
|
+
throw new Error(`Instance "${processName}" not found in table (attempt ${attempt}).`);
|
|
132
133
|
}
|
|
133
134
|
catch (err) {
|
|
134
135
|
lastError = err instanceof Error ? err.message : err;
|
|
136
|
+
console.log(`Attempt ${attempt} failed for "${processName}". URL: ${this.page.url()}. Error: ${String(lastError)}. Reloading...`);
|
|
135
137
|
await this.page.reload();
|
|
136
138
|
await (0, sleep_1.sleep)(5000);
|
|
137
139
|
}
|
|
@@ -142,13 +144,15 @@ class OperateProcessesPage {
|
|
|
142
144
|
try {
|
|
143
145
|
const processTable = this.page.locator('[aria-label="Process Instances Panel"]');
|
|
144
146
|
await (0, test_1.expect)(processTable).toBeVisible({ timeout: constants_1._1_SECOND_IN_MS * 4 });
|
|
145
|
-
const
|
|
147
|
+
const rowTimeout = env_1.isOpenSearch
|
|
148
|
+
? constants_1._1_SECOND_IN_MS * 10
|
|
149
|
+
: constants_1._1_SECOND_IN_MS * 5;
|
|
146
150
|
const row = this.page.locator(`tr:has-text("${processName}")`).first();
|
|
147
|
-
await (0, test_1.expect)(row).toBeVisible({ timeout });
|
|
151
|
+
await (0, test_1.expect)(row).toBeVisible({ timeout: rowTimeout });
|
|
148
152
|
const link = row.locator('a').first();
|
|
149
|
-
await (0, test_1.expect)(link).toBeVisible({ timeout: constants_1.
|
|
153
|
+
await (0, test_1.expect)(link).toBeVisible({ timeout: constants_1._1_SECOND_IN_MS * 5 });
|
|
150
154
|
await link.scrollIntoViewIfNeeded();
|
|
151
|
-
await link.click({ timeout: constants_1.
|
|
155
|
+
await link.click({ timeout: constants_1._1_SECOND_IN_MS * 5 });
|
|
152
156
|
await (0, test_1.expect)(this.page.getByText('Instance History').first()).toBeVisible({ timeout: constants_1._1_SECOND_IN_MS * 4 });
|
|
153
157
|
return true;
|
|
154
158
|
}
|
|
@@ -110,7 +110,7 @@ class IdentityTenantPage {
|
|
|
110
110
|
try {
|
|
111
111
|
await (0, test_1.expect)(this.assignUserFinalButton).toBeVisible({ timeout: 60000 });
|
|
112
112
|
await this.assignUserFinalButton.click();
|
|
113
|
-
await (0, test_1.expect)(this.page.getByText('Users assigned')).toBeVisible();
|
|
113
|
+
await (0, test_1.expect)(this.page.getByText('Users assigned', { exact: true })).toBeVisible();
|
|
114
114
|
}
|
|
115
115
|
catch (e) {
|
|
116
116
|
if (await this.page.getByText('ALREADY_EXISTS').first().isVisible()) {
|
|
@@ -80,7 +80,7 @@ class ManagementIdentityPage {
|
|
|
80
80
|
}
|
|
81
81
|
async clickUser(username) {
|
|
82
82
|
const searchbox = this.page.getByRole('searchbox');
|
|
83
|
-
await searchbox.click();
|
|
83
|
+
await searchbox.click({ timeout: 30000 });
|
|
84
84
|
await searchbox.fill(username);
|
|
85
85
|
const user = this.page.getByRole('cell', { name: username, exact: true });
|
|
86
86
|
await (0, test_1.expect)(user).toBeVisible({ timeout: 60000 });
|
|
@@ -85,7 +85,9 @@ if (process.env.IS_MT === 'true') {
|
|
|
85
85
|
await page.reload();
|
|
86
86
|
await optimizeDashboardPage.clickFilterTable();
|
|
87
87
|
await optimizeDashboardPage.fillFilterTable(processName);
|
|
88
|
-
await optimizeDashboardPage.processAssertion(processName
|
|
88
|
+
await optimizeDashboardPage.processAssertion(processName, {
|
|
89
|
+
timeout: 250000,
|
|
90
|
+
});
|
|
89
91
|
});
|
|
90
92
|
}
|
|
91
93
|
await SM_8_9_1.test.step('Clear cookies and reset session', async () => {
|