51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2163|回复: 4
打印 上一主题 下一主题

[原创] 脚本不能执行。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-23 17:21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
text = inputbox("Enter the process you want to close")

strComputer = "."
PROCESS_NAME = text
Set objNetwork = Wscript.CreateObjec("Wscript.Network")
currUser = objNetwork.UserName

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE Name = '" & PROCESS_NAME & "'")

counter = 0
For Each objProcess In colProcessList
if objProcess.GetOwner ( User, Domain ) = 0 Then
if LCase(User) = currUser Then
counter = counter + 1
End if
End if
Next
MsgBox counter & " Processes of , " & PROCESS_NAME & " , Have been Found"
这段脚本是获取指定进程的,并统计出存在的个数。
我要问的问题是,在QTP中执行这段脚本时,执行到第四行时,老是报找不到“wscript”对象,请问该怎么解决?谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-4-23 17:30:13 | 只看该作者
Set objNetwork = Wscript.CreateObjec("Wscript.Network")这行代码是错的,WScript不包含在QTP的对象模型中。
应该是:Set objNetwork = CreateObject("WScript.Network")
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-4-24 09:31:24 | 只看该作者
按照楼上的的指点,脚本顺利的执行了,但是执行的结果不对,不能达到预期的效果,不能统计出指定的进程的个数,返回的个数总是0。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-4-24 14:40:54 | 只看该作者

回复 #3 xjswwh 的帖子

脚本没有语法问题了,问题在这一行:if LCase(User) = currUser Then
从前面语句中取出来的User变量,经过再和currUser比较,应该是:If LCase(User) = LCase(currUser) Then才对。
只对User变量作LCase操作,不能保证和currUser相等。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-4-25 08:50:14 | 只看该作者
成功了,谢谢!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-19 04:28 , Processed in 0.070899 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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