@camunda/e2e-test-suite 0.0.528 → 0.0.530
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.
|
@@ -13,6 +13,7 @@ declare class OperateProcessesPage {
|
|
|
13
13
|
readonly processInstanceKeyTextBox: Locator;
|
|
14
14
|
private readonly whatsNewPopUp;
|
|
15
15
|
private readonly gotItButton;
|
|
16
|
+
private readonly processesTabLink;
|
|
16
17
|
constructor(page: Page);
|
|
17
18
|
private checkCheckbox;
|
|
18
19
|
private uncheckCheckbox;
|
|
@@ -19,9 +19,11 @@ class OperateProcessesPage {
|
|
|
19
19
|
processInstanceKeyTextBox;
|
|
20
20
|
whatsNewPopUp;
|
|
21
21
|
gotItButton;
|
|
22
|
+
processesTabLink;
|
|
22
23
|
constructor(page) {
|
|
23
24
|
this.page = page;
|
|
24
25
|
this.processResultCount = page.getByTestId('result-count');
|
|
26
|
+
this.processesTabLink = page.getByRole('link', { name: 'Processes' });
|
|
25
27
|
this.processActiveCheckbox = page
|
|
26
28
|
.locator('label')
|
|
27
29
|
.filter({ hasText: 'Active' });
|
|
@@ -206,7 +208,9 @@ class OperateProcessesPage {
|
|
|
206
208
|
return;
|
|
207
209
|
}
|
|
208
210
|
const MAX_ATTEMPTS = 30;
|
|
209
|
-
const TOTAL_TIMEOUT_MS =
|
|
211
|
+
const TOTAL_TIMEOUT_MS = env_1.isOpenSearch
|
|
212
|
+
? constants_1._1_MINUTE_IN_MS * 10
|
|
213
|
+
: constants_1._1_MINUTE_IN_MS * 6;
|
|
210
214
|
let attempt = 0;
|
|
211
215
|
let lastError;
|
|
212
216
|
const startTime = Date.now();
|
|
@@ -239,6 +243,22 @@ class OperateProcessesPage {
|
|
|
239
243
|
.waitForLoadState('networkidle', { timeout: 30000 })
|
|
240
244
|
.catch(() => console.log('waitForLoadState after Operate navigation timed out, continuing...'));
|
|
241
245
|
}
|
|
246
|
+
// Operate may land on the Dashboard after reload even when the captured
|
|
247
|
+
// URL pointed at the Processes view. The filter checkboxes only exist on
|
|
248
|
+
// the Processes tab, so navigate there explicitly before applying filters.
|
|
249
|
+
try {
|
|
250
|
+
await this.processesTabLink.waitFor({
|
|
251
|
+
state: 'visible',
|
|
252
|
+
timeout: constants_1._1_SECOND_IN_MS * 10,
|
|
253
|
+
});
|
|
254
|
+
await this.processesTabLink.click({ timeout: constants_1._1_SECOND_IN_MS * 10 });
|
|
255
|
+
await this.page
|
|
256
|
+
.waitForLoadState('networkidle', { timeout: 30000 })
|
|
257
|
+
.catch(() => { });
|
|
258
|
+
}
|
|
259
|
+
catch (navErr) {
|
|
260
|
+
console.log(`Processes tab click failed after reload: ${String(navErr)}`);
|
|
261
|
+
}
|
|
242
262
|
// Re-apply checkbox filter lost after reload
|
|
243
263
|
try {
|
|
244
264
|
await this.applyProcessStateFilter(type);
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OCIdentityHomePage = void 0;
|
|
4
4
|
const test_1 = require("@playwright/test");
|
|
5
5
|
const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
|
|
6
|
+
const clickLocatorWithRetry_1 = require("../../utils/assertionHelpers/clickLocatorWithRetry");
|
|
6
7
|
class OCIdentityHomePage {
|
|
7
8
|
page;
|
|
8
9
|
groupsTab;
|
|
@@ -62,8 +63,17 @@ class OCIdentityHomePage {
|
|
|
62
63
|
await this.authorizationsTab.click();
|
|
63
64
|
}
|
|
64
65
|
async clickRolesTab() {
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
// OC Identity occasionally renders the banner without the secondary nav
|
|
67
|
+
// tabs on opensearch upgrade scenarios. Reload between attempts to force
|
|
68
|
+
// the SPA to rehydrate the navigation instead of waiting on a stuck DOM.
|
|
69
|
+
await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.rolesTab, {
|
|
70
|
+
visibilityTimeout: 15000,
|
|
71
|
+
totalTimeout: 90000,
|
|
72
|
+
maxRetries: 4,
|
|
73
|
+
postAction: async () => {
|
|
74
|
+
await this.page.reload({ waitUntil: 'domcontentloaded' });
|
|
75
|
+
},
|
|
76
|
+
});
|
|
67
77
|
}
|
|
68
78
|
async clickGroupsTab() {
|
|
69
79
|
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(this.page, this.groupsTab);
|
|
@@ -4,7 +4,7 @@ exports.OCIdentityRolesPage = void 0;
|
|
|
4
4
|
const test_1 = require("@playwright/test");
|
|
5
5
|
const UtilitiesPage_1 = require("../SM-8.8/UtilitiesPage");
|
|
6
6
|
const expectLocatorWithPagination_1 = require("../../utils/assertionHelpers/expectLocatorWithPagination");
|
|
7
|
-
const
|
|
7
|
+
const clickLocatorWithRetry_1 = require("../../utils/assertionHelpers/clickLocatorWithRetry");
|
|
8
8
|
class OCIdentityRolesPage {
|
|
9
9
|
page;
|
|
10
10
|
selectResourceTypeTab;
|
|
@@ -174,11 +174,17 @@ class OCIdentityRolesPage {
|
|
|
174
174
|
await this.assignUserSubButton.click();
|
|
175
175
|
}
|
|
176
176
|
async clickAdminRole() {
|
|
177
|
-
|
|
177
|
+
// The Roles list is occasionally empty on first render after the Roles
|
|
178
|
+
// tab loads (opensearch upgrade scenarios). Reload between attempts so
|
|
179
|
+
// the table refetches instead of waiting on a stale empty state.
|
|
180
|
+
await (0, clickLocatorWithRetry_1.clickLocatorWithRetry)(this.page, this.adminRole, {
|
|
178
181
|
visibilityTimeout: 30000,
|
|
179
182
|
totalTimeout: 120000,
|
|
183
|
+
maxRetries: 4,
|
|
184
|
+
postAction: async () => {
|
|
185
|
+
await this.page.reload({ waitUntil: 'domcontentloaded' });
|
|
186
|
+
},
|
|
180
187
|
});
|
|
181
|
-
await this.adminRole.click();
|
|
182
188
|
}
|
|
183
189
|
async clickClientsTab() {
|
|
184
190
|
await this.clientsTab.click();
|