51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3094|回复: 13
打印 上一主题 下一主题

[原创] wait()时间过长,会不会出现什么异常?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-6-23 22:09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果在QTP的脚本中,wait较长时间,比如:wait(3600),会造成什么异常么?像:死循环,内存泄露,连接数过多,等。。。?

我为了让脚本隔一个小时跑一次,在脚本最后加了这一句,但是每次都只能跑一遍,就挂在那里了。。。

再或者有别的办法可以实现隔一小时重复执行一次的功能么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-6-23 22:26:11 | 只看该作者
我觉得这不是一种好的调度测试执行的方法,建议使用Mercury Multi-Test Manager:
http://blog.csdn.net/Testing_is_ ... /03/20/2201178.aspx
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-6-23 22:31:27 | 只看该作者
我也有用Multi-Test Manager,但是,它只能设置某一天的某一时刻定时启动,不能设置循环之间的间隔
是吧?
不对的地方,麻烦指出!谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-6-23 22:44:48 | 只看该作者
File->Preferences ->Run ->Iterations

在Iterations 中设置循环次数。



推荐新书《QTP自动化测试实践》:
http://blog.csdn.net/Testing_is_ ... /06/22/2574837.aspx

[ 本帖最后由 陈能技 于 2008-6-23 22:47 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-6-24 07:39:32 | 只看该作者
没有问题的,wait(3600*1X)都没有问题~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-6-24 10:30:02 | 只看该作者
原帖由 陈能技 于 2008-6-23 22:44 发表
File->Preferences ->Run ->Iterations

在Iterations 中设置循环次数。



推荐新书《QTP自动化测试实践》:
http://blog.csdn.net/Testing_is_ ... /06/22/2574837.aspx


循环的功能,我用multi test manager实现了,不能实现的是,隔一定时间间隔,循环一次。用了wait(3600)让它隔一小时跑一次,但是挂在这一句不动了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-6-24 10:55:07 | 只看该作者
原帖由 zbyufeifei 于 2008-6-24 07:39 发表
没有问题的,wait(3600*1X)都没有问题~


zbyufeifei,wait(3600*1X)是什么意思?是想说明输入更长的时间,也不会造成异常么?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-6-24 11:17:19 | 只看该作者
可以用Mercury Multi-Test Manager或者WIndows的任务计划来设置多个任务调度,每个任务调度相隔一个小时就可以了.
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-6-24 11:35:20 | 只看该作者
原帖由 陈能技 于 2008-6-24 11:17 发表
可以用Mercury Multi-Test Manager或者WIndows的任务计划来设置多个任务调度,每个任务调度相隔一个小时就可以了.


谢谢!又离成功近了一步呢。怎么设置multi test manager任务调度的间隔呢?偶找了半天,未解。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-6-24 11:52:36 | 只看该作者
这是我在公司用迅雷下东西的代码,从来没有出现过问题:(没有发现有定时下载,定时停止的下载软件)

Dim MyDate
MyDate = WeekDayName(WeekDay(now),True)
strs = "星期五"

If (strcomp(strs,MyDate) = 0)  Then
        Wait(3600*7)
        SystemUtil.Run "C:\Program Files\Thunder Network\Thunder\Thunder.exe","","","open"
        Wait(3600*9)
        systemutil.CloseProcessByName "Thunder5.exe"
        Wait(3600*15)
        SystemUtil.Run "C:\Program Files\Thunder Network\Thunder\Thunder.exe","","","open"
        Wait(3600*9)
        systemutil.CloseProcessByName "Thunder5.exe"
        Wait(3600*15)
        SystemUtil.Run "C:\Program Files\Thunder Network\Thunder\Thunder.exe","","","open"
        Wait(3600*4)
        systemutil.CloseProcessByName "Thunder5.exe"
Else
        Wait(3600*7)
        SystemUtil.Run "C:\Program Files\Thunder Network\Thunder\Thunder.exe","","","open"
        Wait(3600*7)
        systemutil.CloseProcessByName "Thunder5.exe"   
End If

[ 本帖最后由 zbyufeifei 于 2008-6-24 11:55 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-6-24 11:55:23 | 只看该作者
看看帮助文档吧,记得MMTM好像是支持命令行调用。

不行的话用QTP的自动化对象模型写个外部的VBS文件来调用测试脚本,然后在Windows任务计划中设置调度的任务。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-6-24 16:02:32 | 只看该作者
我是用multi test manager调用QTP脚本,循环10次,QTP脚本中的最后加了wait(3600)

今天看了下,QTP脚本wait的过程中,multi test manager的状态由Run变成了空,也不能stop

原来是multi test manager的问题。。。这样说来,这个软件不好用啊。。。为什么大家都推荐。。。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-6-24 19:36:44 | 只看该作者
1:利用vbs脚本让脚本每小时执行一边;
2:就用Wait(x),其中x为等待时间。这个x的最大值不知道。但3600是可以的。我测试过了。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2008-6-25 12:08:03 | 只看该作者
嗯,谢谢楼上的!
我现在是用vbs让脚本定时执行
感觉微软的东西,还是比HP好。。。。
multi test manager跑着跑着,状态值就没了,关也关不掉,呈死掉状态。。。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 13:54 , Processed in 0.067313 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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