Browse Source

test: cell selection retry logic to avoid flakyness

Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com>
pull/4960/head
Raju Udava 2 years ago
parent
commit
7e50c72fbb
  1. 29
      tests/playwright/pages/Dashboard/Grid/index.ts

29
tests/playwright/pages/Dashboard/Grid/index.ts

@ -308,18 +308,41 @@ export class GridPage extends BasePage {
} }
async copyWithKeyboard() { async copyWithKeyboard() {
// retry to avoid flakiness, until text is copied to clipboard
//
let text = '';
let retryCount = 5;
while (text === '') {
await this.get().press((await this.isMacOs()) ? 'Meta+C' : 'Control+C'); await this.get().press((await this.isMacOs()) ? 'Meta+C' : 'Control+C');
await this.verifyToast({ message: 'Copied to clipboard' }); await this.verifyToast({ message: 'Copied to clipboard' });
text = await this.getClipboardText();
return this.getClipboardText(); // retry if text is empty till count is reached
retryCount--;
if (0 === retryCount) {
break;
}
}
return text;
} }
async copyWithMouse({ index, columnHeader }: CellProps) { async copyWithMouse({ index, columnHeader }: CellProps) {
// retry to avoid flakiness, until text is copied to clipboard
//
let text = '';
let retryCount = 5;
while (text === '') {
await this.cell.get({ index, columnHeader }).click({ button: 'right' }); await this.cell.get({ index, columnHeader }).click({ button: 'right' });
await this.get().page().getByTestId('context-menu-item-copy').click(); await this.get().page().getByTestId('context-menu-item-copy').click();
await this.verifyToast({ message: 'Copied to clipboard' }); await this.verifyToast({ message: 'Copied to clipboard' });
text = await this.getClipboardText();
return this.getClipboardText(); // retry if text is empty till count is reached
retryCount--;
if (0 === retryCount) {
break;
}
}
return text;
} }
} }

Loading…
Cancel
Save