UNPKG

playwright-json-runner

Version:

Extends Playwright to run tests using JSON-based test definitions.

1 lines 36 kB
{"version":3,"sources":["../src/schemas/test-base.ts","../src/schemas/locators/playwright-schema-fork.ts","../src/schemas/locators/locator-parameters.ts","../src/schemas/test-action.ts","../src/schemas/test-step.ts","../src/schemas/test-scenario.ts","../src/schemas/test-run.ts"],"names":["z"],"mappings":"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","file":"chunk-KTR6D2I2.mjs","sourcesContent":["import { z } from \"zod\";\n\nconst withLabelSchema = z.object({\n label: z.string().optional(),\n});\nconst withDescriptionSchema = z.object({\n description: z.string().optional(),\n});\nexport const testObjectSchema = withLabelSchema.merge(withDescriptionSchema);\n\n","import { z } from \"zod\";\n\n/**\n * Options for getByRole() as a Zod object, then made optional at the end.\n */\nexport const PlaywrightRoleOptionsSchema = z\n .object({\n checked: z.boolean().optional(),\n disabled: z.boolean().optional(),\n exact: z.boolean().optional(),\n expanded: z.boolean().optional(),\n includeHidden: z.boolean().optional(),\n level: z.number().optional(),\n // For name, accept string or RegExp. \n // If you strictly need to parse only real RegExp objects at runtime, keep it like this.\n // If you want to accept a \"string that might be a pattern,\" consider a string-based approach.\n name: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n pressed: z.boolean().optional(),\n selected: z.boolean().optional(),\n })\n .optional();\n\n \nexport const PlaywrightRoleSchema = z.enum([\n \"alert\",\n \"alertdialog\",\n \"application\",\n \"article\",\n \"banner\",\n \"blockquote\",\n \"button\",\n \"caption\",\n \"cell\",\n \"checkbox\",\n \"code\",\n \"columnheader\",\n \"combobox\",\n \"complementary\",\n \"contentinfo\",\n \"definition\",\n \"deletion\",\n \"dialog\",\n \"directory\",\n \"document\",\n \"emphasis\",\n \"feed\",\n \"figure\",\n \"form\",\n \"generic\",\n \"grid\",\n \"gridcell\",\n \"group\",\n \"heading\",\n \"img\",\n \"insertion\",\n \"link\",\n \"list\",\n \"listbox\",\n \"listitem\",\n \"log\",\n \"main\",\n \"marquee\",\n \"math\",\n \"meter\",\n \"menu\",\n \"menubar\",\n \"menuitem\",\n \"menuitemcheckbox\",\n \"menuitemradio\",\n \"navigation\",\n \"none\",\n \"note\",\n \"option\",\n \"paragraph\",\n \"presentation\",\n \"progressbar\",\n \"radio\",\n \"radiogroup\",\n \"region\",\n \"row\",\n \"rowgroup\",\n \"rowheader\",\n \"scrollbar\",\n \"search\",\n \"searchbox\",\n \"separator\",\n \"slider\",\n \"spinbutton\",\n \"status\",\n \"strong\",\n \"subscript\",\n \"superscript\",\n \"switch\",\n \"tab\",\n \"table\",\n \"tablist\",\n \"tabpanel\",\n \"term\",\n \"textbox\",\n \"time\",\n \"timer\",\n \"toolbar\",\n \"tooltip\",\n \"tree\",\n \"treegrid\",\n \"treeitem\",\n]);\n\n","import { z } from \"zod\";\nimport { PlaywrightRoleOptionsSchema, PlaywrightRoleSchema } from \"./playwright-schema-fork\";\n\n// ── Concrete locator schemas ────────────────────────────────────────────────\n\nconst nthField = { nth: z.number().optional() };\n\nexport const selectorLocatorSchema = z.object({\n by: z.literal(\"selector\"),\n value: z.string().describe(\"CSS selector\"),\n ...nthField,\n});\n\nexport const xpathLocatorSchema = z.object({\n by: z.literal(\"xpath\"),\n value: z.string().describe(\"XPath expression\"),\n ...nthField,\n});\n\nexport const roleLocatorSchema = z.object({\n by: z.literal(\"role\"),\n role: PlaywrightRoleSchema,\n name: z.union([z.string(), z.instanceof(RegExp)]).optional(),\n exact: z.boolean().optional(),\n checked: z.boolean().optional(),\n disabled: z.boolean().optional(),\n expanded: z.boolean().optional(),\n includeHidden: z.boolean().optional(),\n level: z.number().optional(),\n pressed: z.boolean().optional(),\n selected: z.boolean().optional(),\n ...nthField,\n});\n\nexport const textLocatorSchema = z.object({\n by: z.literal(\"text\"),\n value: z.string(),\n exact: z.boolean().optional(),\n ...nthField,\n});\n\nexport const labelLocatorSchema = z.object({\n by: z.literal(\"label\"),\n value: z.string(),\n exact: z.boolean().optional(),\n ...nthField,\n});\n\nexport const placeholderLocatorSchema = z.object({\n by: z.literal(\"placeholder\"),\n value: z.string(),\n exact: z.boolean().optional(),\n ...nthField,\n});\n\nexport const altTextLocatorSchema = z.object({\n by: z.literal(\"altText\"),\n value: z.string(),\n exact: z.boolean().optional(),\n ...nthField,\n});\n\nexport const titleLocatorSchema = z.object({\n by: z.literal(\"title\"),\n value: z.string(),\n exact: z.boolean().optional(),\n ...nthField,\n});\n\nexport const testIdLocatorSchema = z.object({\n by: z.literal(\"testId\"),\n value: z.string(),\n ...nthField,\n});\n\n// ── Recursive nested locator ────────────────────────────────────────────────\n\nexport type LocatorParams =\n | z.infer<typeof selectorLocatorSchema>\n | z.infer<typeof xpathLocatorSchema>\n | z.infer<typeof roleLocatorSchema>\n | z.infer<typeof textLocatorSchema>\n | z.infer<typeof labelLocatorSchema>\n | z.infer<typeof placeholderLocatorSchema>\n | z.infer<typeof altTextLocatorSchema>\n | z.infer<typeof titleLocatorSchema>\n | z.infer<typeof testIdLocatorSchema>\n | { by: \"nested\"; parent: LocatorParams; child: LocatorParams; nth?: number }\n | { by: string; value?: string; nth?: number }; // custom strategies\n\nlet locatorParamsSchema: z.ZodType<LocatorParams>;\n\nexport const nestedLocatorSchema = z.lazy(() =>\n z.object({\n by: z.literal(\"nested\"),\n parent: locatorParamsSchema,\n child: locatorParamsSchema,\n ...nthField,\n })\n);\nexport type NestedLocatorParams = z.infer<typeof nestedLocatorSchema>;\n\nconst customLocatorSchema = z.object({\n by: z.string(),\n value: z.string().optional(),\n ...nthField,\n});\n\nlocatorParamsSchema = z.union([\n z.discriminatedUnion(\"by\", [\n selectorLocatorSchema,\n xpathLocatorSchema,\n roleLocatorSchema,\n textLocatorSchema,\n labelLocatorSchema,\n placeholderLocatorSchema,\n altTextLocatorSchema,\n titleLocatorSchema,\n testIdLocatorSchema,\n ]),\n nestedLocatorSchema,\n customLocatorSchema,\n]);\n\nexport { locatorParamsSchema };\n\n// Legacy role options export kept for backward compat with playwright-schema-fork consumers\nexport { PlaywrightRoleOptionsSchema, PlaywrightRoleSchema };\n","import { z } from \"zod\";\nimport { locatorParamsSchema } from \"./locators/locator-parameters\";\nimport { testObjectSchema } from \"./test-base\";\n\n// ── Shared option shapes ────────────────────────────────────────────────────\n\nconst timeoutOpts = z.object({ timeout: z.number().optional() }).optional();\n\nconst interactOpts = z\n .object({\n timeout: z.number().optional(),\n force: z.boolean().optional(),\n trial: z.boolean().optional(),\n })\n .optional();\n\nconst waitUntilEnum = z.enum([\"commit\", \"domcontentloaded\", \"load\", \"networkidle\"]);\nconst loadStateEnum = z.enum([\"domcontentloaded\", \"load\", \"networkidle\"]);\nconst waitForStateEnum = z.enum([\"attached\", \"detached\", \"visible\", \"hidden\"]);\n\n// ── Base schemas ────────────────────────────────────────────────────────────\n\nconst base = testObjectSchema; // { label?, description? }\n\nconst withLocator = base.extend({ locator: locatorParamsSchema });\n\n// ── Page-level actions (no locator) ────────────────────────────────────────\n\nconst navigateActionSchema = base.extend({\n action: z.literal(\"navigate\"),\n url: z.string(),\n options: z\n .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n .optional(),\n});\n\nconst sleepActionSchema = base.extend({\n action: z.literal(\"sleep\"),\n duration: z.number().describe(\"milliseconds to wait\"),\n});\n\nconst waitForURLActionSchema = base.extend({\n action: z.literal(\"waitForURL\"),\n url: z.string(),\n options: z\n .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n .optional(),\n});\n\nconst goBackActionSchema = base.extend({\n action: z.literal(\"goBack\"),\n options: z\n .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n .optional(),\n});\n\nconst goForwardActionSchema = base.extend({\n action: z.literal(\"goForward\"),\n options: z\n .object({ timeout: z.number().optional(), waitUntil: waitUntilEnum.optional() })\n .optional(),\n});\n\nconst waitForLoadStateActionSchema = base.extend({\n action: z.literal(\"waitForLoadState\"),\n state: loadStateEnum.optional(),\n options: timeoutOpts,\n});\n\nconst assertURLActionSchema = base.extend({\n action: z.literal(\"assertURL\"),\n value: z.string(),\n options: timeoutOpts,\n});\n\nconst assertTitleActionSchema = base.extend({\n action: z.literal(\"assertTitle\"),\n value: z.string(),\n options: timeoutOpts,\n});\n\nconst scrollActionSchema = base.extend({\n action: z.literal(\"scroll\"),\n deltaX: z.number().describe(\"Horizontal scroll pixels\"),\n deltaY: z.number().describe(\"Vertical scroll pixels\"),\n});\n\nconst waitForTextActionSchema = base.extend({\n action: z.literal(\"waitForText\"),\n value: z.string(),\n options: z\n .object({\n timeout: z.number().optional(),\n state: waitForStateEnum.optional(),\n })\n .optional(),\n});\n\nconst clickCoordinatesActionSchema = base.extend({\n action: z.literal(\"clickCoordinates\"),\n x: z.number(),\n y: z.number(),\n options: z\n .object({\n button: z.enum([\"left\", \"middle\", \"right\"]).optional(),\n clickCount: z.number().optional(),\n delay: z.number().optional(),\n })\n .optional(),\n});\n\n// screenshot: page-level when locator is omitted\nconst screenshotActionSchema = base.extend({\n action: z.literal(\"screenshot\"),\n locator: locatorParamsSchema.optional(),\n path: z.string().optional(),\n options: z\n .object({ fullPage: z.boolean().optional(), timeout: z.number().optional() })\n .optional(),\n});\n\n// assertSnapshot: uses Playwright toHaveScreenshot — locator optional (full page if absent)\nconst assertSnapshotActionSchema = base.extend({\n action: z.literal(\"assertSnapshot\"),\n locator: locatorParamsSchema.optional(),\n name: z.string().optional().describe(\"Baseline snapshot filename\"),\n options: z\n .object({\n timeout: z.number().optional(),\n maxDiffPixels: z.number().optional(),\n maxDiffPixelRatio: z.number().optional(),\n threshold: z.number().optional(),\n })\n .optional(),\n});\n\n// ── Locator actions ─────────────────────────────────────────────────────────\n\nconst clickActionSchema = withLocator.extend({\n action: z.literal(\"click\"),\n options: z\n .object({\n button: z.enum([\"left\", \"middle\", \"right\"]).optional(),\n clickCount: z.number().optional(),\n delay: z.number().optional(),\n force: z.boolean().optional(),\n timeout: z.number().optional(),\n trial: z.boolean().optional(),\n })\n .optional(),\n});\n\nconst dblclickActionSchema = withLocator.extend({\n action: z.literal(\"dblclick\"),\n options: interactOpts,\n});\n\nconst fillActionSchema = withLocator.extend({\n action: z.literal(\"fill\"),\n value: z.string(),\n options: z\n .object({\n force: z.boolean().optional(),\n timeout: z.number().optional(),\n noWaitAfter: z.boolean().optional(),\n })\n .optional(),\n});\n\nconst typeActionSchema = withLocator.extend({\n action: z.literal(\"type\"),\n value: z.string(),\n options: z\n .object({ delay: z.number().optional(), timeout: z.number().optional() })\n .optional(),\n});\n\nconst pressActionSchema = withLocator.extend({\n action: z.literal(\"press\"),\n key: z.string().describe(\"Key or chord, e.g. 'Enter', 'Tab', 'Control+a'\"),\n options: z\n .object({ delay: z.number().optional(), timeout: z.number().optional() })\n .optional(),\n});\n\nconst checkActionSchema = withLocator.extend({\n action: z.literal(\"check\"),\n options: interactOpts,\n});\n\nconst uncheckActionSchema = withLocator.extend({\n action: z.literal(\"uncheck\"),\n options: interactOpts,\n});\n\nconst selectOptionActionSchema = withLocator.extend({\n action: z.literal(\"selectOption\"),\n value: z.union([z.string(), z.array(z.string())]),\n options: z\n .object({ force: z.boolean().optional(), timeout: z.number().optional() })\n .optional(),\n});\n\nconst hoverActionSchema = withLocator.extend({\n action: z.literal(\"hover\"),\n options: interactOpts,\n});\n\nconst focusActionSchema = withLocator.extend({\n action: z.literal(\"focus\"),\n options: timeoutOpts,\n});\n\nconst blurActionSchema = withLocator.extend({\n action: z.literal(\"blur\"),\n options: timeoutOpts,\n});\n\nconst clearActionSchema = withLocator.extend({\n action: z.literal(\"clear\"),\n options: interactOpts,\n});\n\nconst scrollIntoViewActionSchema = withLocator.extend({\n action: z.literal(\"scrollIntoView\"),\n options: timeoutOpts,\n});\n\nconst waitForActionSchema = withLocator.extend({\n action: z.literal(\"waitFor\"),\n state: waitForStateEnum.optional(),\n options: timeoutOpts,\n});\n\nconst waitForHiddenActionSchema = withLocator.extend({\n action: z.literal(\"waitForHidden\"),\n options: timeoutOpts,\n});\n\nconst waitForSelectorActionSchema = withLocator.extend({\n action: z.literal(\"waitForSelector\"),\n options: timeoutOpts,\n});\n\n// ── Field value actions ─────────────────────────────────────────────────────\n\nconst setFieldValueActionSchema = withLocator.extend({\n action: z.literal(\"setFieldValue\"),\n value: z.string(),\n options: timeoutOpts,\n});\n\nconst assertFieldValueEqualsActionSchema = withLocator.extend({\n action: z.literal(\"assertFieldValueEquals\"),\n value: z.string(),\n options: timeoutOpts,\n});\n\nconst assertFieldValueContainsActionSchema = withLocator.extend({\n action: z.literal(\"assertFieldValueContains\"),\n value: z.string(),\n options: timeoutOpts,\n});\n\n// ── Assertion actions ───────────────────────────────────────────────────────\n\nconst assertVisibleSchema = withLocator.extend({\n action: z.literal(\"assertVisible\"),\n options: timeoutOpts,\n});\n\nconst assertHiddenSchema = withLocator.extend({\n action: z.literal(\"assertHidden\"),\n options: timeoutOpts,\n});\n\nconst assertEnabledSchema = withLocator.extend({\n action: z.literal(\"assertEnabled\"),\n options: timeoutOpts,\n});\n\nconst assertDisabledSchema = withLocator.extend({\n action: z.literal(\"assertDisabled\"),\n options: timeoutOpts,\n});\n\nconst assertCheckedSchema = withLocator.extend({\n action: z.literal(\"assertChecked\"),\n checked: z.boolean().optional().describe(\"Default true; set false to assert unchecked\"),\n options: timeoutOpts,\n});\n\nconst assertTextSchema = withLocator.extend({\n action: z.literal(\"assertText\"),\n value: z.string(),\n options: z\n .object({ timeout: z.number().optional(), ignoreCase: z.boolean().optional() })\n .optional(),\n});\n\nconst assertContainsTextSchema = withLocator.extend({\n action: z.literal(\"assertContainsText\"),\n value: z.string(),\n options: z\n .object({ timeout: z.number().optional(), ignoreCase: z.boolean().optional() })\n .optional(),\n});\n\nconst assertValueSchema = withLocator.extend({\n action: z.literal(\"assertValue\"),\n value: z.string(),\n options: timeoutOpts,\n});\n\nconst assertCountSchema = withLocator.extend({\n action: z.literal(\"assertCount\"),\n count: z.number(),\n options: timeoutOpts,\n});\n\nconst assertAttributeSchema = withLocator.extend({\n action: z.literal(\"assertAttribute\"),\n attribute: z.string(),\n value: z.string(),\n options: timeoutOpts,\n});\n\n// ── Custom action catch-all ─────────────────────────────────────────────────\n\nconst customActionSchema = base\n .extend({\n action: z.string(),\n locator: locatorParamsSchema.optional(),\n value: z.string().optional(),\n })\n .passthrough();\n\n// ── Union ───────────────────────────────────────────────────────────────────\n\nconst knownActionsSchema = z.discriminatedUnion(\"action\", [\n navigateActionSchema,\n sleepActionSchema,\n goBackActionSchema,\n goForwardActionSchema,\n scrollActionSchema,\n waitForURLActionSchema,\n waitForLoadStateActionSchema,\n waitForTextActionSchema,\n clickCoordinatesActionSchema,\n assertURLActionSchema,\n assertTitleActionSchema,\n screenshotActionSchema,\n assertSnapshotActionSchema,\n clickActionSchema,\n dblclickActionSchema,\n fillActionSchema,\n typeActionSchema,\n pressActionSchema,\n checkActionSchema,\n uncheckActionSchema,\n selectOptionActionSchema,\n hoverActionSchema,\n focusActionSchema,\n blurActionSchema,\n clearActionSchema,\n scrollIntoViewActionSchema,\n waitForActionSchema,\n waitForHiddenActionSchema,\n waitForSelectorActionSchema,\n assertVisibleSchema,\n assertHiddenSchema,\n assertEnabledSchema,\n assertDisabledSchema,\n assertCheckedSchema,\n assertTextSchema,\n assertContainsTextSchema,\n assertValueSchema,\n assertCountSchema,\n assertAttributeSchema,\n setFieldValueActionSchema,\n assertFieldValueEqualsActionSchema,\n assertFieldValueContainsActionSchema,\n]);\n\nexport const testActionSchema = z.union([knownActionsSchema, customActionSchema]);\nexport type TestAction = z.infer<typeof testActionSchema>;\n","import { testActionSchema } from \"./test-action\";\nimport { testObjectSchema } from \"./test-base\";\nimport { z } from \"zod\";\n\nexport const testStepSchema = testObjectSchema.extend({\n description: z.string(),\n actions: z.array(testActionSchema),\n});\nexport type TestStep = z.infer<typeof testStepSchema>;\n","import { testObjectSchema } from \"./test-base\";\nimport { z } from \"zod\";\nimport { testStepSchema } from \"./test-step\";\n\nexport const testScenarioSchema = testObjectSchema.extend({\n name: z.string(),\n steps: z.array(testStepSchema),\n});\nexport type TestScenario = z.infer<typeof testScenarioSchema>;\n","import { testObjectSchema } from \"./test-base\";\nimport { z } from \"zod\";\nimport { testScenarioSchema } from \"./test-scenario\";\n\nexport const testRunSchema = testObjectSchema.extend({\n browser: z.enum([\"chrome\", \"firefox\", \"webkit\"]),\n host: z.string(),\n scenarios: z.array(testScenarioSchema),\n});\nexport type TestRun = z.infer<typeof testRunSchema>;\n"]}