51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3377|回复: 10
打印 上一主题 下一主题

[原创] 怎样区别同时存在的多个Browser对象?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-17 16:50:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假设脚本运行的过程如下:
1. 打开三个browser对象,分别是browser("google"), browser2("msn"), browser3("yahoo")
2. 执行一些操作
3. 只剩下browser("yahoo")了.(注意,原先是browser3("yahoo"),而现在是browser("yahoo"))
我希望检测:browser("google"), browser2("msn")已经关闭(即:不存在)。
可是不知道这些browser用什么来区分。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-17 17:04:09 | 只看该作者

可以试试Index和CreationTime,多数时候应该是不同的

如题。

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

希望有帮助
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-9-17 20:00:08 | 只看该作者
原帖由 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 从哪里可以查到?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-9-18 15:33:36 | 只看该作者
哪位好心人帮帮忙啊?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-9-18 16:49:39 | 只看该作者
不会啊
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-9-19 10:29:01 | 只看该作者
假设我只打开了一个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

这个是什么问题呢?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-19 10:52:33 | 只看该作者
通过对象库是可以看到具体的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).
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-9-19 20:00:52 | 只看该作者
用 CreateTime 还是有问题,因为我的情况是:
先打开 browser 0、1、2,然后关掉 browser 0、1。我需要检查 Browser 0、1 是不是被关掉了。
用语句
Browser("CreationTime:=n").Exist
不能判断。

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

请帮忙啊!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-9-19 21:19:22 | 只看该作者
嘿嘿,还是我自己找到办法了。
用windows task manager里面的process ID,可以唯一指定。

不过还是不知道怎么获取 hwnd 号码。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-6-8 18:22:35 | 只看该作者
原帖由 scdxorange 于 2007-9-19 21:19 发表
不过还是不知道怎么获取 hwnd 号码。


不知以下代码是否对你有帮助
extern.Declare micLong,"GetForegroundWindow","user32.dll","GetForegroundWindow"
hwnd=extern.GetForegroundWindow()
msgbox hwnd
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-6-8 20:20:54 | 只看该作者
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 06:34 , Processed in 0.080838 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表