diff --git a/tests/playwright/pages/Base.ts b/tests/playwright/pages/Base.ts index 043c04e614..4aeed1e144 100644 --- a/tests/playwright/pages/Base.ts +++ b/tests/playwright/pages/Base.ts @@ -84,4 +84,12 @@ export default abstract class BasePage { async getClipboardText() { return await this.rootPage.evaluate(() => navigator.clipboard.readText()); } + + async os() { + return await this.rootPage.evaluate(() => navigator.platform); + } + + async isMacOs() { + return (await this.os()).includes('Mac'); + } } diff --git a/tests/playwright/pages/Dashboard/common/Cell/index.ts b/tests/playwright/pages/Dashboard/common/Cell/index.ts index 921fbfb2d6..204375dcda 100644 --- a/tests/playwright/pages/Dashboard/common/Cell/index.ts +++ b/tests/playwright/pages/Dashboard/common/Cell/index.ts @@ -31,7 +31,8 @@ export class CellPageObject extends BasePage { } async click({ index, columnHeader }: { index: number; columnHeader: string }) { - return await this.get({ index, columnHeader }).click(); + await this.get({ index, columnHeader }).click(); + await (await this.get({ index, columnHeader }).elementHandle()).waitForElementState('stable'); } async dblclick({ index, columnHeader }: { index?: number; columnHeader: string }) { diff --git a/tests/playwright/tests/keyboardShortcuts.spec.ts b/tests/playwright/tests/keyboardShortcuts.spec.ts index 11dc129cc5..168bbe948c 100644 --- a/tests/playwright/tests/keyboardShortcuts.spec.ts +++ b/tests/playwright/tests/keyboardShortcuts.spec.ts @@ -66,20 +66,21 @@ test.describe('Verify shortcuts', () => { await dashboard.treeView.openTable({ title: 'Country' }); await page.waitForTimeout(1500); await grid.cell.click({ index: 0, columnHeader: 'Country' }); - await page.keyboard.press('Meta+ArrowRight'); + await page.waitForTimeout(1500); + await page.keyboard.press((await grid.isMacOs()) ? 'Meta+ArrowRight' : 'Control+ArrowRight'); await grid.cell.verifyCellActiveSelected({ index: 0, columnHeader: 'City List' }); // Cmd + Right arrow - await page.keyboard.press('Meta+ArrowLeft'); + await page.keyboard.press((await grid.isMacOs()) ? 'Meta+ArrowLeft' : 'Control+ArrowLeft'); await grid.cell.verifyCellActiveSelected({ index: 0, columnHeader: 'Country' }); // Cmd + up arrow await grid.cell.click({ index: 24, columnHeader: 'Country' }); - await page.keyboard.press('Meta+ArrowUp'); + await page.keyboard.press((await grid.isMacOs()) ? 'Meta+ArrowUp' : 'Control+ArrowUp'); await grid.cell.verifyCellActiveSelected({ index: 0, columnHeader: 'Country' }); // Cmd + down arrow - await page.keyboard.press('Meta+ArrowDown'); + await page.keyboard.press((await grid.isMacOs()) ? 'Meta+ArrowDown' : 'Control+ArrowDown'); await grid.cell.verifyCellActiveSelected({ index: 24, columnHeader: 'Country' }); // Enter to edit and Esc to cancel @@ -96,7 +97,7 @@ test.describe('Verify shortcuts', () => { header: 'Algeria', }); await dashboard.expandedForm.fillField({ columnTitle: 'Country', value: 'NewAlgeria' }); - await page.keyboard.press('Meta+Enter'); + await page.keyboard.press((await grid.isMacOs()) ? 'Meta+Enter' : 'Control+Enter'); await page.waitForTimeout(2000); await grid.cell.verify({ index: 1, columnHeader: 'Country', value: 'NewAlgeria' }); });