51Testing软件测试论坛

标题: 如何判断树节点是否被展开 [打印本页]

作者: higkoo    时间: 2008-2-15 15:38
标题: 如何判断树节点是否被展开
如下图所示的树结构,很多Web程序都有:

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

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

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

“888”的坐标和“文件夹”/“+、-”号的纵坐标不一致。
作者: sunqiang1024    时间: 2008-2-15 16:50
我也想知道,一般都没有判断,因为树上来默认是不展开的
作者: lantianwei    时间: 2008-2-15 21:51
那个+ -减号是图片吗 我以前看过一些网站是图片 如果是的话 你可以以图片作为验证标准
作者: higkoo    时间: 2008-2-15 23:49
标题: 回复 3# lantianwei 的帖子
是要以图片为标准,显示为+就是收起 -就是展开
文件夹打开就是展开  文件夹关闭就是收起

但是文字和图片是分开显示的  你看到的名字是文字 
要识别是否展开的是图片 
作者: jsusu    时间: 2008-2-16 19:56
可以写个函数来解决这种展开树之类的检查。检查点可以包括在函数里面。
放到公共类库里,要用的时候调用下就可以了。。。
作者: lantianwei    时间: 2008-2-16 20:00
原帖由 jsusu 于 2008-2-16 19:56 发表
可以写个函数来解决这种展开树之类的检查。检查点可以包括在函数里面。
放到公共类库里,要用的时候调用下就可以了。。。

朋友得说具体点啊!不然LZ还是不知道你意思
作者: higkoo    时间: 2008-2-16 20:37
标题: jsusu:
原帖由 jsusu 于 2008-2-16 19:56 发表
可以写个函数来解决这种展开树之类的检查。检查点可以包括在函数里面。
放到公共类库里,要用的时候调用下就可以了。。。
  


 请问jsusu,能详细说明一下么?偶真还未明白 
作者: raymanan    时间: 2008-2-18 10:20
我怎么看不到图呢?
作者: higkoo    时间: 2008-2-18 13:46
标题: 回复 8# raymanan 的帖子
我这边可以看到图的,如果你刷新了还是看不见的话,可以看原文吧:

http://higkoo.blog.sohu.com/79195771.html
作者: higkoo    时间: 2008-2-27 18:07
标题: 上传测试程序
肉眼看到的树结构实际上是若干个图片组成的。



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

如果靠坐标和像素差来进行判断,脚本可维护性很差,请高手出高招!
作者: loho1968    时间: 2008-2-27 22:30
判断展开的目的是什么呢?
是否可以考虑直接CLICK展开的节点,然后检查程序的反应是否正确,比如某个文本框的内容变化等。
作者: higkoo    时间: 2008-2-29 09:24
标题: 回复 11# loho1968 的帖子
起初是想打开节点后,可以选中指点的节点,然后添加数据。

现在发现不用展开树节点,一样可以进行选中。
作者: cebio    时间: 2011-5-9 16:33
本帖最后由 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
作者: 131425god    时间: 2011-5-12 11:04
可以留意下,如果+和-的图片里属性不一样就比较好做了,比如有些是会有属性file name=“XXX”, 这个属性经常是不一样的, 然后通过描述性编程,用exist方法来进行判断,比如判断
‘如果+的对象存在,则下列判断通过,做展开操作,否则跳过展开操作
if X。image("file name=“XXX").exist(0) then
      做点击操作
end if
作者: hwm831002    时间: 2011-5-13 17:24
受教受教了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2