在QTP Test中利用vbs和cmd实现重新启动QTP

简介:

连续长时间执行过QTP或使用QC连续长时间调用QTP的朋友应该会知道,QTP在长时间执行过程中会产生内存泄露。而QTP自身也有一个工具Remote Agent来实现每执行N次来重新启动测试工具释放内存。
  但是,不知道是不是我用破解版的原因,如果使用RunTest来调用QC执行QTP时,这个设置的Remote Agent会使得测试失败,并卡死在某一步。所以在这里需要进行手动清理QTP长时间运行过程中产生的内存泄露。
  在这里,我所知的清理内存有两种方式,一种是利用一些内存清理工具,一种是通过脚本控制QTP重新启动。
  首先说说内存清理工具。今天在群里下到了一个兄弟共享的内存清理工具memempty.exe,它可以进行定时清理。但是由于QTP执行每个Test的时间都不相同,并且QTP在执行过程中,这个工具也无法有效的清理干净内存部分。对这些不是很懂,点下就行了,免得出丑。
  使用脚本控制,这里我用的是创建外部vbs并通过cmd命令来执行的方式实现的,脚本如下:

dim restartcode
set?fso?=?CreateObject("Scripting.FileSystemObject")
set?file?=?fso.CreateTextFile("D:\RestartQTP.vbs")
restartcode?=?"'浣跨敤涓€涓瓑寰呮椂闂翠娇寰梣tp鑳借繑鍥瀜c涓€涓墽琛屾垚鍔熺殑缁撴灉"&vbnewline
restartcode?=?restartcode?&"WScript.Sleep?3000"&vbnewline
restartcode?=?restartcode?&"'浣跨敤AOM鏉ユ帶鍒秖tp鐨勯噸鍚搷浣?"&vbnewline
restartcode?=?restartcode?&"Dim?qtp"&vbnewline
restartcode?=?restartcode?&"Set?qtp?=?CreateObject(""QuickTest.Application"")"&vbnewline
restartcode?=?restartcode?&"qtp.Quit"&vbnewline
restartcode?=?restartcode?&"WScript.sleep?2000"&vbnewline
restartcode?=?restartcode?&"qtp.Launch"&vbnewline
restartcode?=?restartcode?&"qtp.visible?=?true"&vbnewline
restartcode?=?restartcode?&"set?qtp?=?nothing"&vbnewline
restartcode?=?restartcode?&"set?fso?=?CreateObject(""Scripting.FileSystemObject"")"&vbnewline
restartcode?=?restartcode?&"fso.deletefile?""D:\RestartQTP.vbs"""&vbnewline
restartcode?=?restartcode?&"set?fso?=?nothing"&vbnewline
file.write?restartcode
set?fso?=?nothing
set?WshShell?=?CreateObject("WScript.Shell")
WshShell.run?"cmd.exe?/c?D:\RestartQTP.vbs"
set?WshShell?=?nothing?

  这样就可以实现重新启动QTP了,不过在执行下一个test之前需要一个等待时间,这个在调用脚本中很简单,就不罗嗦了

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
11天前
|
Windows
【vscode】 VsCode终端崩溃C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe已终止,退出代码:2
【vscode】 VsCode终端崩溃C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe已终止,退出代码:2
16 1
|
5月前
|
开发工具 Windows
编写bat文件在windows上自动执行cmd命令
windows 电脑上直接新建 txt 记事本文件,编写好要执行的命令后,将后缀修改成 .bat,然后直接点击文件就可以执行里面的命令了
119 0
|
5月前
|
Shell Linux 开发工具
windows中cmd和PowerShell批处理命令
之前在 Git 批量删除本地分支,有用到 Linux 或 MacOS 下的批处理命令,这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的
51 0
|
搜索推荐 Shell
Win10小技巧:将在此处打开命令改为CMD或Powershell
微软的 CMD 也就是命令提示符已经伴随了我们很多年了,这些年来 CMD 已经勤勤恳恳地默默工作着,虽然没有图形化的界面,但是其干净整洁的操作环境仍然受到了大家的欢迎。
422 0
Win10小技巧:将在此处打开命令改为CMD或Powershell
|
存储 移动开发 Java
Windows cmd(bat) 脚本简单使用
前提知识 命令提示符介绍 命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。在 windows 环境下,命令行程序为 cmd.exe,微软 Windows 系统基于 Windows 上的命令解释程序,类似于微软的 DOS 操作系统。
869 0
|
XML 数据安全/隐私保护 数据格式
vbs和qtp一些脚本
********************************************************************************************** 用vbs调qtp '编写自动执行指定的QTP脚本的VBS:'利用QTP本身的Quicktest.
1091 0

热门文章

最新文章