燃气设备网:QTP处理弹出框(对话框)信息---终结篇

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 03:58:25
本文为原创,转载请注明作者:Cheers.Lee 和网络来源。

    关于QTP处理弹出信息(或者说对话框或pop-up信息),应该是个比较简单的问题,本来是个很简单的问题,但是网上说的确实五花八门、而且没有讲清楚,写这边文章旨在让大家都QTP处理弹出信息,有个彻底的了解。

   问题产生的原因:

  (1)用户用户登录校验弹出框信息,通过弹出信息判断错误的类型,执行相应的操作。

  (2)如何抓取弹出信息内容。

  (3)QTP针对弹出信息在对象库中只能识别出一个对象如何处理。比如说:你的用户登录错误信息类型有两种:a.请出入用户名。b.用户名和密码输入不正确。我们通过添加static对象,然后判断static对应的对象是否存在,但是即使有2个或多个static对象,但是在对象库中只能加入一个对象,那又如何处理?

   问题的解答:

   首先我们先用通过对象识别器spy,点击dialogue中的文字内容(这一点很重要),将其添加到对象库,该对象其实是一个static对象;其他的用描述性编程,获取其弹出信息内容。为什么不全用描述性编程,原因是有些弹出信息用描述性编程依然无法获取,找不到对象(这让我也郁闷好几天),但是有的却可以,我也无语。所以这里让QTP把提示信息内容识别成一个static对象,然后判断它是否存在,以达到我们判断的目的。

   也许可能我没有讲清楚,但是我想解决问题的方法大家应该明白了,呵呵!

   脚本如下:

Browser("电子政务").Page("电子政务").WebEdit("user_code").Set DataTable("username", dtGlobalSheet)
Browser("电子政务").Page("电子政务").WebEdit("user_pass").Set DataTable("usercode", dtGlobalSheet)
Browser("电子政务").Page("电子政务").Image("dl-9").Click
If  Browser("电子政务").Dialog("Microsoft Internet Explorer").Exist  Then
If  Browser("电子政务").Dialog("Microsoft Internet Explorer").static("text:=请输入用户名!").Exist Then
     Browser("电子政务").Dialog("Microsoft Internet Explorer").WinButton("text:=确定").click
      Reporter.ReportEvent micPass,"失败测试","用户名不能为空"
   elseif Browser("电子政务").Dialog("Microsoft Internet Explorer").static("登录=[用户名/密码不正确!]").Exist then
      Browser("电子政务").Dialog("Microsoft Internet Explorer").WinButton("text:=确定").click
   Reporter.ReportEvent micPass,"失败测试","用户名、密码输入不正确"
   else Reporter.ReportEvent micFail,"输入异常","输入异常错误!"   
    End If
else
      Reporter.ReportEvent micPass,"登录成功","登录成功!"
end if

我的测试数据如下图:

 

我的弹出信息框内容如下图: