В AppiumLibrary 1.4 указывать id и xpath не обязательно, однако xpath должен начинаться с // иначе просто используйте локатор xpath, как описано ниже.
Например:
Click Element my_element
Wait Until Page Contains Element //*[@type="android.widget.EditText"]
Appium дополнительно поддерживает некоторые стратегии локатора Mobile JSON Wire Protocol.
Также можно указать подход, который AppiumLibrary должен использовать для поиска элемента, указав стратегию поиска с префиксом локатора.
Поддерживаемые стратегии:
Strategy Example Description Note
identifier Click Element | identifier=my_element Matches by @id attribute
id Click Element | id=my_element Matches by @resource-id attribute
accessibility_id Click Element | accessibility_id=button3 Accessibility options utilize.
xpath Click Element | xpath=//UIATableView/UIATableCell/UIAButton Matches with arbitrary XPath
class Click Element | class=UIAPickerWheel Matches by class
android Click Element | android=UiSelector().description('Apps') Matches by Android UI Automator
ios Click Element | ios=.buttons().withName('Apps') Matches by iOS UI Automation
nsp Click Element | nsp=name=="login" Matches by iOSNsPredicate Check PR: #196
css Click Element | css=.green_button Matches by css in webview
name Click Element | name=my_element Matches by @name attribute Only valid for Selendroid
Using webelements
Начиная с версии 1.4 AppiumLibrary, можно передать аргумент, содержащий WebElement вместо указателя строки.
Чтобы получить WebElement, используйте новое ключевое слово Get WebElements или Get WebElement.
Например:
@{elements} Get Webelements class=UIAButton
Click Element @{elements}[2]