阿皮如何在具有`android:launchMode =“ singleInstance”`标志的活动中查找元素?

时间:2018-10-15 11:20:09

标签: android automated-tests appium webdriver-io

在为本地android应用创建自动化测试时遇到了问题(使用来自webdriver.io +打字稿的appium)。

当前,我正在尝试在Android清单中具有android:launchMode="singleInstance"的活动中按ID单击按钮。

我遇到了一个问题,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 :(得分:0)

如果驱动程序未能找到元素,请检查其当前面对的XML结构:driver.source()

也许它将返回其他活动/片段的XML表示形式。 您还可以仔细检查当前获得的上下文数量:driver.contexts();

如果NATIVE_APP上下文超过1个,则可能需要切换另一个上下文。