致力于测试团队建设和自动化测试开发,欢迎有兴趣者一起研究讨论
自动化测试中如何利用WMI
上一篇 /
下一篇 2008-08-25 13:24:56
/ 个人分类:Automation
51Testing软件测试网_|{y"Pos%\7EWMI即Windows 管理规范,是用户管理本地和远程计算机的一种模型。通过它可以访问、配置、管理和监视几乎所有的 Windows 资源。WMI的语法十分简单,基本上常见的命名空间、对象等用几乎一模一样。它对应的是Windows里的WMI服务(winmgmt)51Testing软件测试网2uz6g"ca.o
{&Z{ q*l[@0WMI实际是由两部分组成:CIM库和WMI脚本对象库。在具体使用过程中,我们是通过WMI脚本对象库去访问CIM库,管理托管的资源。也就是说,在我们编写脚本的过程大致可以分为这么几步:
6GmD"WCO051Testing软件测试网6x^!quPjqXu T1)创建WMI对象脚本库的指针实例;51Testing软件测试网#u+a-_\Q+Tt{7C
7Aq0n8?y)ZkfYs02)调用其实例的方法,连接到CIM库,并指明需要访问的资源的逻辑位置;51Testing软件测试网UpWs
LR{\3_
KxRzbR}'|$`
x$B03)获得托管资源也就是类的实例的集合;51Testing软件测试网xoY,w,{,m7o
51Testing软件测试网[\.mu@!T]j4)枚举实例,完成工作
&FFE.tT\ J$}z0C0$h+M4G'[+|6t9G+Aye0WMI的命名空间共有16个,不过我们常用的只有两个:
5P2HY.W,fbp%Ui!mL051Testing软件测试网"z1?Tb
Sz1)root\cimv2 在这个命名空间里包括了绝大多数与计算机、操作系统相关联的类。51Testing软件测试网qs5q`E
GT9S
lq
G2c6Lw5T{*Mu02)root\default 管理注册表的类51Testing软件测试网u
?sfh4z0[
!G$k:S;YZ#vrcl0给出两个实例参考:51Testing软件测试网^?5LGs
51Testing软件测试网VG
]vFE"Em
V51Testing软件测试网0n-X ]5T DFw1E 在日志报告中记录测试机器的地址:51Testing软件测试网t5zfd/TS4t 51Testing软件测试网5MaK#[ ug*RJ;KPublic Function GetIP() \/x'}0pQU"X1Z0 '获取测试机器的IP51Testing软件测试网W N8^wJAQ ComputerName="."51Testing软件测试网
I(KH cs E&B6X Dim objWMIService,colItems,objItem,objAddress51Testing软件测试网/TMOe!M-l p Set ōbjWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2") 5^aP6u8|L"}!F0 Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True") `
n
p6g4m0 For Each objItem in colItems J!w6d4lQ0 For Each objAddress in objItem.IPAddress51Testing软件测试网GZ.fS9Eo If objAddress <> "" Then %ac&ZE;n,\,R4Qf0 GetIP = objAddress (W;HO[*{#qy3rJ E0 Exit Function W.S|^V} X7K
w0 End If g!x(AUXi\)Q0 Next51Testing软件测试网jJH]KP\:z Next51Testing软件测试网_uT)[ E i7m End Function51Testing软件测试网,Xj`[S |
51Testing软件测试网d3r{;zl8fb-],?B
yw51Testing软件测试网,f|!S"W:PA7A.jV
`3J0如何在判断进程是否存在 LIvN%U+{'}J0VbMW-z} S.A!O0Function ProcessExist(processName) h*Cb4a2M+c6tq3G)i0 For each Process in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_process")51Testing软件测试网!S;Q!~$|g
Au~/W0|k If Process.Name = processName Then51Testing软件测试网D&v _L,Q'G#a!| ProcessExist = True 2gRbFt%t0 Exit Function a!M{FQ&[0 End If51Testing软件测试网hCQ)KH5t8qUPL Next51Testing软件测试网?.PD7JAq+U ud ProcessExist = False Jh7nPb0J4K0End Function 7^HTWW*~*D|)k[%Mh0 |
51Testing软件测试网g8o'U%ihf
X
相关阅读:
- 网页自动测试 5. 细节的开始 (yipoint, 2008-5-10)
- 网页自动测试 6. 细节的继续和完成 (yipoint, 2008-6-03)
- 网页自动测试 7. 从局部再回到整体 (yipoint, 2008-6-06)
- selenium & firefox 3 (beta 5) (yipoint, 2008-6-07)
- 压力测试 (stress testing) 工具:SLAMD (Distributed Load Generation Engine) (yipoint, 2008-6-25)
- 测试的目的,软件测试人员的角色和测试设计 (yipoint, 2008-8-06)
- 如何学习自动化测试 (zte_boy, 2008-8-09)
- EXCEL设置的一些属性值 (zte_boy, 2008-8-15)
- 利用当前日期生成唯一ID值 (zte_boy, 2008-8-21)
- 大数阶乘的算法 (zte_boy, 2008-8-22)
收藏
举报
TAG:
Automation