Skip to content

webdriverio-community/node-safaridriver

Repository files navigation

Safaridriver for Node.js CI Audit

A Node.js untility to manage Safaridriver sessions.

The Safaridriver utility is used to launch an HTTP server that implements the WebDriver REST API. When launched, Safaridriver allows for automated testing of web content using the version of Safari that is installed with macOS.

Install

To install the package, run:

npm install --save-dev safaridriver

Usage

To start a Safaridriver server, import the package and run:

import safaridriver from 'safaridriver'

await safaridriver.start()

// run some automation...

// then kill instance via:
safaridriver.stop()

Options

port

Specifies the port on which the HTTP server should listen for incoming connections. If the port is already in use or otherwise unavailable, Safaridriver will exit immediately with a non-zero return code.

Type: number
Default: 4444

path

Path to Safaridriver binary.

Type: string
Default: /usr/bin/safaridriver

useTechnologyPreview

If set to true, it will start the Safaridriver for Safari Technology Preview. Make sure you have it installed by installing Safari Technology Preview on Apple's offical website.

Type: boolean
Default: false

enable

Applies configuration changes so that subsequent WebDriver sessions will run without further authentication. This includes checking "Enable Remote Automation" in Safari's Develop menu. The user must authenticate via password for the changes to be applied.

When this option is specified, safaridriver exits immediately without starting up the REST API service. If the changes were successful or already applied, safaridriver exits 0; otherwise, safaridriver exits >0 and prints an error message to stderr.

Type: boolean
Default: false

diagnose

Enables diagnostic logging for all sessions hosted by this safaridriver instance.

Type: boolean
Default: false


For more information on WebdriverIO see the homepage.