Comments (5)
Hey there @sw-tracker, thanks for reporting this issue.
As you can see, the test-runner has a dependency range for Playwright that's quite low, ^1.14.0
. It should conform with whatever you have installed in your lock file. You're the first person to report this kind of issue, and I'm not sure how to reproduce it easily (a repro would be appreciated!). I also don't know if this is the behavior related to the test-runner's execution of Playwright, or if it's from Playwright itself (like if it would happen when not using test-runner, but just Playwright directly).
Could you maybe do a bit more investigation on your side? Thanks!
from test-runner.
Thank you! You found the problem!
If you add ^
to a dependency (which in my opinion you should not do), this will allow the dependency to be updated to minor and patch updates.
We have seen playwright updates due to storybook like this: 1.32.3/1.41.2/1.42.1/1.43.1 and now the dependency is [email protected]
due to @storybook/[email protected]
after executing npm ls --depth=2
on my project.
Playwright happens to change browser versions when it updates its version, even minor version updates. This means we have to install new versions of the browsers every time this happens due to your dependencies. We also use playwright for E2E testing, and we never have this problem with that dependency. In our projects we want to have reproducible builds as close as possible, which means we lock our dependency versions (which I think everyone should do).
Could you please lock your playwright dependency? (remove the ^
)
from test-runner.
I would also recommend that you create an .npmrc
file and add save-exact = true
to it. This will save you a lot of headaches in the future.
from test-runner.
Hi there, we have locked the playwright version on our package.json. Thank you!
from test-runner.
Could you please lock your playwright dependency? (remove the ^)
@sw-tracker unfortunately that would mean that anyone using the test-runner would have to install a specific version of playwright. The test-runner aims to be flexible so that you can use whatever version of playwright you'd like. Regarding which version you end up using, it's up to you, to how you manage your lock files and dedupe your dependencies. You can always use resolutions/overrides to make sure you get a specific version in your project though!
from test-runner.
Related Issues (20)
- [Bug]: Code coverage for components dropped after upgrading to storybook 8 HOT 4
- [Bug]: Include/Exclude tags dont behave as expected HOT 4
- [Feature request]: Test stoybook behind basic auth
- [Bug]: Storybook 8.1.4 updated stories index to v5, which is unsupported
- [Bug]: Globals variable not properly defined
- [Bug]: How do I get chrome browser logs working?
- [Feature request]: Add `logLevel` to cli options
- [Bug]: Ejecting adds `require` of file that does not exist HOT 2
- [Bug]: how to debug test runner network issues HOT 1
- [Feature request]: Respect dangerouslyIgnoreUnhandledErrors HOT 3
- [Bug]: --includeTags missing some tests HOT 2
- [Bug]: combineTags not available in @storybook/[email protected] HOT 1
- [Feature request]: `defaultPrepare` should be exported
- [Bug]: PostVisit hook unable to access story source code HOT 7
- [Bug]: command test-storybook fails with yarn-berry HOT 10
- Test-runner tests files with no .stories file HOT 2
- [Bug]: A worker process has failed to exit gracefully and has been force exited.
- [Feature request]: is there a way to fail tests in console when coverage threshold is not met HOT 1
- [Bug]: Not able to achieve 100% interaction tests coverage for specific components
- [Feature request]: Run coverage report for interaction tests only
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from test-runner.