如何获取安卓视图的名称或ID
我现在正在开发代码,用于安卓手机的测试自动化。我的测试引擎是用Python写的,还用了Diego Torres开发的AndroidViewClient库。
我可以通过以下命令获取视图的层级结构:
device, serialno = viewclient.ViewClient.connectToDeviceOrExit()
vc = viewclient.ViewClient(device, serialno)
for id in vc.getViewIds():
attrs = vc.findViewById(id)
#print str(id) + "->" + str(attrs)
WindowTree.append(str(id) + "->" + str(attrs))
这个功能很好。不过我遇到的问题是,每个视图都有自己的层级结构。比如说,拨号应用可以有拨号键盘视图和通话记录视图。
这两个视图都有各自的层级结构。我能通过对应的ID识别每个图标和文本框,但我还是找不到怎么获取视图的名称?
有没有什么想法呢?
我想根据我所在的视图做出反应。如果是在拨号键盘,那ID对应的是某些内容;如果是在通话记录视图,那ID对应的是另外一些内容。
我试着用“vc”来获取视图ID,但无论是在拨号键盘还是通话记录屏幕上,结果都是一样的。这样的话,我就无法判断自己是在拨号键盘还是通话记录视图。
1 个回答
0
我需要知道当我打开手机应用时,自己是在拨号键盘、通话记录还是通讯录里。
如果我已经在正确的界面上,我就可以获取这个界面的ID。