@camunda/e2e-test-suite 0.0.384 → 0.0.386
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/8.8/AppsPage.js +8 -18
- package/dist/pages/8.8/Authorization.js +3 -1
- package/dist/pages/8.8/ClusterSecretsPage.js +2 -2
- package/dist/pages/8.8/ConsoleOrganizationPage.js +9 -1
- package/dist/pages/8.8/IdpCreatePage.js +8 -8
- package/dist/pages/8.8/ModelerHomePage.js +7 -0
- package/dist/pages/SM-8.8/KeycloakAdminPage.js +1 -1
- package/dist/pages/SM-8.8/ModelerCreatePage.js +23 -2
- package/dist/pages/SM-8.8/OptimizeReportPage.js +1 -1
- package/dist/pages/SM-8.8/optimizeReportUtils.js +7 -1
- package/dist/tests/SM-8.8/hto-user-flows.spec.js +1 -1
- package/package.json +1 -1
|
@@ -64,7 +64,7 @@ class AppsPage {
|
|
|
64
64
|
}
|
|
65
65
|
async clickCluster(component, name) {
|
|
66
66
|
const cluster = component.getByRole('link', { name: name, exact: true });
|
|
67
|
-
await (0, test_1.expect)(cluster).toBeVisible({ timeout:
|
|
67
|
+
await (0, test_1.expect)(cluster).toBeVisible({ timeout: 60000 });
|
|
68
68
|
await cluster.click();
|
|
69
69
|
}
|
|
70
70
|
async clickModeler() {
|
|
@@ -129,24 +129,14 @@ class AppsPage {
|
|
|
129
129
|
const maxRetries = 5;
|
|
130
130
|
for (let retries = 0; retries < maxRetries; retries++) {
|
|
131
131
|
try {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
//Multiple clusters
|
|
139
|
-
await this.doClickClusterInIdentity(clusterName);
|
|
140
|
-
}
|
|
132
|
+
await this.clickCamundaApps();
|
|
133
|
+
await (0, sleep_1.sleep)(3000);
|
|
134
|
+
if (await this.identityLink.isVisible({ timeout: 5000 })) {
|
|
135
|
+
await this.identityLink.click({ timeout: 10000 });
|
|
141
136
|
}
|
|
142
137
|
else {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
await this.identityLink.click({ timeout: 10000 });
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
await this.doClickClusterInIdentity(clusterName);
|
|
149
|
-
}
|
|
138
|
+
//Multiple clusters
|
|
139
|
+
await this.doClickClusterInIdentity(clusterName);
|
|
150
140
|
}
|
|
151
141
|
return;
|
|
152
142
|
}
|
|
@@ -187,7 +177,7 @@ class AppsPage {
|
|
|
187
177
|
expanded: true,
|
|
188
178
|
})
|
|
189
179
|
.isHidden({ timeout: 5000 })) {
|
|
190
|
-
await this.identityButton.click({ timeout:
|
|
180
|
+
await this.identityButton.click({ timeout: 30000 });
|
|
191
181
|
}
|
|
192
182
|
await this.clickCluster(this.identityListItem, clusterName);
|
|
193
183
|
}
|
|
@@ -123,7 +123,9 @@ class Authorization {
|
|
|
123
123
|
await locator.click();
|
|
124
124
|
await (0, test_1.expect)(this.deleteAuthorizationModal).toBeVisible();
|
|
125
125
|
await this.deleteAuthorizationModalDeleteButton.click();
|
|
126
|
-
await (0, test_1.expect)(this.deleteAuthorizationModal).not.toBeVisible(
|
|
126
|
+
await (0, test_1.expect)(this.deleteAuthorizationModal).not.toBeVisible({
|
|
127
|
+
timeout: 30000,
|
|
128
|
+
});
|
|
127
129
|
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.authorizationsList
|
|
128
130
|
.getByRole('cell', {
|
|
129
131
|
name: resourceId,
|
|
@@ -191,7 +191,7 @@ class ClusterSecretsPage {
|
|
|
191
191
|
}
|
|
192
192
|
async clickImportButton() {
|
|
193
193
|
await (0, test_1.expect)(this.importButton).toBeVisible({ timeout: 30000 });
|
|
194
|
-
await this.importButton.click();
|
|
194
|
+
await this.importButton.click({ timeout: 30000 });
|
|
195
195
|
}
|
|
196
196
|
async bulkImportSecrets(secrets) {
|
|
197
197
|
const mapped = secrets
|
|
@@ -211,7 +211,7 @@ class ClusterSecretsPage {
|
|
|
211
211
|
await this.bulkImportTextArea.fill(mapped);
|
|
212
212
|
await this.dialogImportButton.click();
|
|
213
213
|
await (0, test_1.expect)(this.dialog).not.toBeVisible({
|
|
214
|
-
timeout:
|
|
214
|
+
timeout: 120000,
|
|
215
215
|
});
|
|
216
216
|
await (0, test_1.expect)(this.createNewSecretButton).toBeVisible({
|
|
217
217
|
timeout: 60000,
|
|
@@ -239,7 +239,15 @@ class ConsoleOrganizationPage {
|
|
|
239
239
|
await this.optInButton.click({ timeout: 60000 });
|
|
240
240
|
}
|
|
241
241
|
async enableAlphaFeature(name) {
|
|
242
|
-
await (0,
|
|
242
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.rows.first(), {
|
|
243
|
+
visibilityTimeout: 60000,
|
|
244
|
+
totalTimeout: 300000,
|
|
245
|
+
maxRetries: 5,
|
|
246
|
+
postAction: async () => {
|
|
247
|
+
await this.page.reload();
|
|
248
|
+
await this.clickSettingsTab();
|
|
249
|
+
},
|
|
250
|
+
});
|
|
243
251
|
const alphaFeature = this.rows.filter({ hasText: name }).first();
|
|
244
252
|
if ((await alphaFeature.count()) < 1) {
|
|
245
253
|
console.error(`No alpha feature(${name}) is found.`);
|
|
@@ -190,13 +190,13 @@ class IdpCreatePage {
|
|
|
190
190
|
});
|
|
191
191
|
await this.unstructured_extractDocumentButton.click({ timeout: 60000 });
|
|
192
192
|
await (0, test_1.expect)(this.page.getByText('Extracting..')).not.toBeVisible({
|
|
193
|
-
timeout:
|
|
193
|
+
timeout: 300000,
|
|
194
194
|
});
|
|
195
195
|
await (0, test_1.expect)(this.unstructured_saveAsTestCaseButton).toBeVisible({
|
|
196
|
-
timeout:
|
|
196
|
+
timeout: 300000,
|
|
197
197
|
});
|
|
198
198
|
await (0, test_1.expect)(this.unstructured_saveAsTestCaseButton).toBeEnabled({
|
|
199
|
-
timeout:
|
|
199
|
+
timeout: 300000,
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
202
|
async clickSaveAsTestCaseButton() {
|
|
@@ -269,10 +269,10 @@ class IdpCreatePage {
|
|
|
269
269
|
}
|
|
270
270
|
async selectAllExtractionFields() {
|
|
271
271
|
await (0, test_1.expect)(this.extractionInProgressNotification).not.toBeVisible({
|
|
272
|
-
timeout:
|
|
272
|
+
timeout: 300000,
|
|
273
273
|
});
|
|
274
274
|
await (0, test_1.expect)(this.structured_FieldsTab).toBeVisible({
|
|
275
|
-
timeout:
|
|
275
|
+
timeout: 300000,
|
|
276
276
|
});
|
|
277
277
|
await (0, test_1.expect)(this.structured_CheckboxSelectAllFields).toBeVisible({
|
|
278
278
|
timeout: 60000,
|
|
@@ -308,15 +308,15 @@ class IdpCreatePage {
|
|
|
308
308
|
});
|
|
309
309
|
await this.structured_TestExtractionTemplateButton.click({ timeout: 60000 });
|
|
310
310
|
await (0, test_1.expect)(this.extractionInProgressNotification).not.toBeVisible({
|
|
311
|
-
timeout:
|
|
311
|
+
timeout: 300000,
|
|
312
312
|
});
|
|
313
313
|
}
|
|
314
314
|
async extractionResultsAreVisible() {
|
|
315
315
|
await (0, test_1.expect)(this.structured_TestSummaryResult).toBeVisible({
|
|
316
|
-
timeout:
|
|
316
|
+
timeout: 180000,
|
|
317
317
|
});
|
|
318
318
|
await (0, test_1.expect)(this.structured_DetailsResult).toBeVisible({
|
|
319
|
-
timeout:
|
|
319
|
+
timeout: 180000,
|
|
320
320
|
});
|
|
321
321
|
}
|
|
322
322
|
async clickPublishTemplateButton() {
|
|
@@ -164,9 +164,16 @@ class ModelerHomePage {
|
|
|
164
164
|
}
|
|
165
165
|
async clickCrossComponentProjectFolder() {
|
|
166
166
|
await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.crossComponentProjectFolder, {
|
|
167
|
+
visibilityTimeout: 60000,
|
|
168
|
+
totalTimeout: 180000,
|
|
169
|
+
maxRetries: 5,
|
|
167
170
|
preAction: async () => {
|
|
168
171
|
await this.clickMessageBanner();
|
|
169
172
|
},
|
|
173
|
+
postAction: async () => {
|
|
174
|
+
await this.page.reload();
|
|
175
|
+
await this.page.waitForLoadState('domcontentloaded');
|
|
176
|
+
},
|
|
170
177
|
});
|
|
171
178
|
}
|
|
172
179
|
async createCrossComponentProjectFolder() {
|
|
@@ -17,7 +17,7 @@ class KeycloakAdminPage {
|
|
|
17
17
|
const realmSelector = this.page.getByTestId('nav-item-realms');
|
|
18
18
|
await realmSelector.click();
|
|
19
19
|
const searchField = this.page.getByTestId('selectRealminput');
|
|
20
|
-
await searchField.click();
|
|
20
|
+
await searchField.click({ timeout: 30000 });
|
|
21
21
|
await this.page
|
|
22
22
|
.getByPlaceholder('Search')
|
|
23
23
|
.fill(process.env.KEYCLOAK_REALM || 'camunda-platform');
|
|
@@ -857,11 +857,32 @@ class ModelerCreatePage {
|
|
|
857
857
|
const maxRetries = 4;
|
|
858
858
|
for (let retries = 0; retries < maxRetries; retries++) {
|
|
859
859
|
try {
|
|
860
|
+
if (retries === 0) {
|
|
861
|
+
// If the change type panel is not showing the connector (e.g. after
|
|
862
|
+
// visiting the marketplace), reopen it before waiting for the option.
|
|
863
|
+
const isAlreadyVisible = await this.intermediateWebhookConnectorOption.isVisible();
|
|
864
|
+
if (!isAlreadyVisible) {
|
|
865
|
+
await this.changeTypeButton.click({ force: true, timeout: 30000 });
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
else {
|
|
869
|
+
// Reload to pick up newly-downloaded connector templates, then
|
|
870
|
+
// re-select the intermediate event element and open the type picker.
|
|
871
|
+
await this.page.reload();
|
|
872
|
+
await this.secondElement.click({ force: true, timeout: 30000 });
|
|
873
|
+
await this.changeTypeButton.click({ force: true, timeout: 30000 });
|
|
874
|
+
}
|
|
875
|
+
// Use a longer timeout to allow the connector to finish registering
|
|
876
|
+
// after a marketplace download before giving up.
|
|
860
877
|
await (0, test_1.expect)(this.intermediateWebhookConnectorOption).toBeVisible({
|
|
861
|
-
timeout:
|
|
878
|
+
timeout: 60000,
|
|
862
879
|
});
|
|
863
880
|
await this.intermediateWebhookConnectorOption.scrollIntoViewIfNeeded();
|
|
864
|
-
|
|
881
|
+
// force: true bypasses context-pad overlays that can intercept clicks
|
|
882
|
+
await this.intermediateWebhookConnectorOption.click({
|
|
883
|
+
timeout: 60000,
|
|
884
|
+
force: true,
|
|
885
|
+
});
|
|
865
886
|
return;
|
|
866
887
|
}
|
|
867
888
|
catch (error) {
|
|
@@ -169,7 +169,7 @@ class OptimizeReportPage {
|
|
|
169
169
|
}
|
|
170
170
|
async waitUntilUserTaskProcessIsVisible(processName) {
|
|
171
171
|
await (0, test_1.expect)(this.page.getByText(processName, { exact: true })).toBeVisible({
|
|
172
|
-
timeout:
|
|
172
|
+
timeout: 30000,
|
|
173
173
|
});
|
|
174
174
|
}
|
|
175
175
|
async clickCancelButton() {
|
|
@@ -14,7 +14,13 @@ const createReportForProcess = async (optimizeCollectionsPage, optimizeReportPag
|
|
|
14
14
|
break;
|
|
15
15
|
}
|
|
16
16
|
catch (error) {
|
|
17
|
-
|
|
17
|
+
try {
|
|
18
|
+
await optimizeReportPage.clickCancelButton();
|
|
19
|
+
}
|
|
20
|
+
catch (cancelError) {
|
|
21
|
+
// Page may have been closed due to test timeout, ignore
|
|
22
|
+
}
|
|
23
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
18
24
|
}
|
|
19
25
|
retries--;
|
|
20
26
|
(0, test_1.expect)(retries).toBeGreaterThan(0);
|
|
@@ -145,7 +145,7 @@ SM_8_8_1.test.describe('HTO User Flow Tests', () => {
|
|
|
145
145
|
timeout: 90000,
|
|
146
146
|
});
|
|
147
147
|
await (0, test_1.expect)(page.getByText('"updatedValue"')).toBeVisible({
|
|
148
|
-
timeout:
|
|
148
|
+
timeout: 90000,
|
|
149
149
|
});
|
|
150
150
|
await (0, sleep_1.sleep)(10000);
|
|
151
151
|
await navigationPage.goToTasklist();
|