如何使用屏幕上的位置(边界)在 UiAutomator 中查找对象
How to findObject in UiAutomator using position on screen (bounds)
我想使用 device.findObject() 在我的屏幕中查找一个对象,这需要一个 UiSelector。到目前为止一切顺利。
问题是我有几个项目只能通过它们在屏幕上的位置来区分,例如,在消息传递应用程序中,所有头像都具有相同的属性,除了它们的位置在屏幕上。
如何指定?
我想到了:
- 在找到对象后检查 属性 并在没有这个对象的情况下再次进行搜索,但我也找不到任何从搜索中删除对象的方法。
- 使用 UiCollection 获取所有可能的元素,然后一一检查哪个是正确的。问题:我不能在UiCollection中使用foreach,要找到一个元素我只能使用一个UiSelector,它和以前有同样的问题。
你有sugestions/solutions吗?
谢谢。
这不是一个很好的解决方案,但您可以使用 UiDevice.findObjects(..) to return all of them. Then use getVisibleBounds() or getVisibleCenter() 检查坐标。
我想使用 device.findObject() 在我的屏幕中查找一个对象,这需要一个 UiSelector。到目前为止一切顺利。
问题是我有几个项目只能通过它们在屏幕上的位置来区分,例如,在消息传递应用程序中,所有头像都具有相同的属性,除了它们的位置在屏幕上。
如何指定?
我想到了:
- 在找到对象后检查 属性 并在没有这个对象的情况下再次进行搜索,但我也找不到任何从搜索中删除对象的方法。
- 使用 UiCollection 获取所有可能的元素,然后一一检查哪个是正确的。问题:我不能在UiCollection中使用foreach,要找到一个元素我只能使用一个UiSelector,它和以前有同样的问题。
你有sugestions/solutions吗?
谢谢。
这不是一个很好的解决方案,但您可以使用 UiDevice.findObjects(..) to return all of them. Then use getVisibleBounds() or getVisibleCenter() 检查坐标。