watchOS Automation
The XCUITest driver supports automation of the watchOS platform. Only the Simulator is supported - sessions requesting a real watchOS device will fail.
Sessions running on watchOS have the following minimum requirements:
- XCUITest driver 12.6.0 or later (WebDriverAgent 16.5.0 or later)
- Xcode 15.4 or later
- watchOS 10 or later
All watchOS sessions must set their platformName capability to watchOS (instead of iOS).
Simulator Setup¶
Apart from installing the simulator itself, no additional configuration is needed - you can start a
session right away. Make sure to provide the simulator's deviceName and platformVersion:
{
"platformName": "watchOS",
"appium:automationName": "XCUITest",
"appium:deviceName": "<apple-watch-simulator-name>",
"appium:platformVersion": "<watchos-version>",
...
}
Session Actions¶
watchOS apps are automated the same way as regular iOS/iPadOS apps - the standard
findElement/click methods and other native element interactions work as usual.
Hardware button presses are available through the mobile: pressButton
extension. watchOS only exposes the home button (and action, on models/OS versions that have a
hardware Action button).
Digital Crown rotation and hand gestures are available through the
mobile: rotateDigitalCrown and
mobile: performHandGesture extensions.
Known Limitations¶
- Only the Simulator is supported; real watchOS devices cannot be used as automation targets
- Standard W3C gesture/touch actions (e.g. tap/swipe via the Actions API) do not work