我需要使用AndroidViewClient进行一些自动化测试。
在我的代码中,我使用了ViewClient的dump()
。但我经常遇到以下错误:
RuntimeError:视图刷新过于频繁而无法转储。
这可能会引发:
错误:无法获得空闲状态。
dtmilano(Android应用程序测试指南的作者)answered a similar problem in this question。他说有一个uuutomator限制。
但我的API编号是19,为什么还有uiautomator限制?我该如何处理这个问题?如何使用waitforidle()
?
答案 0 :(得分:2)
这是UiAutomator限制。
正如我在其他答案中提到的,如果您的设备已禁用 ViewServe ,则可选择使用系统 secure mode r 作为后端或 LocalViewServer 如果您的设备处于安全模式,但您可以访问受测试应用程序的源代码。
ViewCliet
应对上述后端的差异。这是相同的脚本可以使用不同的后端保持不变。
例如,强制 dump
使用ViseServer
只需运行
$ dump --force-view-server-use --all
您可以在脚本中执行相同的操作。