qiqin 发表于 2010-11-1 20:38:48

QTP对话框求助

1. 对话框如图所示:

我想实现的功能是:确保重复添加“Apple”品牌后,会弹出一个对话框提示“Apple已添加”,之后我再关闭这个对话框继续添加其他品牌
对对话框的处理脚本为:
If Browser("数据魔方").Dialog("Windows Internet Explorer").static("Apple已添加").GetROProperty("regexpwndtitle")="Apple已添加" then
    Browser("数据魔方").Dialog("Windows Internet Explorer").WinButton("text:=确定").Click
end if

运行脚本却没有达到我想要的目的,麻烦大家帮忙看看哪里有问题!

2.我要对已经添加了的品牌进行删除,(品牌如右图)
录制到的删除某个品牌的脚本为:Browser("数据魔方").Page("我的报表_4").WebElement("WebElement").Click

想通过以下的脚本删除所有的品牌,运行这块脚本也没有达到我想达到的目的,麻烦大家帮忙看看脚本哪有问题:
'Dim Myobject
'Dim Mychildobject
'Dim i
'Dim j
'Dim ChildobjectCount
'Set Myobject=description.Create()
'Myobject("Class Name").value="WebElement"
'set Mychildobject=Browser("数据魔方").Page("我的报表_4").ChildObjects(Myobject)
'ChildobjectCount=Mychildobject.Count
'i=0
'j=1
'Browser("数据魔方").Page("我的报表_4").WebElement("Class Name:=WebElement").Click
'For i=1 to 4
'j=j+1
'Browser("数据魔方").Page("我的报表_4").WebElement("Class Name:=WebElement_&j").Click
'Next

qiqin 发表于 2010-11-1 21:08:05

'Browser("数据魔方").Page("我的报表_4").WebElement("Class Name:=WebElement").Click
'For i=1 to 4
'j=j+1
'Browser("数据魔方").Page("我的报表_4").WebElement("Class Name:=WebElement_&j").Click
'Next

这里应该还要加入其它的属性进行描述性编程的,但是脚本运行到这里也不报错,直接就stop不运行出报告了

sterson 发表于 2010-11-1 21:26:07

第一个试一下这样:
If Dialog("text:=xxx").WinButton("text:=确定").Exist(2) Then
Dialog("text:=xxx").WinButton("text:=确定").Click
End If
如果你要取对话框里的提示信息,可以这样:
dim mytest
mytest=Dialog("text:=XXX").WinButton("text:=确定").GetROProperty ("attached text")

第二个,可以试一下坐标差的方法
不管有多少行,每两行之间的高度是一样的,所以你可以取第一行的Y坐标,减去第二行的Y坐标
让它循环操作,你的代码中先定义了一个webelement的对象,这种对象在页面到处都是
它不会只让一个“删除”

当然你最好用操作WebTable的方法去删除。。QTP自带的帮助文档里有

runnerhuang 发表于 2010-11-2 18:57:16

对话框的最好用一个for循环来做,因为QTP对对话框的识别不是很稳定,有的时候需要点几次。

17800455 发表于 2010-11-16 11:15:35

判断对话框是否存在就行啦。有那么复杂吗?
页: [1]
查看完整版本: QTP对话框求助