crusher
crusher copied to clipboard
Crusher's roadmap
This is the short term plan of Crusher.
Goal:- Make fastest web testing experience for developers.
Focus on- Stability, integration, speed.
High level components involved: Tooling, Local Recorder, App(Frontend & Backend), Test runner, Misc (Docs & Workers).
Current status: We've built a better testing experience than what's out there. Now we need to carefully enhance while not making this complicated.
Core
- [ ] "Rerun build" should use the same config and host as the original build.
Tooling
CLI
- [x] #243
- [ ] Add support for sharing and running test in isolation.
- [ ] #235
- [ ] Add
--commit-idflag intest:runcommand for CI integration
Features
- [ ] Support component testing
- [ ] Add configuration support
- [ ] Test management support
Devex
- [ ] Integrate crusher with Vitest or vitejs. Allow component and e2e run in instantly. Goal being <10 seconds.
- [ ] Create plugin for bundling system to add identifier directly from crusher. For vite, webpack, etc.
- [ ] Create plugin to use component name while testing.
App
- [ ] Improve logs in build report
- [ ] Show network requests between steps in build report
- [] Add option to create test for common template such as SEO checks, performance, broken links, etc.
Test runner & SDK
- [ ] Add support to find an element using document.querySelector, getElementById, etc.
- [ ] Auto-refresh for argo-tunnel in test-runner.
- [ ] Add option to cache request to test based on historical reponse. Use hashing.
- [ ] Fail navigation steps if critical error like (SSL validation, no response, etc)
Misc
- [ ] Add long polling or websockets in recorder to decrease response time and total requests.
Optimize contribution
These will be delightful, current dev setup is still good with dev reload <3 seconds.
- [x] Upgrade to next 12.
- [x] Use HMR in crusher electron app/upgrade to vite.
- [ ] Find a way to use vite with server.