Неожиданное значение, возвращаемое при проверке значения свойства для приложений Android

Недавно я обновил свою версию appium до 1.11.1, и после того, как я выполнил базовую проверку, такую ​​как проверка состояния интерактивных элементов в новом макете экрана моего приложения для Android (в котором ранее я проверял, все элементы были "clickable = false" через инструмент UI Automator Viewer), поэтому после выполнения теста я увидел в ответах, что все элементы были возвращены со свойством "clickable = true" вместо этого, а метод size () вернул 14 элементов вместо ожидаемого значения «0».

Здесь выполняется пример шага проверки:

"driver.findElementsByAndroidUIAutomator("new UiSelector().clickable(true)").size()"

И ответ журнала от сервера Appium:

[debug] [W3C (ee1567a8)] Calling AppiumDriver.findElements() with args: ["-android uiautomator","new UiSelector().clickable(true)","ee1567a8-d179-433a-870b-61403e6ce2f8"]
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Waiting up to 10000 ms for condition
[debug] [AndroidBootstrap] Sending command to android: {"cmd":"action","action":"find","params":{"strategy":"-android uiautomator","selector":"new UiSelector().clickable(true)","context":"","multiple":true}}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"-android uiautomator","selector":"new UiSelector().clickable(true)","context":"","multiple":true}}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding 'new UiSelector().clickable(true)' using 'ANDROID_UIAUTOMATOR' with the contextId: '' multiple: true
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Parsing selector: new UiSelector().clickable(true)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] UiSelector coerce type: boolean arg: true
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (1)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=1, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (2)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=2, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (3)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=3, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (4)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=4, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (5)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=5, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (6)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=6, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (7)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=7, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (8)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=8, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (9)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=9, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (10)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=10, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (11)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=11, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (12)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=12, CLICKABLE=true]
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (13)
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=13, CLICKABLE=true]
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":[{"ELEMENT":"2"},{"ELEMENT":"3"},{"ELEMENT":"4"},{"ELEMENT":"5"},{"ELEMENT":"6"},{"ELEMENT":"7"},{"ELEMENT":"8"},{"ELEMENT":"9"},{"ELEMENT":"10"},{"ELEMENT":"11"},{"ELEMENT":"12"},{"ELEMENT":"13"},{"ELEMENT":"14"}]}
[debug] [W3C (ee1567a8)] Responding to client with driver.findElements() result: [{"element-6066-11e4-a52e-4f735466cecf":"2","ELEMENT":"2"},{"element-6066-11e4-a52e-4f735466cecf":"3","ELEMENT":"3"},{"element-6066-11e4-a52e-4f735466cecf":"4","ELEMENT":"4"},{"element-6066-11e4-a52e-4f735466cecf":"5","ELEMENT":"5"},{"element-6066-11e4-a52e-4f735466cecf":"6","ELEMENT":"6"},{"element-6066-11e4-a52e-4f735466cecf":"7","ELEMENT":"7"},{"element-6066-11e4-a52e-4f735466cecf":"8","ELEMENT":"8"},{"element-6066-11e4-a52e-4f735466cecf":"9","ELEMENT":"9"},{"element-6066-11e4-a52e-4f735466cecf":"10","ELEMENT":"10"},{"element-6066-11e4-a52e-4f735466cecf":"11","ELEMENT":"11"},{"element-6066-11e4-a52e-4f735466cecf":"12","ELEMENT":"12"},{"element-6066-11e4-a52e-4f735466cecf":"13","ELEMENT":"13"},{"element-6066-11e4-a52e-4f735466cecf":"14","ELEMENT":"14"}]
[HTTP] <-- POST /wd/hub/session/ee1567a8-d179-433a-870b-61403e6ce2f8/elements 200 5188 ms - 775

Так кто-нибудь может помочь, если это может быть связано с проблемой самой последней версии Appium или если мне не хватает чего-то еще на этапе проверки?

Тем не менее, я не обнаружил каких-либо проблем с последней версией Appium ЗДЕСЬ

Примечания. Ниже приведены различные используемые библиотеки и их версии.

  • Версия клиента Java: 7.0.0
  • Клиент Selenium Java: 3.141.59
  • Версия Appium: 1.11.1

person Renzo Castaneda    schedule 02.03.2019    source источник


Ответы (1)


Поскольку Appium использует UIAutomator2 со своим собственным клиент-сервером реализации, нецелесообразно использовать довольно старый инструмент UI Automator Viewer, который использует собственный UIAutomator из Android SDK.

Подходящим инспектором является Appium Desktop, его новая версия обычно отправляется сразу после выпущен новый сервер Appium. Он не только дружелюбен к UX, но и использует Appium под ним и гарантирует, что то, что вы обнаружите, будет работать в тестах.

person dmle    schedule 03.03.2019