2

我正在尝试将 AndroidViewClient 用于 ScrollViews。这是 Android 设置屏幕的一个场景: 1. 启动设置页面,执行 ./dump.py,它将生成所有 id 等。 2. 向下滚动设置页面,执行另一个 ./dump.py。Android View Client 为新屏幕生成相同的 ID。

对于我的项目,我根据 ID 识别对象,因此如果我想在第二个屏幕(滚动后)上单击的元素获得与第一个屏幕相同的 ID。测试将失败。是否有一些 API 来处理滚动视图,它列出了我们在屏幕上看到的元素 ID。

有没有人试过这个?

4

1 回答 1

2

您可以在脚本中跟踪ID,但这会非常困难。

AndroidViewClientUiAutomator后端一起使用时,此后端不提供 ID,因此 AndroidViewClient 提供了将UniqueIds分配给屏幕上的视图的功能。这些 UniqueId 在一次调用和下一次调用之间重新分配vc.dump()。我能想到在滚动时跟踪 Id 的唯一方法是使用视图的文本或内容描述,但这可以通过脚本简单地完成,该脚本也对所呈现的内容有一些了解。

话虽如此,我的建议是坚持视图的文本内容描述,以便在滚动后找到它们。

于 2013-06-25T15:10:24.873 回答