mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-08 11:11:53 +08:00
36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
```ts
|
|
// .storybook/test-runner.ts
|
|
|
|
import type { TestRunnerConfig } from '@storybook/test-runner';
|
|
import { getStoryContext, waitForPageReady } from '@storybook/test-runner';
|
|
|
|
const config: TestRunnerConfig = {
|
|
// Hook that is executed before the test runner starts running tests
|
|
setup() {
|
|
// Add your configuration here.
|
|
},
|
|
/* Hook to execute before a story is initially visited before being rendered in the browser.
|
|
* The page argument is the Playwright's page object for the story.
|
|
* The context argument is a Storybook object containing the story's id, title, and name.
|
|
*/
|
|
async preVisit(page, context) {
|
|
// Add your configuration here.
|
|
},
|
|
/* Hook to execute after a story is visited and fully rendered.
|
|
* The page argument is the Playwright's page object for the story
|
|
* The context argument is a Storybook object containing the story's id, title, and name.
|
|
*/
|
|
async postVisit(page, context) {
|
|
// Get the entire context of a story, including parameters, args, argTypes, etc.
|
|
const storyContext = await getStoryContext(page, context);
|
|
|
|
// This utility function is designed for image snapshot testing. It will wait for the page to be fully loaded, including all the async items (e.g., images, fonts, etc.).
|
|
await waitForPageReady(page);
|
|
|
|
// Add your configuration here.
|
|
},
|
|
};
|
|
|
|
export default config;
|
|
```
|