test-runner
test-runner copied to clipboard
[bug] Cannot find playwright package
Describe the bug
While using Yarn 3 and after following these installation steps, running test-storybook shows the following error:
What problem could cause this, and is there a workaround?
To Reproduce Steps to reproduce the behavior:
- Be using Yarn 3
- Install the test-runner using https://storybook.js.org/docs/react/writing-tests/test-runner
- run "yarn test-storybook"
- See error
Expected behavior Expectation is that the test-runner correctly locates playwright.
Screenshots If applicable, add screenshots to help explain your problem.
System MacOS Node 18 Yarn 3 Storybook 7.1.0
Bump on this one. I’m seeing the same issue with the latest playwright / storybook. Specifically here is what I’m seeing
Install just @playwright/test and you get this error when trying to run test-storybook but playwright itself works fine. Install playwright-chromium and this will allow test-storybook to run properly but then playwright errors out saying it can’t find @playwright/test even though it exists. Seems like something changed recently to cause some conflicts in how things work.
Bump on this one. I’m seeing the same issue with the latest playwright / storybook. Specifically here is what I’m seeing
Install just @playwright/test and you get this error when trying to run test-storybook but playwright itself works fine. Install playwright-chromium and this will allow test-storybook to run properly but then playwright errors out saying it can’t find @playwright/test even though it exists. Seems like something changed recently to cause some conflicts in how things work.
I was also able to run test-storybook after manually installing playwright-chromium
.
@pepjo the issue is that you will not be able to use playwright now. I apparently missed this before in the playwright release notes for version 1.34.0
⚠️ Breaking changes
npx playwright test no longer works if you install both playwright and @playwright/test. There's no need to install both, since you can always import browser automation APIs from @playwright/test directly:
// automation.ts import { chromium, firefox, webkit } from '@playwright/test'; /* ... */
So the issue is that test-runner uses jest-playwright-present which requires the playwright-chromium package but playwright won't let you do that anymore. Interestingly jest-playwright-preset is deprecated so I'm going to see if there is a way not to use it by hacking something up.
So circling back to this we found an interesting thing. For some reason we had a playwright folder in our mono repo and for some reason it was trying to import from that folder and failing. Once we renamed that worked we could just install @playwright/test and everything worked with both storybook and playwright.
We are encountering this same issue. I installed playwright-chromium
in our monorepo packages but it didn't work.
Turns out the workaround is to install playwright-chromium
in the workspace root as well, once I did that I was able to run the tests.