如何获取安卓视图的名称或ID

0 投票
1 回答
618 浏览
提问于 2025-04-18 01:03

我现在正在开发代码,用于安卓手机的测试自动化。我的测试引擎是用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。

撰写回答