51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3441|回复: 12
打印 上一主题 下一主题

[原创] 如何写实时进程资源占用(memory)的脚本,在qtp里.

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-2-28 15:29:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题.我想在qtp中写个函数来获得资源管理器中的某个进程资源占用的记录,有高手请指点下.thx.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-3-2 15:07:02 | 只看该作者
这个要熟悉API函数的才能写,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-3-4 15:34:11 | 只看该作者
API函数是什么?为什么QTP帮助里没有呀?sdlkfj8
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-3-5 14:40:21 | 只看该作者
API是应用程序接口好像呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-3-5 15:48:55 | 只看该作者
API是windows提供给程序员调用系统应用函数的接口
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-3-5 16:27:31 | 只看该作者
这个东西我也找了好长时间了,没有搞定.呵呵!有什么信息可以共享一下啊!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-3-7 09:13:36 | 只看该作者
是不是可以使用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
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-3-7 09:23:55 | 只看该作者
如果是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

按说提供的信息已经应该足够解决你的问题了。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-3-7 12:59:03 | 只看该作者
原帖由 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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-3-8 16:57:25 | 只看该作者

回复 #9 wssgily 的帖子

呵呵,还是找个差不多的代码改一改吧。
好的代码都是改出来的。
呵呵。我不用.net,所以写的肯定没有你好了:)
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-3-8 17:03:03 | 只看该作者
原帖由 lovetest6 于 2007-3-8 16:57 发表
呵呵,还是找个差不多的代码改一改吧。
好的代码都是改出来的。
呵呵。我不用.net,所以写的肯定没有你好了:)

我也不用.net,我写的代码直接是利用QTP的功能写出来.可用性还好了,就是还没有经过复杂程序测试过!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-3-21 10:59:19 | 只看该作者
都是牛人
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-3-23 15:13:21 | 只看该作者
这个东西用WMI来写还是有些麻烦,最好还是调用API来写,速度快些。

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

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 02:26 , Processed in 0.077480 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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