51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5616|回复: 14
打印 上一主题 下一主题

[原创] 如何判断树节点是否被展开

[复制链接]
  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2008-2-15 15:38:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    如下图所示的树结构,很多Web程序都有:

    手动展开时是双击名称,但此时被QTP识别为Link的Click事件,回放时是不成功的。
    修改QTP设置可以让其识别到双击事件,更简单的方法是FireEvent来触发一个双击事件即可。

    但是,怎样判断一个节点是否被展开了呢?
    譬如图上888节点,如何判断其其中与否。

    +、-、连接数、文件夹、打开文件夹 都是图片显示在网页上。

    “888”的坐标和“文件夹”/“+、-”号的纵坐标不一致。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2008-2-15 16:50:21 | 只看该作者
    我也想知道,一般都没有判断,因为树上来默认是不展开的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-2-15 21:51:56 | 只看该作者
    那个+ -减号是图片吗 我以前看过一些网站是图片 如果是的话 你可以以图片作为验证标准
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
     楼主| 发表于 2008-2-15 23:49:17 | 只看该作者

    回复 3# lantianwei 的帖子

    是要以图片为标准,显示为+就是收起 -就是展开
    文件夹打开就是展开  文件夹关闭就是收起

    但是文字和图片是分开显示的  你看到的名字是文字 
    要识别是否展开的是图片 
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-2-16 19:56:22 | 只看该作者
    可以写个函数来解决这种展开树之类的检查。检查点可以包括在函数里面。
    放到公共类库里,要用的时候调用下就可以了。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-2-16 20:00:47 | 只看该作者
    原帖由 jsusu 于 2008-2-16 19:56 发表
    可以写个函数来解决这种展开树之类的检查。检查点可以包括在函数里面。
    放到公共类库里,要用的时候调用下就可以了。。。

    朋友得说具体点啊!不然LZ还是不知道你意思
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
     楼主| 发表于 2008-2-16 20:37:26 | 只看该作者

    jsusu:

    原帖由 jsusu 于 2008-2-16 19:56 发表
    可以写个函数来解决这种展开树之类的检查。检查点可以包括在函数里面。
    放到公共类库里,要用的时候调用下就可以了。。。
      


     请问jsusu,能详细说明一下么?偶真还未明白 
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-2-18 10:20:25 | 只看该作者
    我怎么看不到图呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
     楼主| 发表于 2008-2-18 13:46:09 | 只看该作者

    回复 8# raymanan 的帖子

    我这边可以看到图的,如果你刷新了还是看不见的话,可以看原文吧:

    http://higkoo.blog.sohu.com/79195771.html
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
     楼主| 发表于 2008-2-27 18:07:16 | 只看该作者

    上传测试程序

    肉眼看到的树结构实际上是若干个图片组成的。



    测试程序说明测试程序是一个单HTML文件,没有图片。
    但每个图片那会有一个X显示,每个X还是响应原有的单击和双击事件。
    可以拿来做实验的。

    如果靠坐标和像素差来进行判断,脚本可维护性很差,请高手出高招!

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-2-27 22:30:29 | 只看该作者
    判断展开的目的是什么呢?
    是否可以考虑直接CLICK展开的节点,然后检查程序的反应是否正确,比如某个文本框的内容变化等。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
     楼主| 发表于 2008-2-29 09:24:39 | 只看该作者

    回复 11# loho1968 的帖子

    起初是想打开节点后,可以选中指点的节点,然后添加数据。

    现在发现不用展开树节点,一样可以进行选中。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-5-9 16:33:27 | 只看该作者
    本帖最后由 cebio 于 2011-5-9 16:39 编辑

    用DOM找到那个节点特征,用描述性编程处理
    循环点击每个菜单
    '-----------------------------------------------------------------------------------------------begin
    Set linkDesc = Description.Create()
                    linkDesc("micclass").value = "Link"
                    linkDesc("html tag").value = "A"
                    linkDesc("class").value = "x-tree-node-anchor"
    '                linkDesc("html id").value = "ext-gen\d{3,}$"    '正则匹配
    '                linkDesc("name").value = "分类"        'for debug
    Set linkCollection = Browser("browser").Page("page").ChildObjects(linkDesc)
    NumberOflinks = linkCollection.Count()
    For i = 0 to NumberOflinks - 1
    '        link_name = linkCollection(i).GetROProperty("name")        'for debug
            linkCollection(i).Click
            Browser("browser").Page("page").Sync
    '        Set linkDesc = Description.Create()
    '        linkDesc("micclass").value = "Link"
    '        linkDesc("html tag").value = "A"
    '        linkDesc("class").value = "x-tree-node-anchor"
    '         linkDesc("name").value = link_name
    '        Browser("browser").Page("page").Link(linkDesc).Click
    '-------------------------------------------------------------------------------------------------end
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2011-5-12 11:04:53 | 只看该作者
    可以留意下,如果+和-的图片里属性不一样就比较好做了,比如有些是会有属性file name=“XXX”, 这个属性经常是不一样的, 然后通过描述性编程,用exist方法来进行判断,比如判断
    ‘如果+的对象存在,则下列判断通过,做展开操作,否则跳过展开操作
    if X。image("file name=“XXX").exist(0) then
          做点击操作
    end if
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2011-5-13 17:24:44 | 只看该作者
    受教受教了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 18:59 , Processed in 0.073752 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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