Тестовые случаи Appium на реальных устройствах не распознают элементы, на которые они должны нажимать - PullRequest
0 голосов
/ 31 января 2020

Я написал несколько тестов для собственного реагирующего приложения, предоставил здесь и там некоторые testIDs (работал с testProps, так что отлично подходит для Android и iOS), и тесты работали гладко на виртуальных устройствах (iOS Simulator и Android эмулятор). Теперь я собрал apk-файл и ipa из собственного реагирующего приложения, и если я хочу запустить тесты appium на реальном устройстве с (до сих пор) отлично работающими тестами appium, то тест, похоже, не обнаруживает метки доступности. Я также проверил страницы с помощью инспектора appium, но он, похоже, не нашел метки специальных возможностей в файле apk. Журналы также не полезны, так как они просто говорят:

    [MJSONWP (b824eb6b)] Calling AppiumDriver.findElements() with args:
    ["accessibilityid","nextbutton.button","b824eb6b-2100-4e76-bf55-4c1fc341555a"] 
    [BaseDriver] Valid locator strategies for this request: xpath, id, class name, 
    accessibility id, -android uiautomator [BaseDriver] Waiting up to 0 ms for condition [WD 
    Proxy] Matched '/elements' to command name 'findElements' [WD Proxy] Proxying [POST 
    /elements] to [POST http://localhost:8200/wd/hub/session/c4a35d0d-d5be-4849-
    a3fc-13364f4fc77c/elements] with body: {"strategy":"accessibility 
    id","selector":"nextbutton.button","context":"","multiple":true} [WD Proxy] Got response 
    with status 200: {"sessionId":"c4a35d0d-d5be-4849-a3fc-13364f4fc77c","value":[]} [MJSONWP
    (b824eb6b)] Responding to client with driver.findElements() result: [] [HTTP] <-- POST 
    /wd/hub/session/b824eb6b-2100-4e76-bf55-4c1fc341555a/elements 200 102 ms - 74 [HTTP] 
    [HTTP] --> POST /wd/hub/session/b824eb6b-2100-4e76-bf55-4c1fc341555a/elements [HTTP] 
    {"using":"accessibility id","value":"nextbutton.button"}

Среда

Appium version: 1.15.1
Desktop OS/version used to run Appium: MacOS Catalina
Real device or emulator/simulator: Android 7, Galaxy S6 edge
#

Кто-нибудь еще сталкивался с этой проблемой?

1 Ответ

0 голосов
/ 31 января 2020

По моему опыту, поиск элементов по id или xpath дает наилучшие результаты. Вы уверены, что захватываете правильный accessibility_id?

Согласно справочному руководству, accessibility_id

Считывание уникального идентификатора элемента пользовательского интерфейса. Для XCUITest это атрибут accessibility-id элемента. Для Android это атрибут элемента content-des c.

http://appium.io/docs/en/commands/element/find-elements/

...