51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5090|回复: 28
打印 上一主题 下一主题

[原创] 求助:怎样获取WinlistView中的对象呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-3-3 09:07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
QTP将其识别为一个WinlistView对象。点击CEO或设计的区别只是点击的坐标的位置不同。有什么方法获取"CEO"或"设计"吗?让后我可以根据循环的次数确定其坐标,然后点击。大侠们,多多指教。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-13 11:02
  • 签到天数: 55 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2011-3-3 09:45:55 | 只看该作者
    没太明白你的意思。。。你这个是表格吗?如果是表格,可以使用获取表格中值的childitem方法。。还有一个getcelldata方法取值
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2011-3-3 10:35:21 | 只看该作者
    回复 2# 819longjiayan


        不是表格。。就是QTP将“名称”,"CEO"等整个识别为一个Winlistview,我想在想通过某个方法得到第一行的CEO中的“CEO”第二行的“设计”,通过什么方法才能得到这些值呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2011-3-3 10:43:21 | 只看该作者
    LZ是想通过得到这些名称, 然后来进行选择操作么? 还是说只是取名称
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2011-3-3 11:07:17 | 只看该作者
    回复 4# shingo0109


        对,就是获取名称,获取名称后我就可以通过字符串比较,然后决定下面的操作。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
    发表于 2011-3-3 14:03:44 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2011-3-3 14:36:33 | 只看该作者
    回复 6# shingo0109


        我看到了。。还是不知道该怎么解决这个问题。。。你能明白他写的意思吗?望指教。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    8#
    发表于 2011-3-3 14:41:43 | 只看该作者
    你录制一下,看一下qtp智能,是怎么取的。 

    难道qtp录制不了吗。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    9#
    发表于 2011-3-3 14:58:50 | 只看该作者
    本帖最后由 shingo0109 于 2011-3-3 15:00 编辑

    LZ参考以下代码中的函数试试, 因为我这边用任务管理器试了下,跑到这步“ Columns(iColumn) = Obj.GetColumnHeader(iColumn) "老是报“未指定的错误”的错误, 我也不清楚原因了.

    ReDim Columns(10)
    Set Obj = Window("搜狗音乐盒").WinListView("SysListView32")
    cColumns = Obj.ColumnCount()
    For iColumn = 0 To cColumns - 1
    Columns(iColumn) = Obj.GetColumnHeader(iColumn)
    Next
    cItems = Obj.GetItemsCount

    For iItems = 0 To cItems - 1
    str ="第 "&iItems+1&" 首歌曲属性列表"& vbCr
    For iColumn =0 To cColumns - 1
       str = str &Columns(iColumn)&" = "& Obj.GetSubItem(iItems ,Columns(iColumn)) & vbCr
    Next
    Msgbox str
    Next
    Set Obj = nothing
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2011-3-3 15:22:41 | 只看该作者
    回复 8# 17800455


        是的。。点击CEO或设计唯一的区别就是点的位置不同,即坐标不同。所以我想通过循环,在循环中得到某一行的text值,如果跟我有的值相同,根据循环的次数,判断位置,就去点击相应地位置。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2011-3-3 15:23:44 | 只看该作者
    回复 9# shingo0109


        我也是。所以还是不知该怎么办??
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    12#
    发表于 2011-3-3 16:20:37 | 只看该作者
    帮顶了, 等待高手答案~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    13#
    发表于 2011-3-3 16:40:55 | 只看该作者
    查看HELP,winlistview对象有多种方法可用。
    按照你描述的,可以试下以Get开头的那几个方法:GetItem,GetItemProperty,GetSubItem等等。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2011-3-3 17:26:42 | 只看该作者
    回复 13# june.diny

    我知道,可是我不知道用哪个方法。。看帮助我对方法的具体作用还是不清楚。。不知道该怎么用,调了半天,还是不对。。关键是对方法的作用不清楚。。你要清楚地话帮忙想下吧。。就是通过winlistview的自身的方法实现对某一项text值的获取。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    15#
    发表于 2011-3-3 17:28:50 | 只看该作者
    回复 13# june.diny


    我这边用任务管理器试了下你说的那些方法, 如GetItem, GetColumnHeader,GetSubItem, 为啥总是报错啊?
    但我用GetItemsCount和ColumnCount这2个是可以输出值的

    楼上知道原因么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    16#
    发表于 2011-3-3 17:45:28 | 只看该作者
    本帖最后由 june.diny 于 2011-3-3 17:55 编辑


    借楼上的话题,以任务管理器为例:
    ItemName = Dialog(..).WinListView(..).GetItem(2)

    ItemName 就是要获取的值

    注:GetItem括号里面的值是index,从0开始。。。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    17#
    发表于 2011-3-3 17:53:57 | 只看该作者
    回复 15# shingo0109

    我试了下都可以的,要不你重启下试试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-8-25 11:11
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    18#
    发表于 2011-3-3 23:31:52 | 只看该作者
    With Dialog("Windows Task").WinListView("SysListView32")
         For i = 0 To 5
                 sSub = "Image Name"
                 sReport = sReport + .GetSubItem(i, "Image Name") & vbTab
                 sReport = sReport + .GetSubItem(i, "PID") & vbTab
                 sReport = sReport + .GetSubItem(i, "CPU") & vbTab
                 sReport = sReport + .GetSubItem(i, "CPU Time") & vbTab
                 sReport = sReport + .GetSubItem(i, "Mem Usage")
                 sReport = sReport + vbCr
            Next

             sReport = sReport + .GetSubItem("QTPro.exe", 0) & vbTab
             sReport = sReport + .GetSubItem("QTPro.exe", 1) & vbTab
             sReport = sReport + .GetSubItem("QTPro.exe", 2) & vbTab
             sReport = sReport + .GetSubItem("QTPro.exe", 3) & vbTab
             sReport = sReport + .GetSubItem("QTPro.exe", 4)
             sReport = sReport + vbCr

        End With
        Reporter.ReportEvent micDone, "Task Manager", sReport

    End Sub
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2011-3-4 11:25:38 | 只看该作者
    回复 16# june.diny
    你知道为啥Columns(iColumn) = Obj.GetColumnHeader(iColumn) "老是报“未指定的错误”的原因吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    20#
    发表于 2011-3-4 12:48:52 | 只看该作者
    回复 19# 小新弦子


    我也是报这个错误啊。。不知是啥原因
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 23:38 , Processed in 0.190413 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表