Skip to content

Commit

Permalink
added possibility to click some element for screenshot tests
Browse files Browse the repository at this point in the history
  • Loading branch information
AlekseyManetov committed Jul 25, 2024
1 parent 3bfc1f0 commit 8f7d6c2
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 2 deletions.
4 changes: 4 additions & 0 deletions uui-e2e-tests/framework/pages/previewPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ export class PreviewPage {
await this.page.locator(selector).first().focus();
}

async clickElement(selector: string) {
await this.page.locator(selector).first().click();
}

async goto() {
await this.page.goto(PREVIEW_URL);
}
Expand Down
1 change: 1 addition & 0 deletions uui-e2e-tests/framework/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export type TMatrixMinimal<PreviewIdArr extends TObjValues<TPreviewIdByComponent
skins?: TTheme[];
onBeforeExpect?: (params: { previewPage: PreviewPage, previewId: TArrItem<PreviewIdArr> }) => Promise<void>;
focusFirstElement?: (params: { previewId: TArrItem<PreviewIdArr> }) => string | boolean | undefined;
clickElement?: (params: { previewId: TArrItem<PreviewIdArr> }) => string | boolean | undefined;
onlyChromium?: true;
// Chromium-only! It uses Chrome DevToolsProtocol to set certain pseudo states to all elements matching given CSS selector.
forcePseudoState?: TCdpPseudoStateParams[];
Expand Down
5 changes: 5 additions & 0 deletions uui-e2e-tests/framework/utils/testBuilder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,11 @@ function createTestsForSingleComponentId(builderParams: { componentId: TComponen
const sel = matrix.focusFirstElement({ previewId });
typeof sel === 'string' && await previewPage.focusElement(sel);
}

if (matrix.clickElement) {
const sel = matrix.clickElement({ previewId });
typeof sel === 'string' && await previewPage.clickElement(sel);
}
if (matrix.forcePseudoState) {
try {
await previewPage.cdpSession.cssForcePseudoState(matrix.forcePseudoState);
Expand Down
4 changes: 2 additions & 2 deletions uui-e2e-tests/tests/screenshot.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ builder
},
{
previewId: [TRangeDatePickerPreview['Opened']],
focusFirstElement: () => 'input',
clickElement: () => 'input',
onlyChromium: true,
},
{
Expand All @@ -212,7 +212,7 @@ builder
},
{
previewId: [TDatePickerPreview['Opened']],
focusFirstElement: () => 'input',
clickElement: () => 'input',
onlyChromium: true,
},
{
Expand Down

0 comments on commit 8f7d6c2

Please sign in to comment.