Sauce Labs supports automated browser tests using Selenium WebDriver, a widely-adopted browser driving standard. Selenium WebDriver provides a common API for programatically driving browsers implemented in several popular languages, including Java, Python, and Ruby. WebDriver can operate in two modes: local or remote. When run locally, your tests use the Selenium WebDriver library to communicate directly with a browser on the same machine. When run in remote mode, your tests interact with a Selenium Server, and it it is up to the server to drive the browsers. Sauce Labs essentially provides a Selenium Server as a service, with all kinds of browsers available to test. It has some extra goodies like videos of all test runs as well.
All the Browsers and Platforms You Need
Sauce Labs provides a huge variety of browsers and operating systems. You can choose between combinations of Firefox, Chrome, Safari, and Internet Explorer browsers and OSX, Windows, and Linux operating systems. You can also test against mobile Safari and Android browsers. Pick whatever browsers are important for you, whether you need to ensure critical functionality works on mobile devices or support old versions of IE. Because Selenium WebDriver provides a unified interface to talk to all of these browsers, you only need to write your browser tests once, and you can run them on as many browsers and platforms as you want.
CircleCI automatically runs all your tests, against whatever browsers you choose, every time you commit code. You can configure your browser-based tests to run whenever a change is made, before every deployment, or on a certain branch. A Continuous Integration and Delivery workflow with CircleCI and Sauce Labs ensures that browser-specific bugs affecting critical functionality in your app never make it to production.
No Public Test Servers Required
Sauce Labs operates browsers on a network separate from CircleCI build containers, but there needs to be a way for the browsers to access the web application you want to test. The easiest way to do this is to simply run your server during a CircleCI build and use Sauce Connect to setup a secure tunnel between Sauce Labs' browsers and your build containers on CircleCI. There is an in-depth example of this in our docs.