* ui: change export event ui, add rightblock panel * ui: add timeline select checkbox * ui: keep selected framework in localstorage * ui: on timeline => on the timeline
40 lines
No EOL
1.9 KiB
TypeScript
40 lines
No EOL
1.9 KiB
TypeScript
import { Click, Input, Location, TYPES } from "App/types/session/event";
|
|
|
|
export const puppeteerEvents = {
|
|
[TYPES.LOCATION]: (event: Location) => `await page.goto('${event.url}')`,
|
|
[TYPES.CLICK]: (event: Click) =>
|
|
`await page.locator('${
|
|
event.selector.length ? event.selector : event.label
|
|
}').click()`,
|
|
[TYPES.INPUT]: (event: Input) =>
|
|
`await page.locator('${event.label}').type('Test Input')`,
|
|
screen: (width: number, height: number) =>
|
|
`await page.setViewport({width: ${width}, height: ${height})`,
|
|
testIntro: (pageTitle: string, firstUrl: string) => `describe('${pageTitle}', () => {\n it('Navigates through ${firstUrl}', async () => {`,
|
|
testOutro: () => ` })\n})`,
|
|
};
|
|
export const cypressEvents = {
|
|
[TYPES.LOCATION]: (event: Location) => `cy.visit('${event.url}')`,
|
|
[TYPES.CLICK]: (event: Click) =>
|
|
`cy.get('${
|
|
event.selector.length ? event.selector : event.label
|
|
}').click()`,
|
|
[TYPES.INPUT]: (event: Input) =>
|
|
`cy.get('${event.label}').type('Test Input')`,
|
|
screen: (width: number, height: number) => `cy.viewport(${width}, ${height})`,
|
|
testIntro: (pageTitle: string, firstUrl: string) => `describe('${pageTitle}', () => {\n it('Navigates through ${firstUrl}', () => {`,
|
|
testOutro: () => ` })\n})`,
|
|
};
|
|
export const playWrightEvents = {
|
|
[TYPES.LOCATION]: (event: Location) => `await page.goto('${event.url}')`,
|
|
[TYPES.CLICK]: (event: Click) =>
|
|
event.selector.length
|
|
? `await page.locator('${event.selector}').click()`
|
|
: `await page.getByText('${event.label}').click()`,
|
|
[TYPES.INPUT]: (event: Input) =>
|
|
`await page.getByLabel('${event.label}').fill('Test Input')`,
|
|
screen: (width: number, height: number) =>
|
|
`await page.setViewport({width: ${width}, height: ${height})`,
|
|
testIntro: (pageTitle: string, firstUrl: string) => `test.describe('${pageTitle}', () => {\n test('Navigates through ${firstUrl}', async () => {`,
|
|
testOutro: () => ` })\n})`,
|
|
}; |