luckyframework / luckyframework/lucky_flow
Issue running specs on fresh app
Nobody has claimed this yet.
- Dominant language
- Crystal
- Stars
- 55
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
I installed a fresh Lucky 0.23 app and tried to run specs only to get this error:
> session not created: session not created: This version of ChromeDriver only supports Chrome version 83
(assuming I was a brand new dev to Lucky...) I first think "What version of chromedriver do I have installed?". It was version 80. I ran `brew upgrade chromedriver`, checked the version `chromedriver -v` and I got 85. Ran `crystal spec`, and it failed with the same error. I then checked my version of chrome, it updated and showed version 85. Still unable to run the specs....
I dug in to LuckyFlow to find [this line](https://github.com/luckyframework/lucky_flow/blob/master/src/lucky_flow/server.cr#L95) where `LuckyFlow.settings.chromedriver_path` was `nil`. I didn't know I had to set this path (because I'm new). But I saw that `Webdrivers::Chromedriver.install` pointed to `~/.webdrivers/chromedriver`. It happened that this version was 83. I had to uninstall this version since it wasn't managed by my package manager, and also uninstall my local chromedriver. Then when I ran `crystal spec`, I see it installed the correct version and specs passed.
Maybe there's a way we can catch that error, and present a nicer error to say `delete this cache directory`, or something?
/cc. @matthewmcgarvey
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at src/lucky_flow/server.cr line 95 and inspect how LuckyFlow.settings.chromedriver_path and Webdrivers::Chromedriver.install select the driver. Reproduce the failure with crystal spec and a stale ~/.webdrivers/chromedriver cache. Done means the version mismatch produces a clearer error explaining the relevant cache or setup action.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- crystal
- Domain
- testing, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100