51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2379|回复: 1
打印 上一主题 下一主题

[原创] QTP9.2页面刷新问题求助

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-8-22 11:30:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对web页面测试时,需要经常刷新充值页面。设计了一个函数,在调用时,采用refresh和模拟F5两种方法,但是会出现页面假死情况,脚本停顿,直到失败。如果在卡住时,手工F5,则可继续。说明浏览器是没有假死的,程序页面卡住。环境是winxpsp3+qtp9.2+ie6.0。请各位帮忙看下有否更好的刷新方式。
  1. Public Function Func_Refresh(Bill_Num)

  2.         Set WShell = CreateObject("Wscript.shell")
  3.         WShell.sendkeys "{F5}"  
  4.         Set WShell = nothing
  5.         Wait(1)
  6.         Str_information = Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").GetROProperty("value")
  7.         If Str_information <> "" Then
  8.                 Browser("micClass:=Brower").Refresh
  9.         End If
  10.         If Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("Frame").WebEdit("菜单查询").Exist(1) Then
  11.                 Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Click
  12.                 Set WShell = CreateObject("Wscript.shell")
  13.                 WShell.sendkeys "{F5}"
  14.                 Set WShell = nothing
  15.         End If
  16.         Wait(2)
  17.         If Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(2) Then
  18.                 Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Set Bill_Num
  19.                 WShell.sendkeys "{Enter}"
  20.                 Set WShell = nothing
  21.         Else
  22.                 Browser("micClass:=Brower").Refresh
  23.         End If
  24.         i=0
  25.         Do While Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("Frame").WebEdit("菜单查询").Exist(1)
  26.                 i=i+1
  27.                 If Not Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(1) Then
  28.                         Browser("micClass:=Brower").Refresh
  29.                 Else
  30.                         Browser("micClass:=Brower").Sync
  31.                         Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Click
  32.                         Set WShell = CreateObject("Wscript.shell")
  33.                         WShell.sendkeys "{F5}"
  34.                         Set WShell = nothing        
  35.                 End If         
  36.                 If Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Exist(5) Then
  37.                         Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").Set Bill_Num
  38.                         Set WShell = CreateObject("Wscript.shell")
  39.                         WShell.sendkeys "{Enter}"
  40.                         Set WShell = nothing
  41.                         Bill_Num = Browser("micClass:=Brower").Page("micClass:=Page").Frame("计费号码").WebEdit("计费号码").GetROProperty("value")
  42.                         If Bill_Num<>"" Then
  43.                                 Exit Do
  44.                         End If
  45.                 End If
  46.                 If i=10 Then
  47.                         Exit Do
  48.                 End If
  49.         Loop

  50.         If Window("InternetExplorer脚本错误").Exist(2) Then
  51.                 While Window("InternetExplorer脚本错误").Exist(1)
  52.                         Window("InternetExplorer脚本错误").Close
  53.                 Wend
  54.         End If
  55.         Func_CloseInformation
  56. End Function
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-8-22 11:41:49 | 只看该作者
我遇到卡住的原因基本都是由于操作对象不存在。你在卡住的地方暂停一下qtp看那些操作前的对象是否存在,比如Browser("micClass:=Brower").refresh的Browser("micClass:=Brower")对象是否存在。如果不存在,那就应该是等待时间没有设置好
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 01:44 , Processed in 0.065165 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表