qtp检查弹出对话框内容的方式

上一篇 / 下一篇  2008-08-08 10:30:58 / 个人分类:qtp

     这两天用qtp决定做个简单登陆的脚本,于是在163邮箱上做了一个实验,这个试验中主要熟悉了对弹出对话框检查的实现方法,涉及的测试用例有这样
1、不输入用户名和不输入密码--》点击登陆
2、输入用户名,但不输入密码--》点击登陆
3、输入用户名,输入错误的密码--》点击登陆
这三个动作结果不同,1、2种操作点击登陆后,页面会显示对话框,显示正确的提示:
1、弹出对话框显示用户名不能为空
2、弹出对话框显示密码不能为空
3、进入登陆失败页面,显示用户名或者密码错误,并且可以重新登陆
对于第三种错误信息的检查我们可以直接在web页面上设置文本检查点,但是对于弹出对话框,我却不知道怎样解决
   于是下来查了一下这方面的资料,可以用static("**").GetROProperty("test")得到弹出框内容于是生成下面代码
if  Browser("网易163免费邮--中文邮箱第一品牌").Dialog("Microsoft Internet Explorer").Exist(1) then
   error_message=Browser("网易163免费邮--中文邮箱第一品牌").Dialog("Microsoft Internet Explorer").Static("请输入您的用户名 ?").GetROProperty("test")
       If error_message="请输入您的用户名 ?" Then
       ........
    但是出现了问题,虽然在object spy里面可以看到static的test属性值,但是程序总不能正确执行,我在给error_message赋值后,检查是否取道,做了一个msgbox(error_message)发现取值为空,很奇怪,最后想到很有可能是GetROProperty取的test的属性在运行中没有值,于是发现还有一个属性也是显示的"请输入您的用户名 ?" ,于是试了一下,代码修改成如下
if  Browser("网易163免费邮--中文邮箱第一品牌").Dialog("Microsoft Internet Explorer").Exist(1) then
   error_message=Browser("网易163免费邮--中文邮箱第一品牌").Dialog("Microsoft Internet Explorer").Static("请输入您的用户名 ?").GetROProperty("regexpwndtitle")
       If error_message="请输入您的用户名 ?" Then
       ........
又运行了一遍,成功,至此这个问题解决
    解决后,又发现还有一个方式取到弹出框的值GetVisibleText,则第二段代码试了一下,一次成功
总结:检查弹出对话框的内容有两种方式
1、取动态运行属性值
2、用vb函数GetVisibleText
其实第二种方式更简单,不用去查看弹出对话框的属性了。至此登陆对话框的脚本修改完毕,现在放上检查弹出对话框的所有代码
if  Browser("网易163免费邮--中文邮箱第一品牌").Dialog("Microsoft Internet Explorer").Exist(1) then
   error_message=Browser("网易163免费邮--中文邮箱第一品牌").Dialog("Microsoft Internet Explorer").Static("请输入您的密码 ?").GetVisibleText(top)
       If error_message="请输入您的密码 ?" Then
        Browser("网易163免费邮--中文邮箱第一品牌").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
  else
  Browser("网易163免费邮--中文邮箱第一品牌").Close
    End If
 else
        Browser("网易163免费邮--中文邮箱第一品牌").Close
end if

TAG: qtp

 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 24732
  • 日志数: 25
  • 建立时间: 2008-07-31
  • 更新时间: 2009-12-23

RSS订阅

Open Toolbar