51Testing软件测试论坛

标题: 如何写实时进程资源占用(memory)的脚本,在qtp里. [打印本页]

作者: viviv_wang    时间: 2007-2-28 15:29
标题: 如何写实时进程资源占用(memory)的脚本,在qtp里.
如题.我想在qtp中写个函数来获得资源管理器中的某个进程资源占用的记录,有高手请指点下.thx.
作者: xiaonan    时间: 2007-3-2 15:07
这个要熟悉API函数的才能写,呵呵
作者: Coffey111111    时间: 2007-3-4 15:34
API函数是什么?为什么QTP帮助里没有呀?sdlkfj8
作者: miniyal    时间: 2007-3-5 14:40
API是应用程序接口好像呵呵
作者: xiaonan    时间: 2007-3-5 15:48
API是windows提供给程序员调用系统应用函数的接口
作者: wssgily    时间: 2007-3-5 16:27
这个东西我也找了好长时间了,没有搞定.呵呵!有什么信息可以共享一下啊!
作者: lovetest6    时间: 2007-3-7 09:13
是不是可以使用tasklist命令,在命令行得到数据,再用QTP提取。
或者写个vbscript脚本查wmi脚本库就可以了。

提供一下连接供你参考:
http://www.microsoft.com/china/M ... pting.mspx?mfr=true

http://tech.163.com/06/0624/20/2KDKFDFF00091VCV.html

http://tech.sina.com.cn/c/2004-01-15/26930.html
作者: lovetest6    时间: 2007-3-7 09:23
如果是XP系统,
或许可以用以下脚本
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum _
    (objWMIService, "Win32_PerfFormattedData_PerfProc_Thread").objectSet
objRefresher.Refresh

For i = 1 to 5
    For Each objItem in colItems
        Wscript.Echo "Caption: " & objItem.Caption
        Wscript.Echo "Context Switches Per Second: " & _
            objItem.ContextSwitchesPersec
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "Elapsed Time: " & objItem.ElapsedTime
        Wscript.Echo "ID Process: " & objItem.IDProcess
        Wscript.Echo "ID Thread: " & objItem.IDThread
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "Percent Privileged Time: " & _
            objItem.PercentPrivilegedTime
        Wscript.Echo "Percent Processor Time: " & objItem.PercentProcessorTime
        Wscript.Echo "Percent User Time: " & objItem.PercentUserTime
        Wscript.Echo "Priority Base: " & objItem.PriorityBase
        Wscript.Echo "Priority Current: " & objItem.PriorityCurrent
        Wscript.Echo "Start Address: " & objItem.StartAddress
        Wscript.Echo "Thread State: " & objItem.ThreadState
        Wscript.Echo "Thread Wait Reason: " & objItem.ThreadWaitReason
        Wscript.Sleep 2000
        objRefresher.Refresh
    Next
Next

或者自己去微软找对你有需要的脚本吧。
http://www.microsoft.com/technet ... fault.mspx?mfr=true

按说提供的信息已经应该足够解决你的问题了。
作者: wssgily    时间: 2007-3-7 12:59
原帖由 lovetest6 于 2007-3-7 09:23 发表
如果是XP系统,
或许可以用以下脚本
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer ...


版主能不能写一个监控QTPro.exe的内存和CPU的脚本啊,一直没有找到针对单个进程的.谢谢!
我这人笨,一直没有找到相应的函数!谢谢!

今天下午写了一个不调 API 能收集实时内存的脚本.还是希望能得到版主的脚本学习一下啊!

[ 本帖最后由 wssgily 于 2007-3-7 18:11 编辑 ]
作者: lovetest6    时间: 2007-3-8 16:57
标题: 回复 #9 wssgily 的帖子
呵呵,还是找个差不多的代码改一改吧。
好的代码都是改出来的。
呵呵。我不用.net,所以写的肯定没有你好了:)
作者: wssgily    时间: 2007-3-8 17:03
原帖由 lovetest6 于 2007-3-8 16:57 发表
呵呵,还是找个差不多的代码改一改吧。
好的代码都是改出来的。
呵呵。我不用.net,所以写的肯定没有你好了:)

我也不用.net,我写的代码直接是利用QTP的功能写出来.可用性还好了,就是还没有经过复杂程序测试过!
作者: chbhaha    时间: 2007-3-21 10:59
都是牛人
作者: viviv_wang    时间: 2007-3-23 15:13
这个东西用WMI来写还是有些麻烦,最好还是调用API来写,速度快些。

不过我找到了一个工具,taskinfo ,6.0的是中文版,瞒好的,能看到进程下的单个线程。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2