如何在QTP9.0中获取用alert 弹出的对话框信息?
图片如下,该对话框是由脚本弹出的在8。2中可以用obj.getVisible()函数得到该对话框中所有的文本信息(包括标题和按钮的text)
现在升级到QTP9.0后,这个函数去掉了,不能用
我用SPY查看 ,其中的文本信息为 Static类型
根本就取不到这个信息
大家帮帮忙看看
注:
大家也可以用下面的脚本用QTP试试看
<html>
<body>
<script language=javascript>
alert("gogo");
</script>
<body>
</html>
把这段脚本放在一个文本文件里,然后将该文件后缀改为html 然后双击就得到一个弹出对话框了 可以取到的,LZ可能在SPY的时候没有取对地方。
Browser("Browser").Refresh
Browser("Browser").Dialog("Microsoft Internet Explorer").Static("gogo").Check CheckPoint("gogo")
Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("OK").Click
无息,你可以去当版主了。
无息,谢谢了,问题用你的方法解决了看你回了好多贴,你都可以去当版主了
不过,我是要获得那个弹出对话框的值啊
开始,我并不知道那个弹出对话框里的文本是什么内容
要怎样才能获得弹出文本框的值呢?
-------------
哈哈,已经想办法解决了
我用Browser("新增项目").Dialog("Microsoft Internet Explorer").Static("GOGO").Output CheckPoint("GOGO")把文本输出到工作表中了
只是如果文本改变的话,不知道那个Static("GOGO")还能不能识别
[ 本帖最后由 sky-vid 于 2007-3-21 16:27 编辑 ] 我刚才试了一下,用output文本变化的还是可以取出来的。
感谢你的鼓励,其实我是精华版的斑竹了,呵呵,这是一个大家学习讨论的好地方,一起提高自己的技术吧,谢谢:) Error_massage=Browser("Browser").Dialog("Microsoft Internet Explorer").Static("gogo").GetROProperty("text")
"gogo"文本变化后依旧可以取得 还有一种方式,完全是自动匹配,不用添加对象的方式哈:
Set oDescDialog = Description.Create()
oDescDialog("micclass").Value = "Dialog"
Set oStaticDesc = Description.Create()
oStaticDesc("micclass").Value = "Static"
Set oDialog= Browser(Browser).Dialog(oDescDialog)
Set All_Static = oDialog.ChildObjects(oStaticDesc)
' 判断弹出窗口中,是否存在静态文件对象
If All_Static.Count= 0 Then
oDialog.Close
End If
'获取具体的出错错误信息
For iOBjNum = 0 To All_Static.Count - 1
IfAll_Static(iOBjNum).GetROProperty( "Text" ) <> "" Then
sErrMessage = All_Static(iOBjNum).GetROProperty( "Text" )
End If
Next
IfInstr(1, sErrMessage, vblf, 1)> 0 Then
sErrMessage = Replace(sErrMessage, vblf, "->")
End If
我的不成功
我把上面的方法都试了,但是没有成功,还提示错误 我只是做了两个测试用例,都用参数写在本地工作表里了,一个是用户名是错误的情况,一个是正确的,然后我在工作表里定义了一个status字段,保存“用户名不存在”内容,我想做的测试是通过获取alert提示内容和status得内容比较,得出是不是bug,如果两个变量值一样那就不是bug.但是我上面的方法都试了,还是不行,还提示username错误。代码如下Dim i
Dim outputvalue
Dim outstatus
For i=1 to datatable.GetSheet("Action1").GetRowCount
Browser("企业邮局").Page("企业邮局").WebEdit("username").Set DataTable("username", dtLocalSheet)
Browser("企业邮局").Page("企业邮局").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)
Browser("企业邮局").Page("企业邮局").WebButton("登录").Click
'outputvalue=Browser("企业邮局").Dialog("Microsoft Internet Explorer").Static("请输入你的用户名!").GetROProperty("请输入你的用户名!")
outputvalue=Browser("Browser").Dialog("Microsoft Internet Explorer").Static("用户名不存在").GetROProperty("text")
outstatus=datatable("status",dtlocalsheet)
Ifoutputvalue<>outstatus Then
reporter.ReportEvent 1," 登陆功能测试","预期输出:"+outstatus+",实际输入"+outputvalue
End If
datatable.GetSheet("Action1").SetNextRow
Next
Browser("企业邮局").Page("企业邮局_2").Link("退出").Click
Browser("企业邮局").Page("企业邮局").Sync
Browser("企业邮局").CloseAllTabs
希望前辈们给看看,看看到底怎么获取alert的内容,并且这都是变化的,因为每次alert的提示都不一样。。。。
再次感谢 能把QTP9.0的安装包发给我不?我的邮箱253773303@qq.com 多谢!我也受益很多 多谢!我也受益很多
页:
[1]