识别WebTable中的link(实战)

上一篇 / 下一篇  2012-02-02 11:41:10 / 个人分类:QTP

识别WebTable中的link以及识别grid中的button按钮

第一、总述:

此处问题很严重,因为可能存在一个页面中有很多地方可能都有该对象,通过index识别,存在一定的难度

Link("text:=查看","html tag:=A","index:="&SuiJiHang-2+i).Click

Link("text:="&ZBR1,"html tag:=A","index:=0").Click

第二、遇到的问题分析和解决:

link对象的诊断名称有重复的,针对重复的诊断名称,通过第3类顺序标识进行识别

由于不像主属性和附属属性(description properties),可以通过GetROProperty()和SetTOProperty()方法,实现设置对象库的属性,所以此处需要考虑另外方法实现,但是又必须使用到这个index,否则无法识别重复的诊断名称

index的值,采用查询前面与当前的诊断名称相同的有几个

由于text,每次不一样,所以,每次把webtable此行此列的诊断名称通过GetROProperty()方法取出来,然后由于index不一致,所以必须采用描述性编程(否则不需要描述性编程的话,可以SetTOProperty(),然后直接使用),JBMC=Browser("WebPage").Page("WebPage").Frame("freameall").WebTable("111").GetCellData(row,5)

index =0

msgbox JBMC

For i=2 torow-1

If Browser("WebPage").Page("WebPage").Frame("freameall").WebTable("111").GetCellData(i,5) = JBMC Then

index=index+1

End If

Next

'Browser("WebPage").Page("WebPage").Frame("freameall").Link("疾病名称").SetTOProperty "text",JBMC

'JBMC2=Browser("WebPage").Page("WebPage").Frame("freameall").Link("疾病名称").GetTOProperty ("text")

'msgbox JBMC2

Browser("WebPage").Page("WebPage").Frame("frmright").Link("配偶健康情况").Click

Browser("WebPage").Page("WebPage").Frame("freameall").Link("text :="&JBMC,"html tag:=A","Index:="&index).click

附注:
第一、对象的识别机制
先主属性,附属属性,再通过智能识别smart identification , 最后还不能识别,采用第三顺序识别ordinal identifier(index location,none )

在Object identification功能处,可以看到一个对象通过三种方式识别

其中 Smart Identification:智能识别机制主要工作测试脚本运行时(对象允许智能识别为真),当对象库中对象的强制属性(或辅助属性)与被测应用程序中对应对象的属性不一致时,智能识别机制将会启动。其主要原理为:先选择某个基本属性进行比较,若对象多于一个,再继续添加属性筛选;若添加的对象属性造成无对象匹配,则淘汰该属性,应用该方法直至找到唯一对象并对该对象执行操作。(若所有属性的添加或淘汰都无法识别唯一对象,QTP将应用ordinal identifier去识别对象。)

第二、对ordinal identifier中的index无法像属性一样进行设置其值,也无法取出来。不知是否有更好的方法?


TAG: QTP qtp

 

评分:0

我来说两句

日历

« 2024-05-12  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 18374
  • 日志数: 22
  • 建立时间: 2012-02-02
  • 更新时间: 2012-02-29

RSS订阅

Open Toolbar