Как использовать ID в фреймворке роботов Appium? (Не xpath или идентификатор ресурса) - PullRequest
0 голосов
/ 19 июня 2020

Я использовал идентификатор ресурса для генерации xpath, но в инспекторе appium есть раздел, специально названный как ID. Как это использовать. Я пробовал несколько синтаксисов, но не обнаружил ни одного элемента на моем экране. Я использую библиотеку appium с роботом. xpath с идентификатором ресурса отлично работает. Я использую гибридное приложение ioni c для тестирования. Кто-нибудь встречает это?

1 Ответ

0 голосов
/ 19 июня 2020

В 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]
...