andyzlp232 2008-6-30 17:58
如何判断IE是否打开
请教个问题:在QTP里如何判断IE是否打开,如果未打开的话就打开,否则关闭后再打开。
这个代码要怎么写啊?
zte_boy 2008-6-30 18:04
没必要判断,每次运行测试前都SystemUtil.CloseProcessByName "iexplorer.exe"就OK了
陈能技 2008-6-30 22:41
用这个试试:
If Browser("micclass:=Browser").Exist (0) Then
'...
End If
推荐新书《QTP自动化测试实践》,该书配套源代码可下载:
[url]http://blog.csdn.net/Testing_is_believing/archive/2008/06/28/2594010.aspx[/url]
Randall 2008-6-30 22:53
试过这个SystemUtil.CloseProcessByName "iexplorer.exe"有时候ie就是没关掉,而且有多个页面的话这样也不行吧。
Dim IEBrowser
Dim BrowserObject
Dim BrowserCount
Set IEBrowser = Description.Create()
IEBrowser("micclass").Value = "Browser"
Set BrowserObjects = Desktop.ChildObjects(IEBrowser)
BrowserCount = BrowserObjects.Count
For i = 0 to BrowserCount -1
BrowserObjects(i).Close
Next
andyzlp232 2008-7-1 10:27
谢谢大家
非常感谢大家的支持啊。
我用的是这种方法
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process where name='iexplore.exe'")
If (colProcessList.count<>0) Then
For Each objItem in colProcessList
objItem.terminate()
Next
End If
SystemUtil.Run "iexplore.exe",""
wait 3
但有个问题,单步调试有时会出现个“一般通讯故障的错误对话框”,而运行(非单步调试)刚没有任何问题,好奇怪哦。
[[i] 本帖最后由 andyzlp232 于 2008-7-1 17:28 编辑 [/i]]