51Testing软件测试论坛

标题: QTP:webtable中同一个单元格多个链接,该如何定位 [打印本页]

作者: thirfing    时间: 2011-6-20 17:02
标题: QTP:webtable中同一个单元格多个链接,该如何定位
图片附件中展示webtable的结构。
说明:在操作列下的同一个单元格中存在3个链接“自我评价”“实习交流”“ 实习总结”。
这里假设“到时任务名称”唯一,可以根据导师任务名称确定需要点击的行数。
预期结果:
怎么样根据需要定位到不同行3个链接“自我评价”“实习交流”“ 实习总结”,分别点击进去。


在录制的时候,脚本如下:
Browser("SmartLearning").Page("SmartLearning_2").Frame("iframeTab_tur_task_student_per").Link("实习总结_2").Click
1.但是这个链接位置固定,现在需要将其根据需要选择正确的行数的链接。
2.其属性中的url存在可以区分的唯一性标识ID(url=javascript:doEditStudentExchange('9da7363f-f501-475d-bc11-0463ea29974e','acc3d105-505d-4ace-922a-89daff6e5c8e'))

经过处理后的代码:
task_name="test"
'num=Browser("SmartLearning_2").Page("SmartLearning").Frame("iframeTab_tur_task_student_per").WebTable("操作").RowCount
'For i=0 to num
'    If Browser("SmartLearning_2").Page("SmartLearning").Frame("iframeTab_tur_task_student_per").WebTable("操作").GetCellData(i,3)=task_name Then
  '      Browser("SmartLearning_2").Page("SmartLearning").Frame("iframeTab_tur_task_student_per").WebTable("操作").ChildItem(i,2,"Link",0).Clik
' End If
'Next
由于这里定位到单元格,但是同一个单元格中存在3个链接,所以系统提示找不到对象。

请问,要怎样处理才能获取正确的链接?
作者: 17800455    时间: 2011-6-20 18:10
看一下,是不是因为某一属性是动态,所至。
作者: rojer521    时间: 2011-6-20 19:51
这里还是用描述性编程来区分三个链接比较靠谱
作者: kurt_share    时间: 2011-6-21 10:29
本帖最后由 kurt_share 于 2011-6-21 10:32 编辑

看下是不是因为
For i=0 to num这句引起错误,因为行为0时,貌似是表头,也就是“操作”那两个字,而实际上得到链接是从第一行开始的,也就是For i=1 to num
你先查一下运行中WebTable的rowcount是多少,然后和实际对照一下,就知道是不是把表头算进去了。
另外是不是to num这个你再看一下,会不会下标越界啊。
作者: thirfing    时间: 2011-6-21 15:15
谢谢各位的支持与解答。这个问题一半是自己粗心造成的。解决方案如下:
ChildItem(i,2,"Link",0).Clik
这里的click写错了,导致报对象找不到错误。
ChildItem中index属性(第四列)对应单元格中的链接顺序。0对应第一个,1对应第二个,2对应第三个。
作者: fanli82    时间: 2011-6-21 16:12
学习了ChildItem
作者: lyscser    时间: 2011-6-21 16:21
不管之前犯什么错,能够自己把问题搞定的都是好同志,呵呵




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