[Logs Explorer] Fixe flaky virtual column popover actions e2e tests (#188773)

The PR attempts to fix the flakiness in the e2e tests by avoiding clicks
on an already opened popover. The click statement within
`retry.tryForTime` can be called in succession, which could
inadvertently close the popover, which we want to avoid in this case.

The screenshot from failed tests suggests that the assertion is made on
a closed down popover:

![image](https://github.com/user-attachments/assets/bd3a9e2c-c292-47db-be89-b4f0a35911f9)
This commit is contained in:
Abdul Wahab Zahid 2024-07-22 12:18:36 +02:00 committed by GitHub
parent d9c651f20a
commit acf25bc64d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 42 additions and 24 deletions

View file

@ -184,12 +184,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await retry.tryForTime(TEST_TIMEOUT, async () => {
const cellElement = await dataGrid.getCellElement(0, 4);
const logLevelChip = await cellElement.findByTestSubject('*logLevelBadge-');
await logLevelChip.click();
const actionSelector = 'dataTableCellAction_addToFilterAction_log.level';
// Open popover if not already open
if (!(await testSubjects.exists(actionSelector, { timeout: 0 }))) {
await logLevelChip.click();
}
// Find Filter In button
const filterInButton = await testSubjects.find(
'dataTableCellAction_addToFilterAction_log.level'
);
const filterInButton = await testSubjects.find(actionSelector);
await filterInButton.click();
const rowWithLogLevelInfo = await testSubjects.findAll('*logLevelBadge-');
@ -202,12 +205,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await retry.tryForTime(TEST_TIMEOUT, async () => {
const cellElement = await dataGrid.getCellElement(0, 4);
const logLevelChip = await cellElement.findByTestSubject('*logLevelBadge-');
await logLevelChip.click();
const actionSelector = 'dataTableCellAction_removeFromFilterAction_log.level';
// Open popover if not already open
if (!(await testSubjects.exists(actionSelector, { timeout: 0 }))) {
await logLevelChip.click();
}
// Find Filter Out button
const filterOutButton = await testSubjects.find(
'dataTableCellAction_removeFromFilterAction_log.level'
);
const filterOutButton = await testSubjects.find(actionSelector);
await filterOutButton.click();
await testSubjects.missingOrFail('*logLevelBadge-');
@ -220,12 +226,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const serviceNameChip = await cellElement.findByTestSubject(
'dataTablePopoverChip_service.name'
);
await serviceNameChip.click();
const actionSelector = 'dataTableCellAction_addToFilterAction_service.name';
// Open popover if not already open
if (!(await testSubjects.exists(actionSelector, { timeout: 0 }))) {
await serviceNameChip.click();
}
// Find Filter In button
const filterInButton = await testSubjects.find(
'dataTableCellAction_addToFilterAction_service.name'
);
const filterInButton = await testSubjects.find(actionSelector);
await filterInButton.click();
const rowWithLogLevelInfo = await testSubjects.findAll(

View file

@ -185,12 +185,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await retry.tryForTime(TEST_TIMEOUT, async () => {
const cellElement = await dataGrid.getCellElement(0, 4);
const logLevelChip = await cellElement.findByTestSubject('*logLevelBadge-');
await logLevelChip.click();
const actionSelector = 'dataTableCellAction_addToFilterAction_log.level';
// Open popover if not already open
if (!(await testSubjects.exists(actionSelector, { timeout: 0 }))) {
await logLevelChip.click();
}
// Find Filter In button
const filterInButton = await testSubjects.find(
'dataTableCellAction_addToFilterAction_log.level'
);
const filterInButton = await testSubjects.find(actionSelector);
await filterInButton.click();
const rowWithLogLevelInfo = await testSubjects.findAll('*logLevelBadge-');
@ -203,12 +206,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await retry.tryForTime(TEST_TIMEOUT, async () => {
const cellElement = await dataGrid.getCellElement(0, 4);
const logLevelChip = await cellElement.findByTestSubject('*logLevelBadge-');
await logLevelChip.click();
const actionSelector = 'dataTableCellAction_removeFromFilterAction_log.level';
// Open popover if not already open
if (!(await testSubjects.exists(actionSelector, { timeout: 0 }))) {
await logLevelChip.click();
}
// Find Filter Out button
const filterOutButton = await testSubjects.find(
'dataTableCellAction_removeFromFilterAction_log.level'
);
const filterOutButton = await testSubjects.find(actionSelector);
await filterOutButton.click();
await testSubjects.missingOrFail('*logLevelBadge-');
@ -221,12 +227,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const serviceNameChip = await cellElement.findByTestSubject(
'dataTablePopoverChip_service.name'
);
await serviceNameChip.click();
const actionSelector = 'dataTableCellAction_addToFilterAction_service.name';
// Open popover if not already open
if (!(await testSubjects.exists(actionSelector, { timeout: 0 }))) {
await serviceNameChip.click();
}
// Find Filter In button
const filterInButton = await testSubjects.find(
'dataTableCellAction_addToFilterAction_service.name'
);
const filterInButton = await testSubjects.find(actionSelector);
await filterInButton.click();
const rowWithLogLevelInfo = await testSubjects.findAll(