# Class DriverService

Manages the life and death of a native executable WebDriver server.

It is expected that the driver server implements the https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol. Furthermore, the managed server should support multiple concurrent sessions, so that this class may be reused for multiple clients.

#### Hierarchy

- DriverService

#####
Index

### Constructors

constructor

### Methods

address
isRunning
kill
start

## Constructors

### constructor

- new DriverService(executable, options): DriverService

- #### Parameters

  - ##### executable: string

    Path to the executable to run.

  - ##### options: ServiceOptions

    Configuration options for the service.

  #### Returns DriverService

## Methods

### address

- address(): Promise<string>

- #### Returns Promise<string>

  A promise that resolves to the server's address.

  #### Throws

  If the server has not been started.

### isRunning

- isRunning(): boolean

- Returns whether the underlying process is still running. This does not take into account whether the process is in the process of shutting down.

  #### Returns boolean

  Whether the underlying service process is running.

### kill

- kill(): Promise<any>

- Stops the service if it is not currently running. This function will kill the server immediately. To synchronize with the active control flow, use #stop().

  #### Returns Promise<any>

  A promise that will be resolved when the server has been stopped.

### start

- start(opt_timeoutMs?): Promise<string>

- Starts the server if it is not already running.

  #### Parameters

  - ##### `Optional` opt_timeoutMs: number

    How long to wait, in milliseconds, for the server to start accepting requests. Defaults to 30 seconds.

  #### Returns Promise<string>

  A promise that will resolve to the server's base URL when it has started accepting requests. If the timeout expires before the server has started, the promise will be rejected.

Generated using TypeDoc