Skip to content
This repository was archived by the owner on Sep 11, 2025. It is now read-only.

Commit b14ddcc

Browse files
committed
Final version without page reload
Signed-off-by: mrrajan <86094767+mrrajan@users.noreply.github.com.>
1 parent 211ef81 commit b14ddcc

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

tests/ui/features/@sbom-explorer/sbom-explorer.feature

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ Feature: SBOM Explorer - View SBOM details
126126
| sbomName |
127127
| quarkus-bom |
128128

129-
@slow
130129
Scenario Outline: Add Labels to SBOM from SBOM List Page
131130
Given An ingested SBOM "<sbomName>" is available
132131
When User Adds Labels "<Labels>" to "<sbomName>" SBOM from List Page
@@ -135,7 +134,6 @@ Feature: SBOM Explorer - View SBOM details
135134
| sbomName | Labels |
136135
| quarkus-bom | RANDOM_LABELS |
137136

138-
@slow
139137
Scenario Outline: Add Labels to SBOM from SBOM Explorer Page
140138
Given An ingested SBOM "<sbomName>" is available
141139
When User visits SBOM details Page of "<sbomName>"

tests/ui/features/@sbom-explorer/sbom-explorer.step.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,6 @@ When(
202202
// Generate random labels if placeholder is used
203203
const labelsToAdd =
204204
labelList === "RANDOM_LABELS" ? detailsPage.generateLabels() : labelList;
205-
console.log(`List page - Labels added ${labelList}`);
206205
await detailsPage.addLabels(labelsToAdd);
207206

208207
// Store generated labels for verification
@@ -223,7 +222,6 @@ Then(
223222
labelList === "RANDOM_LABELS"
224223
? (page as any).testContext?.generatedLabels || labelList
225224
: labelList;
226-
console.log(`List page - Expected labels ${labelsToVerify}`);
227225
await detailsPage.verifyLabels(labelsToVerify, sbomName);
228226
}
229227
);
@@ -235,7 +233,6 @@ When(
235233
await detailsPage.editLabelsDetailsPage();
236234
const labelsToAdd =
237235
labelList === "RANDOM_LABELS" ? detailsPage.generateLabels() : labelList;
238-
console.log(`Explorer page - Labels added ${labelList}`);
239236
await detailsPage.addLabels(labelsToAdd);
240237
(page as any).testContext = {
241238
...(page as any).testContext,
@@ -256,7 +253,6 @@ Then(
256253
labelList === "RANDOM_LABELS"
257254
? (page as any).testContext?.generatedLabels || labelList
258255
: labelList;
259-
console.log(`Explorer page - Expected labels ${labelsToVerify}`);
260256
await detailsPage.verifyLabels(labelsToVerify, sbomName, infoSection);
261257
}
262258
);

tests/ui/helpers/DetailsPage.ts

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ export class DetailsPage {
186186
*/
187187
async addLabels(labelList: string) {
188188
let labels = labelList.split(",").map((label) => label.trim());
189-
console.log(`Labels added to the list: ${labelList}`);
190189
await this.page.getByText("Edit labels").isVisible();
191190
for (let label of labels) {
192191
await this.page.getByPlaceholder("Add label").fill(label);
@@ -227,31 +226,38 @@ export class DetailsPage {
227226
);
228227
await expect(labelContainer).toBeVisible({ timeout: 5000 });
229228
let max_attempts = 0;
230-
while (max_attempts < 3) {
229+
let labelFound = true;
230+
let labelExpected = [...labels];
231+
while (max_attempts < 3 && labelFound) {
231232
max_attempts++;
232-
const labelElements = await parentElem
233-
.locator(`xpath=//ul[@aria-label='Label group category']/li`)
234-
.all();
235-
236-
for (const elem of labelElements) {
237-
if (labels.length > 0) {
238-
const labelText = await elem.innerText({ timeout: 2000 });
239-
labels = labels.filter((label) => label !== labelText);
240-
console.log(`Verification loop: Labels from UI - ${labelText}, LabelListRemaining - ${labels}`);
241-
} else {
242-
break;
233+
for (const label of labels) {
234+
try {
235+
const labelUI = await parentElem.locator(
236+
`xpath=//ul[@aria-label='Label group category']/li[.='${label}']`
237+
);
238+
await expect(labelUI).toBeVisible({ timeout: 2000 });
239+
labelExpected = labelExpected.filter(
240+
(labelTemp) => labelTemp !== label
241+
);
242+
} catch {
243+
await this.page.waitForTimeout(500);
243244
}
244245
}
245-
if (labels.length === 0) {
246-
break;
247-
} else {
248-
console.log(`Reload`);
249-
await this.page.reload({ waitUntil: 'networkidle' });
246+
// for (const elem of labelElements) {
247+
// if (labels.length > 0) {
248+
// const labelText = await elem.innerText({ timeout: 2000 });
249+
// labels = labels.filter((label) => label !== labelText);
250+
// } else {
251+
// break;
252+
// }
253+
// }
254+
if (labelExpected.length === 0) {
255+
labelFound = false;
250256
}
251257
}
252258
expect(
253-
labels.length,
254-
`Labels missing from the given list: ${labels.join(", ")}`
259+
labelExpected.length,
260+
`Labels missing from the given list: ${labelExpected.join(", ")}`
255261
).toBe(0);
256262
}
257263
}

0 commit comments

Comments
 (0)