如何在本机Android应用程序中检测并单击Mapbox标记?

时间:2018-12-21 05:28:16

标签: appium appium-android

我们正在尝试为基于Mapbox的Maps SDK for Android的本机移动应用程序创建自动化测试。自动化测试需要确定屏幕上存在的标记数量,屏幕上存在的标记簇数量,单击标记或簇等。

通过UIAutomatorViewer或Appium inspector在Android应用程序上查看Mapbox地图时,在对象层次结构中未显示地图上可见的标记。

Android本机移动应用程序开发团队可以做什么以显示标记/群集,以使它们对Appium可见?

或者,自动化团队可以探索其他哪些选项来开发自动化测试? Espresso并不是理想的选择,因为自动化团队无法访问本机移动应用程序的源代码。

请参见Mapbox demo application's->注释->绘制标记,以获取我们想要检测并单击的标记示例。

2 个答案:

答案 0 :(得分:1)

由于Mapbox SDK使用OpenGL渲染而不是本机组件,因此大多数测试自动化框架将无法识别UI元素,例如添加到地图的标记或群集。

有些测试人员使用Accelerated-KAZE Features项目中的图像识别功能来查找屏幕上的项目以进行计数和选择。可以在https://github.com/bitbar/bitbar-samples/tree/master/image-recognition

找到一些示例代码。

另一种方法可能是让移动应用程序开发人员包括测试挂钩,这些挂钩可让您的测试代码使用Mapbox API查询呈现的功能。 Mapbox文档位于此处:https://www.mapbox.com/android-docs/maps/overview/query/#query-rendered-features

答案 1 :(得分:0)

我之前曾遇到过这种情况,即使从Appium检查器中选择了某个元素,即使该元素显示在屏幕上也没有突出显示。

后来,当我扫描整个层次结构树时,可以在每个节点上单击以找到该元素。

我建议您单击每个节点并检查,标记将出现在层次结构树中。只是检查器光标无法突出显示它。