51Testing软件测试论坛

标题: qtp check windows service state [打印本页]

作者: li821022    时间: 2009-6-4 13:34
标题: qtp check windows service state
QTP 怎样实现获得某个服务是否存在,并检查当前状态
eg:check apache service if exist and check its states
作者: xiaoyaoke    时间: 2009-6-4 16:09
检查本机的还是远端主机的?
本地主机的wmi可以,获取running service列表,然后看看服务在不在

如果是验证远端的主机当然如果有权限的也可以wmi,登录进去,验证下

如果没有登录权限就要麻烦点了,要验证服务所在端口是否正确开放等等,具体要看你的需求了
作者: li821022    时间: 2009-6-4 18:27
标题: 回复 2# 的帖子
是检查本机的服务

直接用下面的函数,没有任何返回值,为什么呐?
Private Function IsServiceRunning(strServiceName)
    Dim strComputer, objWMIService, colRunningServices, objService
   
    ' Connect to local host
    strComputer = "."
    objService="Apache2"

    ' Connect to WMI interface on computer
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
   
    ' Select the specified service
    Set colRunningServices = objWMIService.ExecQuery("Select * from Win32_Service where Name='" & strServiceName & "'")
   
    ' Read the services state
    For Each objService in colRunningServices
        Wscript.Echo objService.DisplayName  & VbTab & objService.State
        Call PrintLn("<strong>" & objService.DisplayName  & ": " & objService.State & "</strong>")
        If objService.State = "Running" Then
            IsServiceRunning = True
        Else
            IsServiceRunning = False
        End If
    Next
   
    ' Clean up
    Set objWMIService = Nothing
    Set colRunningServices = Nothing
    Set objService = Nothing
End Function
作者: xiaoyaoke    时间: 2009-6-4 20:35
Function IsServiceRunning(strServiceName)
IsServiceRunning = False

Set wmi=GetObject("winmgmts:\\.")
Set pro_s=wmi.instancesof("win32_Service")


For Each p In pro_s
        If p.name=strServiceName and  p.started = True Then
                 IsServiceRunning = True
        End If
Next
Set pro_s=Nothing
Set wmi  =Nothing
End Function

msgbox  IsServiceRunning("W32Time")

写了个短点的,请试试,我在WinXP SP3 + QTP 9.5上试过可以了
作者: blizzardlyk    时间: 2009-6-5 08:59
收藏,学习
作者: li821022    时间: 2009-6-5 10:02
标题: 回复 4# 的帖子
多谢!已经试过了,可以通过。
作者: intothestorm    时间: 2009-6-5 10:42
学习
作者: 欧阳    时间: 2009-6-5 11:35
看到了wmi的应用了,
作者: ziheng198688    时间: 2009-6-5 14:27
收藏 学习了 高手啊




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