在为本地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"
标志的活动中查找元素?
答案 0 :(得分:0)
如果驱动程序未能找到元素,请检查其当前面对的XML结构:driver.source()
也许它将返回其他活动/片段的XML表示形式。 您还可以仔细检查当前获得的上下文数量:driver.contexts();
如果NATIVE_APP上下文超过1个,则可能需要切换另一个上下文。