脚本运行中途失灵,求高手解答
本帖最后由 zengli80 于 2012-7-24 14:42 编辑版本:QTP 8.2+IE6.0
以下脚本是循环点击菜单树的每个模块,检查是否有页面报错,总是运行到中途,整个页面会刷新,导致无法进行下去
Public Function RegExpbld(patrn, strng)
Dim regEx, retVal ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = true ' 设置是否区分大小写。
retVal = regEx.Test(strng) ' 执行搜索测试。
RegExpbld=retVal
End Function
Public Function QTP_DocIsLive()
Dim Src_text,patrn
Src_text=TextUtil.GetText(0, 20, 20, 2000, 2000) '窗口的大小需要根据实际去定义
patrn="错误|error|无法"
If RegExpbld(patrn,Src_text) Then
QTP_DocIsLive=true
Exit Function
End If
QTP_DocIsLive=false
End Function
Browser("CreationTime:=1").Page("index:=0").WebEdit("name:=strAccount").Set"admin"
Browser("CreationTime:=1").Page("index:=0").WebEdit("name:=strPassword").Set"123456"
Browser("CreationTime:=1").Page("index:=0").Image("name:=btnLoginIn").Click
Browser("CreationTime:=1").Page("index:=0").WebElement("html id:=fun_menu").Click
count=120
j=0
For i=1 to count
Browser("CreationTime:=1").Page("index:=0").Image("html id:=TreeView1_item_"&i&"_icon").Click
wait(2)
if QTP_DocIsLive=trueThen
j=j+1
'msgbox j
else
Browser("CreationTime:=1").Page("index:=0").Image("index:="&j+1).click
end if
Next
msgbox j 就是登陆后点击左边的菜单树,通过循环,一层层的展开,每次打开一个模块就检查页面有没有报错
若没报错就关闭模块,有报错就不关闭,继续点击菜单打开另一模块
现象就是运行的好好的,突然整个页面刷新,菜单树后收起来,没法运行下去
似乎跟那两个正则表达式的函数有关系,我要是去掉,只是简单的
If Browser("CreationTime:=1").Page("index:=0").Image("file name:=error.gif","index:="&j).exist(0)Then
判断页面上是否出现错误的图片,运行就不会中途刷新 就是登陆后点击左边的菜单树,通过循环,一层层的展开,每次打开一个模块就检查页面有没有报错
若没报错就关闭模块,有报错就不关闭,继续点击菜单打开另一模块
现象就是运行的好好的,突然整个页面刷新,菜单树后收起来,没法运行下去
似乎跟那两个正则表达式的函数有关系,我要是去掉,只是简单的
If Browser("CreationTime:=1").Page("index:=0").Image("file name:=error.gif","index:="&j).exist(0)Then
判断页面上是否出现错误的图片,运行就不会中途刷新 :'(
一个回帖的都没有啊 不知道你的被测试软件具体是什么样的,有可能网页自身在一定条件下刷新了。
这种情况你可以检查你要点击的树节点是否展开,如果因为刷新了而没有展开,你可以增加一个展开的操作。
If Not targetNode.exist(1) Then
ExtendTrees
End If
targetNode.click
但是最好还是单步调试,如果固定在某个步骤会刷新页面,就自己检查一下为什么,把它解决。 打个断点,单步调试
页:
[1]