Does Selenium Box support testing with Safari browsers?

Selenium Box supports Safari in two ways.

You can either use Apple hardware as an executor in which case you can run native Safari browsers and iOS simulators.

Alternatively you can also run a Safari/WebKit browser on Linux which for functional testing purposes provides a safe target to test Safari. Using this approach means you can use your exsting SBOX executors and don’t need to provision Apple hardware as executors.

WebKit is the open source web platform implementation used by Apple Safari and Epiphany.

Running a WebKit browser on Linux differs from Apple Safari in the following ways:

  • it uses a non-macOS network stack
  • it uses non-Core Animation to composite scene and produce image raster. This means that screenshots on Linux will not perfectly match screenshots from macOS.

In terms of running functional tests via Selenium or Playwright the same WebKit code will layout the page and run JavaScript—therefore it will match how WebKit works in Safari.

To summarize, running Safari/WebKit on Linux will use a different compositing pipeline than macOS, but it can be safely used for e2e testing of web applications in WebKit-powered browsers.