@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.
@@ -854,7 +854,24 @@ class ModelerCreatePage {
854
854
  await this.intermediateBoundaryEvent.click({ timeout: 60000 });
855
855
  }
856
856
  async clickIntermediateWebhookConnectorOption() {
857
- await this.intermediateWebhookConnectorOption.click({ timeout: 60000 });
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 * 3,
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 * 2,
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(`Failed to open instance "${processName}" after ${MAX_ATTEMPTS} attempts.`);
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 timeout = env_1.isOpenSearch ? constants_1._1_SECOND_IN_MS * 10 : constants_1._100_MS * 2;
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._100_MS * 2 });
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._100_MS * 2 });
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 () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.374",
3
+ "version": "0.0.376",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",