< Back to Blog Overview

Safari 10 and Safaridriver

Safari 10 Automated Testing with Apple's SafariDriver
  • Share on Facebook
  • Share on Twitter
  • Share on LinkedIn
  • Share on HackerNews
safaridriver testing Starting with macOS Sierra, Apple's now providing a SafariDriver that comes pre-installed with the OS. This is great news:
  • A driver provided and updated by the browser vendor itself is a good thing! There are no hacks required to automate the browser, since the vendor itself can modify the browser and driver to work perfectly together.
  • In this case, the previous SafariDriver (now deprecated) was implemented as a Safari browser extension. It works pretty good, but might be slow at times.

At TestingBot, we've been providing Safari 10 testing ever since macOS was released. For Safari 10 testing, we're still using the deprecated SafariDriver as a browser extension.

Now, we're also providing Safari testing with the Apple SafariDriver! All you need to do for now is to specify you want to use Selenium 3 during your test:

desired_capabilities = {
  browserName: "safari",
  version: 10,
  "selenium-version": "3.0.1"

TestingBot will then automatically make sure your test uses Apple's SafariDriver. Once the default Selenium version is bumped to Selenium 3 on TestingBot, all Safari 10 tests will automatically use the new SafariDriver.

When you run a test with the new SafariDriver, you might notice some changes in behaviour:

  • The address bar will have an orange Smart Search field (address bar).
  • Similar to Private Browsing, tests will run from a clean slate and cannot access Safari's normal browsing history, autofill data or other sensitive data.
  • During a test, you can pause a test from our TestingBot member dashboard. You can then live interact with the browser. By default, Safari will add a "glass pane" in front of the window which prevents you from influencing the test. Simply clicking this will allow you to use Web Inspector for manual debugging.
  • At the start of your test, you can specify 'automaticInspection' and 'automaticProfiling' in your desired capabilities. This will make sure Web Inspector and the Profiler start collecting data as soon as your test starts. When you pause a test, you can immediately access this data from the Web Inspector.

You can find more information about Apple's new SafariDriver on the WebKit blog.

TestingBot Logo

Sign up for a Free Trial

Start testing your apps with TestingBot.

No credit card required.

Other Articles


While we continue to provide the most secure and stable Selenium grid publicly available, we recently added Two Factor Authentication (2FA) as an ...

Read more
Free Automated Testing for Open Source Projects

We love Open-Source projects at TestingBot! Some of the components powering our service are using Open-Source projects. That's why we decided to...

Read more

In this article we'll show you how to set up your own Selenium Grid to run tests on various versions of Firefox. If you are new to setting up you...

Read more

TestingBot provides an option for people who want to run their Selenium tests with the latest Selenium 3 beta versions! Selenium 3 is currently st...

Read more
Opera Automated Selenium Testing and Manual Browser testing

TestingBot now supports the latest Opera versions for both Automated and Manual Browser Testing.

Read more
Android Marshmallow (6.0) Selenium Testing

TestingBot now offers Android Marshmallow Emulators to run Automated Selenium Tests and Manual tests.

Read more