51Testing软件测试论坛

标题: 求助:链接的处理问题 [打印本页]

作者: aries1979    时间: 2006-2-8 12:47
标题: 求助:链接的处理问题
在我的页面上有这样一个链接的处理问题:
页面上列出了若干项数据,每条数据旁边有一个X标记的链接,用来删除该数据,例如:
张三   X
李四   X
王五   X
点击改“X”链接即将对应的数据删除。

现在我需要在脚本中作如下操作:判断页面上是否有该“X”链接,如果有,则一一点击删除(即删除所有数据)。
但录制脚本的时候并不能预计有多少条数据,且不能一一将该链接加入object repository。
如何进行参数化?
作者: Horus_Ra    时间: 2006-2-8 13:02
其实有个简单又傻瓜的方法……(这是我第一反应想到的方法,不知道QTP能否实现?)
用按键精灵就行,把窗口最大化,x的位置就固定下来了,然后模拟鼠标点击x所在位置就行了……

[ 本帖最后由 Horus_Ra 于 2006-2-8 13:03 编辑 ]
作者: hongtang    时间: 2006-2-8 13:19
标题: 只要用参数化就行了
进入网页的时候提取该网页内所有满足条件的LINK,保存起来
关联LINK 一一删除即可
作者: aries1979    时间: 2006-2-8 14:06
原帖由 hongtang 于 2006-2-8 13:19 发表
进入网页的时候提取该网页内所有满足条件的LINK,保存起来
关联LINK 一一删除即可


如何提取保存?

我现在遇到的问题是这样的:
这些链接我设置了一个href的属性,值为:javascript:delrow(0);
在页面中这些链接的href值一次为javascript:delrow(0);javascript:delrow(1);javascript:delrow(2);,。。。
然后我用一个循环,每次先判断链接是否存在,然后点击链接(删除数据),之后用SetTOProperty将increment的href属性值写入
我期待的结果是:比如一开始有0、1、2三个链接,在依次删除0、1、2后,属性值中的i变成3,然后while判断,得出该链接不存在,于是跳出循环
可是运行下来,三个链接的确依次删除了,可是之后Browser("Browse").Page("DataPage").Frame("basefrm_7").Link("X").Exist还是成功,于是无法跳出循环,不知道这是为什么?
代码如下

i=0
       
        While Browser("Browse").Page("DataPage").Frame("basefrm_7").Link("X").Exist
               
                MsgBox Browser("Browse").Page("DataPage").Frame("basefrm_7").Link("X").GetTOProperty("href")
                Browser("Browse").Page("DataPage").Frame("basefrm_7").Link("X").Click
                i=i+1
                Browser("Browse").Page("DataPage").Frame("basefrm_7").Link("X").SetTOProperty "href", "javascript:delrow("&i&");"
                wait 3
        Wend
作者: hongtang    时间: 2006-2-8 14:18
标题: 看不见 并不带表不存在
你先提取该网页内所有满足条件的LINK数量
后面你应该知道怎么做了吧
作者: aries1979    时间: 2006-2-8 15:25
"看不见 并不带表不存在"

谢谢,这句话提醒了我,不过我觉得还是无法提取。
因为这些链接是否可见并不是在链接的属性里设置的,否则我可以直接增加一个visible属性为true来匹配可见的链接,就不需要提取了。
这些链接的可见性的控制在一个<td>标签中,通过style='display:none'来控制(这是我的猜测,这些HTML代码也是动态生成的,具体的我也不十分清楚),所以如果提取满足条件的所有LINK, 那还是会把不可见的那些链接一并记入

现在我只能用一个循环,1~50,页面上一共有50个这样的链接(包括不可见的),当然我可以依据测试用例的实际情况,只用到1~10, 但是感觉这不是最佳的解决方案。

是否有更好的解决办法呢




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