Update Virtual Sensor Reading

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The Update Virtual Sensor Reading command of the WebDriver API sets a new reading for a virtual sensor previously created with the Create Virtual Sensor command. The new value is delivered to the page through the Sensor APIs, letting tests drive sensor-dependent behavior with predetermined data.

Syntax

Method URI template
POST /session/{session id}/sensor/{type}

URL parameters

session id

Identifier of the session.

type

The virtual sensor type to update, for example "ambient-light".

Payload

The input is an object:

reading

An object representing the new sensor reading. The properties it must contain depend on the sensor type; for example, an "ambient-light" sensor expects an illuminance value.

Return value

null if successful.

Errors

invalid session id

Session does not exist.

invalid argument

The reading is not an object, or it is not a valid reading for the given sensor type.

Examples

Updating a virtual sensor reading

With a WebDriver server running on localhost:4444, assume a virtual "ambient-light" sensor has been created for the active session. To set a new reading, send the reading object as the request payload, replacing ID with the sessionId from the New Session response:

bash
curl -i -H "Content-Type: application/json" \
  -d '{"reading": {"illuminance": 42}}' \
  http://localhost:4444/session/ID/sensor/ambient-light

The server responds with a null value to indicate success:

http
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8

{"value":null}

Specifications

Specification
Generic Sensor API
# update-virtual-sensor-reading-command

Browser compatibility

See also