@camunda/e2e-test-suite 0.0.771 → 0.0.772

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.
@@ -30,6 +30,7 @@ declare class ConnectorSettingsPage {
30
30
  fillResultVariableInput(variable: string): Promise<void>;
31
31
  clickBearerTokenInput(): Promise<void>;
32
32
  fillBearerTokenInput(token: string): Promise<void>;
33
+ private clickTabWithRetry;
33
34
  clickAuthenticationTab(): Promise<void>;
34
35
  clickOutputMappingTab(): Promise<void>;
35
36
  clickHTTPEndpointTab(): Promise<void>;
@@ -111,23 +111,43 @@ class ConnectorSettingsPage {
111
111
  await this.bearerTokenInput.fill(token);
112
112
  await (0, test_1.expect)(this.page.getByText('Bearer token must not be empty.')).not.toBeVisible({ timeout: 30000 });
113
113
  }
114
+ // Connector settings tabs can take several seconds to render on slower clusters
115
+ // after the element type is changed. Each clickXxxTab method retries with a
116
+ // reload-free wait so a single slow render doesn't cause a hard timeout failure.
117
+ async clickTabWithRetry(tab, tabName, maxAttempts = 3) {
118
+ let lastError;
119
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
120
+ try {
121
+ await (0, test_1.expect)(tab).toBeVisible({ timeout: 30000 });
122
+ await tab.click({ timeout: 30000 });
123
+ return;
124
+ }
125
+ catch (err) {
126
+ lastError = err;
127
+ console.warn(`clickTabWithRetry: "${tabName}" attempt ${attempt + 1}/${maxAttempts} failed: ${err instanceof Error ? err.message : err}`);
128
+ }
129
+ }
130
+ throw lastError instanceof Error
131
+ ? lastError
132
+ : new Error(`Tab "${tabName}" not clickable after ${maxAttempts} attempts`);
133
+ }
114
134
  async clickAuthenticationTab() {
115
- await this.authenticationTab.click({ timeout: 60000 });
135
+ await this.clickTabWithRetry(this.authenticationTab, 'Authentication');
116
136
  }
117
137
  async clickOutputMappingTab() {
118
- await this.outputMappingTab.click({ timeout: 60000 });
138
+ await this.clickTabWithRetry(this.outputMappingTab, 'Output mapping');
119
139
  }
120
140
  async clickHTTPEndpointTab() {
121
- await this.httpEndpointTab.click({ timeout: 60000 });
141
+ await this.clickTabWithRetry(this.httpEndpointTab, 'HTTP endpoint');
122
142
  }
123
143
  async clickCorrelationTab() {
124
- await this.correlationTab.click({ timeout: 60000 });
144
+ await this.clickTabWithRetry(this.correlationTab, 'Correlation');
125
145
  }
126
146
  async clickInputTab() {
127
- await this.inputTab.click({ timeout: 60000 });
147
+ await this.clickTabWithRetry(this.inputTab, 'Input');
128
148
  }
129
149
  async clickWebhookConfigurationTab() {
130
- await this.webhookConfigurationTab.click({ timeout: 60000 });
150
+ await this.clickTabWithRetry(this.webhookConfigurationTab, 'Webhook configuration');
131
151
  }
132
152
  }
133
153
  exports.ConnectorSettingsPage = ConnectorSettingsPage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.771",
3
+ "version": "0.0.772",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",