使用WMI查看添加与删除列表、安装应用程序,删除应用程序(转)

上一篇 / 下一篇  2014-05-28 15:06:10 / 个人分类:自动化测试

  相信很少有自动化测试人员去尝试过使用QTP去操作windows系统中的添加与删除对话框并去删除应用程序,其实如果你去尝试使用QTP去识别此窗口后,你会发现QTP会把其整个窗口识别为object,此时我们可以通过一种更好的方式去代替此类操作,它就是WMI(Window Management Instrumentation),它是一个相当强大windows管理组件,当然这里我们只介绍如何使用WMI查看添加与删除列表、安装应用程序,删除应用程序。

1.遍历所有已安装的Windows安装包名称

'设置机器名
Computer = "."
'获取windows安装包的集合
Set MSIapps = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer &_
"\root\cimv2").ExecQuery("select * from Win32_Product")
'获取已安装应用程序的数量
AppList = AppList & MSIapps.Count & " 已安装:" & VBCRLF & "------" & VBCRLF
'遍历所有安装包的名称
For each App in MSIapps
    AppList = AppList & App.Name & VBCRLF
Next
'将所有内容展示出来
Wscript.Echo AppList

2. 安装一个windows安装包
'设置变量
Computer = "."
MSIlocation = "<MSIFile>.msi" '必须填写包的路径
CmdLineOptions = NULL
AllUsers = FALSE
'绑定winmgmts
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2")
'获取对象实例
Set WMIapp = WMI.Get("Win32_Product")
'安装
WMIApp.Install MSIlocation, CmdLineOptions, AllUsers

3. 移除一个已安装的应用程序
'设置变量
Computer = "。"
AppToRemove = "<MSIApp>"
'获取已安装应用程序集合
Set MSIapp = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * from Win32_Product")
'遍历所有安装应用程序并移除指定应用程序
For each App in MSIapp
    If App.Name = AppToRemove Then
        App.Uninstall
    End If
Next
 

TAG:

 

评分:0

我来说两句

Open Toolbar