Perform Touch ID

Simulate a touch id event (iOS Simulator only)

Example Usage

driver.performTouchID(false); // Simulates a failed touch
driver.performTouchID(true); // Simulates a passing touch

self.driver.touch_id(false); # Simulates a failed touch
self.driver.touch_id(true); # Simulates a passing touch

// example
driver.touchId(false); // Simulates a failed touch
driver.touchId(true); // Simulates a passing touch

// wd example
await driver.touchId(false); // Simulates a failed touch
await driver.touchId(true); // Simulates a failed touch

@driver.touch_id(false) # Simulates a failed touch
@driver.touch_id(true) # Simulates a passing touch

// TODO C# sample

// TODO PHP sample


To enable this feature, the allowTouchIdEnroll desired capability must be set to true and the Simulator must be enrolled.

When you set allowTouchIdEnroll to true, it will set the Simulator to be enrolled by default. The enrollment state can be toggled

This call will only work if Appium process or its parent application (e.g. or has access to Mac OS accessibility in System Preferences > Security & Privacy > Privacy > Accessibility list


Appium Server

Platform Driver Platform Versions Appium Version Driver Version
iOS XCUITest 9.3+ 1.6.0+ All
UIAutomation None None None
Android UiAutomator2 None None None
UiAutomator None None None
Mac Mac None None None
Windows Windows None None None

Appium Clients

Language Support Documentation
Java All
Python All
Javascript (WebdriverIO) All
Javascript (WD) All
Ruby All
C# All

HTTP API Specifications


POST /session/:session_id/appium/simulator/touch_id

URL Parameters

name description
session_id ID of the session to route the command to

JSON Parameters

name type description
match boolean Are we simulating a successful touch (true) or a failed touch (false)



See Also