Call cc
Function cc()
msgbox "cc"
End Function
选中cc,按Alt+G就能跳到Function cc()行
朋友:GetROProperty("text")得到的是字符串:加一个cint; c 就是change ,int是整形数
Price=Cint(Window("Flight Reservation")WinEdit("Price:")GetROProperty("text"))
目前项目中的QTP脚本运行速度,会随着时间的增长而脚本的速度降低,特别是跑了7,8个小时后这种情况越是明显。脚本主要偏向描述的使用,对象库为辅。导致了其中的原因个人分析大概有一下几点: 1,PC机本身的问题。有时候更糟糕的是提示虚拟内存不足(2G物理内存3G虚拟内存)。大家都有这样的感觉,就算不跑QTP,PC机在自己运行一段时间后, *** 作响应速度会很明显下降,这个和机器性能有很大关系,一台服务器与一台PC机器跑一个晚上的脚本第2天会发现PC机的程序已经跑不动了,即使有做脚本错误恢复处理,包括重启IE,设置标签等方法再跑,但还是跑不动。 2,系统庞大,如果大概有2100个不同web页面,当脚本跑不到一半时候速度也会明显下降,系统的临时文件,cookies等的增多,所导致的响应速度降低,会出现IE呈现白色page不无法 *** 作的情况。 3,脚本在编写过程,忽略对对象的释放 *** 作,这个或者是非程序员的一个通病吧,因为在小的程序或者脚本中,对象释放与否看不出什么效果,但小数怕长计,也会导致QTP本身所占用的系统资源增多。 4,脚本编写思想。脚本中过度偏向递归使用,深度越大,函数调用与递归增多,对象增多等,会导致QTP到后期时候速度会有所回落,有时也会让QTP出现假死状态,有可能是内存溢出的情况发生。 5,过分依赖错误处理与智能对象识别。或者很多人说,智能识别不推荐使用,但是,当一个脚本和滚雪球一样,递归也多了,程序的可控性就降低,跟踪难度增大,脚本的维护成本就增多,所以选择维护与开启智能识别时候,后者有更大的优势。由于依靠了智能识别,有时候一些结果报告中会看到很多对象识别不到而懒得去找原因。积累多了问题也会慢慢浮现出来。 6,网页访问残留,比如说你的表单提交后再回退时,表单里填写的数据还在,这些就是残留在内存里的数据,但一般来说残留量是非常少的。所以如何在QTP的运行过程中,及时的释放系统资源有着很重大和深远的意义。引用:原帖由lantianwei于 2008-9-11 14:38 发表写的非常不错,支持一下!好像没提到解决办法啊标题是讨论,嘿嘿。目前解决的方法:1,重启服务器IIS,但是这个过程会让测试停止。2,清理本机的IE文件3,利用外部程序实现间断清理(我记得超级兔子有个可以做到内存清理的工具)1为什么要重启IIS呢?想不明白重启IIS和本机QTP执行脚本速度慢有什么直接的联系啊;2清理本机的IE文件有啥用呢?本机的IE文件只不过占用的磁盘空间,貌似也和QTP执行脚本速度没有直接联系吧;3利用外部程序实现间断清理:这个觉得的确会对提高运行速度有一定帮助,但问题是QTP这么娇嫩的软件,谁敢在它跑的时候频繁清理内存?谁又能保证不出错呢?呵呵引用:原帖由xiaoyaoke于 2008-9-11 17:35 发表1为什么要重启IIS呢?想不明白重启IIS和本机QTP执行脚本速度慢有什么直接的联系啊;2清理本机的IE文件有啥用呢?本机的IE文件只不过占用的磁盘空间,貌似也和QTP执行脚本速度没有直接联系吧;3利用外部程序实 1,同个IE做的2000多次的页面跳转,如果IE没关闭,哪么IIS里的一些连接没有断开就资源没释放,导致了服务器响应时间增长。这个或者是程序写的不完善也有关系,应用程序很多资源没有释放导致。2,占磁盘控件确实是,但也不大,也就哪么几M,但同个IE经过2000次的页面跳转,到了后期页面变白,我能想到的就只有这点了,或者这个会和第三点有关系。3,使用外部程序,这个对QTP是否有影响,还是要以后日子慢慢验证。引用:原帖由假装不在于 2008-9-12 10:13 发表1,同个IE做的2000多次的页面跳转,如果IE没关闭,哪么IIS里的一些连接没有断开就资源没释放,导致了服务器响应时间增长。这个或者是程序写的不完善也有关系,应用程序很多资源没有释放导致。2,占磁盘控件确实 这方面,应该与你自己编写的脚本有关吧,你可以把一个Test割成多个Test来做啊。脚本问题不大。早期运行速度相当的快,时间越长,脚本的速度越下降。在找原因了,现在个人基本确定2个问题,1,浏览器占内存问题,这个下午2点后就有结果。2,服务器IIS问题。我只有一个TEST,理论上这个如果最快的速度跑完,也要10个小时。中午测试时候发现,脚本在开跑,IE占的内存是:41004,跑了2个小时后,内存占的是143728使用内存整理工具无效。刷新页面后让内存减少到38147
如果所有脚本都是线性脚本,脚本间的代码冗余会非常大。为了提高脚本的开发和维护效率,降低代码的冗余,将脚本的可重用部分提炼出来,写成函数或者action。其他脚本通过调用function或action的代码,这样就达到了重复利用代码的目的。 这就是所谓的从线性脚本到结构化脚本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)