Create Virtual Sensor
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The Create Virtual Sensor command of the WebDriver API creates a virtual sensor of a given type that overrides the platform sensor of the same type. This lets tests exercise the Sensor APIs with predetermined readings instead of relying on real hardware. While the virtual sensor exists, it replaces any real sensor of the same type for the top-level browsing context.
Syntax
| Method | URI template |
|---|---|
POST |
/session/{session id}/sensor |
URL parameters
session id-
Identifier of the session.
Payload
The input is an object:
type-
A string identifying the virtual sensor type to create, for example
"ambient-light","accelerometer", or"gyroscope". Only one virtual sensor of a given type can exist at a time in the top-level browsing context. connectedOptional-
A boolean indicating whether the sensor is able to provide readings. Defaults to
true. maxSamplingFrequencyOptional-
A number specifying the upper bound, in hertz, of the sampling frequency the virtual sensor supports.
minSamplingFrequencyOptional-
A number specifying the lower bound, in hertz, of the sampling frequency the virtual sensor supports.
Return value
null if successful.
Errors
invalid session id-
Session does not exist.
invalid argument-
The
typeis not a string or is not a supported virtual sensor type, a virtual sensor of that type already exists, or the supplied frequency values are invalid (for example, not a number orminSamplingFrequencyis greater thanmaxSamplingFrequency).
Examples
>Creating a virtual sensor
With a WebDriver server running on localhost:4444, assume an active session has been created. To create a virtual AmbientLightSensor, send its type as the request payload, replacing ID with the sessionId from the New Session response:
curl -i -H "Content-Type: application/json" \
-d '{"type": "ambient-light"}' \
http://localhost:4444/session/ID/sensor
The server responds with a null value to indicate success:
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8
{"value":null}
Specifications
| Specification |
|---|
| Generic Sensor API> # create-virtual-sensor-command> |
Browser compatibility
See also
- Update Virtual Sensor Reading command
- Get Virtual Sensor Information command
- Delete Virtual Sensor command
- Sensor APIs