Appium.Как найти элемент для действия с флагом `android: launchMode =" singleInstance "? - PullRequest
0 голосов
/ 15 октября 2018

Я столкнулся с проблемой при создании автоматизированного теста для нативного приложения для Android (с помощью appium из webdriver.io + typcript).

В настоящее время я пытаюсь нажать кнопку по идентификатору для действия, которое имеет android:launchMode="singleInstance" в манифесте Android.

Я столкнулся с проблемой, что appium не может найти какой-либо элемент в этом действии.Лог выглядит так:

[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8203/wd/hub/session/8938c098-48e6-4e7b-b9fd-4cf69034058c/elements] with body: {"strategy":"id","selector":"callStatus","context":"","multiple":true}
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"8938c098-48e6-4e7b-b9fd-4cf69034058c","status":0,"value":[]}
[debug] [MJSONWP] Responding to client with driver.findElements() result: []

Кстати.Я не могу проверить, что активность с помощью UIAutomatorView, похоже, проблема связана и с этим.

если убрать флаг android:launchMode="singleInstance" - все будет работать нормально.

Как решить эту проблему?

Как найти элемент на активности с флагом android:launchMode="singleInstance"?

1 Ответ

0 голосов
/ 16 октября 2018

Если драйвер не может найти элемент, проверьте, с какой XML-структурой он сталкивается в данный момент: driver.source ()

Возможно, он вернет XML-представление другой деятельности / фрагмента.Вы также можете дважды проверить количество контекстов, которые вы получили в данный момент: driver.contexts ();

Если существует более 1 контекста NATIVE_APP, то вам может потребоваться переключить другойодин.

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