@camunda/e2e-test-suite 0.0.770 → 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
|
|
135
|
+
await this.clickTabWithRetry(this.authenticationTab, 'Authentication');
|
|
116
136
|
}
|
|
117
137
|
async clickOutputMappingTab() {
|
|
118
|
-
await this.outputMappingTab
|
|
138
|
+
await this.clickTabWithRetry(this.outputMappingTab, 'Output mapping');
|
|
119
139
|
}
|
|
120
140
|
async clickHTTPEndpointTab() {
|
|
121
|
-
await this.httpEndpointTab
|
|
141
|
+
await this.clickTabWithRetry(this.httpEndpointTab, 'HTTP endpoint');
|
|
122
142
|
}
|
|
123
143
|
async clickCorrelationTab() {
|
|
124
|
-
await this.correlationTab
|
|
144
|
+
await this.clickTabWithRetry(this.correlationTab, 'Correlation');
|
|
125
145
|
}
|
|
126
146
|
async clickInputTab() {
|
|
127
|
-
await this.inputTab
|
|
147
|
+
await this.clickTabWithRetry(this.inputTab, 'Input');
|
|
128
148
|
}
|
|
129
149
|
async clickWebhookConfigurationTab() {
|
|
130
|
-
await this.webhookConfigurationTab
|
|
150
|
+
await this.clickTabWithRetry(this.webhookConfigurationTab, 'Webhook configuration');
|
|
131
151
|
}
|
|
132
152
|
}
|
|
133
153
|
exports.ConnectorSettingsPage = ConnectorSettingsPage;
|