2018-02-07
Ruby, Watir and Chrome on Heroku
Newest Watir / Selenium Combo had a deprecation warning for PhantomJS. I didn't want to get caught, so it was about time to tackle this.
Heroku is a relatively closed and proprietary PaaS, yet my favourite one. In the
past, I added a compiled PhantomJS executable in a bin directory
(read more).
Buildpacks for your heroku project
go to your heroku dashboard, select the project and add these buildpacks:
but running Watir still fails:
# runs on local machine just fine
browser = Watir::Browser.new :chromeheroku bash to the rescue
# in your terminal
$ cd /your/project/path
$ heroku run bash
# on heroku bash
# save the returned paths for future use
$ which google-chrome
$ which chromedriverSetup Selenium (on production)
remember to wrap the Watir code in an if clause, so only your heroku project uses the new Selenium settings. I like to set a custom ENV variable on heroku for such things.
Selenium::WebDriver::Chrome.path = "path/to/google-chrome"
Selenium::WebDriver::Chrome.driver_path = "path/to/chromedriver"
browser = Watir::Browser.new :chromeYou now have Watir / Selenium running a headless Chrome browser on heroku.
← Previous Post | Next Post →