51Testing软件测试论坛

标题: 怎样区别同时存在的多个Browser对象? [打印本页]

作者: scdxorange    时间: 2007-9-17 16:50
标题: 怎样区别同时存在的多个Browser对象?
假设脚本运行的过程如下:
1. 打开三个browser对象,分别是browser("google"), browser2("msn"), browser3("yahoo")
2. 执行一些操作
3. 只剩下browser("yahoo")了.(注意,原先是browser3("yahoo"),而现在是browser("yahoo"))
我希望检测:browser("google"), browser2("msn")已经关闭(即:不存在)。
可是不知道这些browser用什么来区分。
作者: jmy_1981    时间: 2007-9-17 17:04
标题: 可以试试Index和CreationTime,多数时候应该是不同的
如题。

/* Code Dummy */
Browser("micclass:=Browser", "CreationTime:=0").Exist()
...
'Or
Browser("micclass:=Browser", "index:=0").Exist()
...

希望有帮助
作者: scdxorange    时间: 2007-9-17 20:00
原帖由 jmy_1981 于 2007-9-17 17:04 发表
如题。

/* Code Dummy */
Browser("micclass:=Browser", "CreationTime:=0").Exist()
...
'Or
Browser("micclass:=Browser", "index:=0").Exist()
...

希望有帮助


这两个我都试过了,不行。请问,micclass:=Browser 是什么意思?另外,index:=0 从哪里可以查到?
作者: scdxorange    时间: 2007-9-18 15:33
哪位好心人帮帮忙啊?
作者: haiqin    时间: 2007-9-18 16:49
不会啊
作者: scdxorange    时间: 2007-9-19 10:29
假设我只打开了一个browser,但是如下语句执行的结果,居然是passed

If Browser("micclass:=Browser", "CreationTime:=5").Exist Then
    Reporter.ReportEvent micPass, "Custom Step", "The user-defined step passed."
        else
        Reporter.ReportEvent micFail, "Custom Step", "The user-defined step failed."
End If

这个是什么问题呢?
作者: beili    时间: 2007-9-19 10:52
通过对象库是可以看到具体的CreateTime的值的,它是按打开的时间从0开始编号的
------------------------------------------------------
Note: It is possible that at a particular time during a session, the available CreationTime values may not be sequential. For example, if you open six browsers during a record or run session, and then during that session, you close the second and fourth browsers (CreationTime values 1 and 3), then at the end of the session, the open browsers will be those with CreationTime values 0, 2, 4, and 5).
作者: scdxorange    时间: 2007-9-19 20:00
用 CreateTime 还是有问题,因为我的情况是:
先打开 browser 0、1、2,然后关掉 browser 0、1。我需要检查 Browser 0、1 是不是被关掉了。
用语句
Browser("CreationTime:=n").Exist
不能判断。

我想到其他办法,比如:进程的ID,browser的hwnd,不过不知道怎么利用。这里的“利用”包括:获取该browser的ID(或hwnd),然后利用它去判断该browser是否存在。

请帮忙啊!
作者: scdxorange    时间: 2007-9-19 21:19
嘿嘿,还是我自己找到办法了。
用windows task manager里面的process ID,可以唯一指定。

不过还是不知道怎么获取 hwnd 号码。
作者: cbwindboy    时间: 2010-6-8 18:22
原帖由 scdxorange 于 2007-9-19 21:19 发表
不过还是不知道怎么获取 hwnd 号码。


不知以下代码是否对你有帮助
extern.Declare micLong,"GetForegroundWindow","user32.dll","GetForegroundWindow"
hwnd=extern.GetForegroundWindow()
msgbox hwnd
作者: TIB    时间: 2010-6-8 20:20
可参考这个:
http://blog.csdn.net/Testing_is_ ... /03/19/5395728.aspx




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