51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2091|回复: 5
打印 上一主题 下一主题

[原创] 脚本运行中途失灵,求高手解答

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-7-24 14:38:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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=true  Then
                               j=j+1
                              'msgbox j
                        
                else
                     Browser("CreationTime:=1").Page("index:=0").Image("index:="&j+1).click
                  end if
Next
         msgbox j
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-7-24 15:44:33 | 只看该作者
就是登陆后点击左边的菜单树,通过循环,一层层的展开,每次打开一个模块就检查页面有没有报错
若没报错就关闭模块,有报错就不关闭,继续点击菜单打开另一模块
现象就是运行的好好的,突然整个页面刷新,菜单树后收起来,没法运行下去
似乎跟那两个正则表达式的函数有关系,我要是去掉,只是简单的

If Browser("CreationTime:=1").Page("index:=0").Image("file name:=error.gif","index:="&j).exist(0)  Then
判断页面上是否出现错误的图片,运行就不会中途刷新
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-7-24 15:44:49 | 只看该作者
就是登陆后点击左边的菜单树,通过循环,一层层的展开,每次打开一个模块就检查页面有没有报错
若没报错就关闭模块,有报错就不关闭,继续点击菜单打开另一模块
现象就是运行的好好的,突然整个页面刷新,菜单树后收起来,没法运行下去
似乎跟那两个正则表达式的函数有关系,我要是去掉,只是简单的

If Browser("CreationTime:=1").Page("index:=0").Image("file name:=error.gif","index:="&j).exist(0)  Then
判断页面上是否出现错误的图片,运行就不会中途刷新
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2012-7-30 15:30:52 | 只看该作者

一个回帖的都没有啊
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-7-30 21:09:23 | 只看该作者
不知道你的被测试软件具体是什么样的,有可能网页自身在一定条件下刷新了。
这种情况你可以检查你要点击的树节点是否展开,如果因为刷新了而没有展开,你可以增加一个展开的操作。

If Not targetNode.exist(1) Then
ExtendTrees
End If

targetNode.click

但是最好还是单步调试,如果固定在某个步骤会刷新页面,就自己检查一下为什么,把它解决。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2012-7-31 11:11:20 | 只看该作者
打个断点,单步调试
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 13:39 , Processed in 0.072566 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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