Often one of the trickiest aspects of running end-to-end tests is getting a browser to run within a CI environment. These environments are almost always headless, and while both Chrome and Firefox are bringing headless browsing to the mainstream in coming releases, right now you still have to do some work with utilities like xvfb to run browsers without a display. And if you want to test on Microsoft browsers like Edge or IE, or mobile browsers, your Linux CI server just isn’t going to cut it.
Services like Browserstack provide a solution by allowing you to run your Selenium tests on browsers hosted by them. This gives you access to multiple browsers in multiple operating systems. It has been hard to justify the expense of a service like BrowserStack for individual development, but recently Microsoft and Browserstack teamed up to offer unlimited hours of testing against Edge.