Не удалось использовать Xpath в Appium + Robot Framework, где в Appium Log отображается сообщение об ошибке в виде contextId: 'множественный: истина' - PullRequest
0 голосов
/ 26 февраля 2019

Использование Robot Framework с комбинацией Appium и Selenium2Library / SeleniumLibrary.Если я попытался запустить свой скрипт с некоторыми локаторами xpath, например, как показано ниже

 AppiumLibrary.Click Element                       xpath=//android.widget.TextView[@text='Site Control'] 

в файле ключевых слов, то получилось сообщение об ошибке.

Сообщение об ошибке:

Finding '//android.widget.EditText[@index='4']' using 'XPATH' with the contextId: '' multiple: true

Appium Logs:

 [debug] [35m[AndroidBootstrap][39m [BOOTSTRAP LOG] [debug] Got command of type ACTION
 [debug] [35m[AndroidBootstrap][39m [BOOTSTRAP LOG] [debug] Got command action: find
 [debug] [35m[AndroidBootstrap][39m [BOOTSTRAP LOG] [debug] Finding '//android.widget.EditText[@index='4']' using 'XPATH' with the contextId: '' multiple: true

Сценарий робота:

 Click on Site Control and Create Case
      AppiumLibrary.Click Element                       xpath=//android.widget.TextView[@text='Site Control']
      sleep                                             ${timeout}
      AppiumLibrary.click element                       xpath=//android.widget.EditText[@index='4']
      sleep                                             ${timeout}
      AppiumLibrary.input text                          xpath=//android.widget.EditText[@text='Intallationid']   site212

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Наконец-то нашел ответ на это сообщение об ошибке.Проблема заключается в том, что команда разработчиков поддерживает общие имена переменных для элементов пользовательского интерфейса в своем коде React Native, чтобы повторно использовать его, и для преодоления этой ошибки добавляются следующие возможности UiAutomator2:

Для Java с Appium (Appium Java Client)

capabilities.setCapability("automationName", "UiAutomator2");

Для Robot Framework (робот AppiumLibrary)

automationName=UiAutomator2 (inside open application keyword)

Почему появилась эта ошибка?Appium не поддерживает автоматизацию UiAutomator, если версия ОС нашего устройства / эмулятора> = 6. Я использовал 7+.Итак, я переключился на UiAutomator2 и убедился, что JAVA_HOME & ANDROID_HOME настроен правильно.

0 голосов
/ 16 марта 2019

это означает, что ваш локатор не настолько уникален.Пожалуйста, попробуйте добавить больше уникальных атрибутов, таких как //android.widget.EditText[@index='4 'и @ attribute =' value ']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...