Middle
What can you tell about iOS Appium specific locators?
sobes.tech AI
Answer from AI
In iOS, Appium-specific locators help find elements in iOS applications by utilizing platform features. The main ones are:
accessibility id— the most common locator for iOS. It uses the Accessibility Identifier value set in the app. Very reliable and fast.class chain— allows searching for elements by the hierarchy of UI class types. For example,**/XCUIElementTypeButton[label == "Submit"]` searches for a button with the label "Submit".predicate string— a powerful locator that uses NSPredicate syntax to filter elements by properties, e.g.,type == 'XCUIElementTypeButton' AND name == 'Login'.
Example of usage in Appium (JavaScript):
// Search by accessibility id
const loginButton = await driver.$('~login_button_accessibility_id');
// Search by class chain
const submitButton = await driver.$('-ios class chain:**/XCUIElementTypeButton[`label == "Submit"`]');
// Search by predicate string
const loginField = await driver.$('-ios predicate string:type == "XCUIElementTypeTextField" AND name == "username"');
Using these locators allows for more precise and efficient interaction with iOS app elements in automation via Appium.