QTP对webtable的双击问题
2012-06-20 15:35:45   来源:51testing    评论:0 点击:

个人开发做项目时使用的技术点。

总述:遇到的这个问题,是另一项目组的一个同事在运用QTP时遇到的,我经研究后的问题解决记录

'第一种方法

rowser("CHS4.0").Page("CHS4.0").Frame("ifrmune").Link("|  健康档案").Click
str = Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebTable("tt").GetCellData(1,2)msgbox str
Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebTable("tt").ChildItem(1,2,"WebElement",0).Click
Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebTable("tt").FireEvent("ondblclick")


'第二种方法,修改对象库

str = "户主4"

Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebElement("吕建跃").SetTOProperty "innertext",str

msgbox  Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebElement("吕建跃").GetTOProperty("innertext")

Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebElement("吕建跃").FireEvent("ondblclick")

'Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebElement("户主4").FireEvent("ondblclick")


其中解决过程

1、描述性编程,无法解决问题

'第一种方法,描述性编程

'"outerhtml :=<DIV style="&"TEXT-ALIGN: center; WIDTH: 60px>"&"户主4"&"</DIV>",

'"innertext :=户主4","html tag:= DIV","Index:=0"

Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebElement("innertext :=户主4","html tag:=DIV","Index := 0").FireEvent("ondblclick")

注意,用对象库里的对象完全能识别,但是用描述性编程就是不行

WebElement("Name:=UserName", "Index:=0")

注:如果当前只有一个对象,使用index=0将无法查找到对象,因此就不能在对象描述中使用index属性。

另外:webelement对象,确实在实际工作|时,发现有些情况下用描述性编程反而定位不到对象,而使用内置的对象参数化却能够定位,这其中的原因尚不明确

2、修改对象库的值,只不过只是运行时有效

SetTOProperty()

此方法可行


3、webtable中想双击

注意:childitem是可以click的

 Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebTable("tt").ChildItem(1,2,"WebElement",0).Click

 Browser("CHS4.0").Page("CHS4.0").Frame("frmwgs").WebTable("tt").FireEvent("ondblclick")

无法实现双击,只能选中某行

不能实现双击


4、子对象模型也可以用,但是鉴于父对象下有太多的webelement对象,这样效率不高

即大致方式为,采用描述性对象,然后再具体去框定父对象下的该class的类别的子对象集合

直到找到要的对象


 

相关热词搜索:QTP webtable

上一篇:第一页
下一篇:QTP正则表达式

分享到: 收藏
评论排行