51Testing软件测试论坛

标题: 如何判断打开了多少个IE 窗口 [打印本页]

作者: carina    时间: 2007-7-11 14:21
标题: 如何判断打开了多少个IE 窗口
实际的使用场景是:
程序打开了不确定个数的 IE 窗口, 需要判断窗口的个数 才能确定要关闭几次。
试用下面的代码,得到的窗口个数是 1
 
Set Brow_page=Description.Create()
Brow_page("class name").value="Browser"
Brow_count =Brow_page.count()
msgbox Brow_count

最后只好判断窗口是否存在,只要存在,就执行一次关闭操作

大家有没有好的办法,能得到这些窗口的个数呢 ??

[ 本帖最后由 carina 于 2007-7-11 14:57 编辑 ]
作者: sidneylover    时间: 2007-7-11 14:26
Set Brow_page=Description.Create()
Brow_page("class name").value="Browser"
set Brow =desktop.childobjects(Brow_page)
msgbox Brow.count()
作者: carina    时间: 2007-7-11 14:34
标题: 试了一下,变成 0 了
以前没有用过这个方法,我再看看 。。。。
作者: carina    时间: 2007-7-11 14:35
标题: 刚才忘记谢谢你啦
呵呵 。。。
作者: carina    时间: 2007-7-11 15:04
标题: 似乎 desktop 不算是 Browser 的父对象
似乎  desktop 不算是 Browser 的父对象
作者: gzj_06    时间: 2007-7-11 16:06
原帖由 sidneylover 于 2007-7-11 14:26 发表
Set Brow_page=Description.Create()
Brow_page("class name").value="Browser"
set Brow =desktop.childobjects(Brow_page)
msgbox Brow.count()
用你的代码运行了下,输出是0啊,没能判断出有多少IE窗口啊
作者: auqdppyv    时间: 2007-7-11 16:09
desktop是一个标准和Window对象
Set Brow_page=Description.Create()
'声明一个对象:Brow_page
Brow_page("class name").value="Browser"
'该对象的属性class name = "Browser"
set Brow =desktop.childobjects(Brow_page)
'取得desktop上class name = "Browser"的子对象
Brow.count()
'计算总个数

不知道这样的回答满意吗?
作者: carina    时间: 2007-7-11 16:12
标题: 在我这边运行的结果是 0,非常奇怪
另外 :谢谢你标注了那么详细的注释

[ 本帖最后由 carina 于 2007-7-11 16:14 编辑 ]
作者: wtucel    时间: 2007-7-11 16:15
返回最近打开的那个窗口的creationTime不就行了?

Browser(“creationTime:=0”) 第一个被创建的IE窗口
Browser(“creationTime:=1”) 第二个被创建的IE窗口
作者: winfood    时间: 2007-7-11 16:26
a) Desktop就是浏览器的父窗口

b) Brow_page("class name").value ="Browser"
应该是
Brow_page("micclass").value ="Browser"
micclass才是描述性编程中使用的属性,而不是class name。

c) 以前讨论过这个问题,参见:
http://bbs.51testing.com/viewthread.php?tid=4071
作者: gzj_06    时间: 2007-7-11 16:38
标题: 回复 #10 winfood 的帖子
原帖由 winfood 于 2007-7-11 16:26 发表
micclass才是描述性编程中使用的属性,而不是class name
用micclass果然成功,请问怎么知道对应描述性编程中使用的属性呢
作者: zhuyuancan    时间: 2007-7-11 16:40
为什么我用micclass还是0呢?????操作系统是2000,qtp8.2
作者: gzj_06    时间: 2007-7-11 16:46
标题: 回复 #12 zhuyuancan 的帖子
你是用的LZ的代码还是2楼的,2楼的才是对的
作者: winfood    时间: 2007-7-11 16:50
当初为了找合适的Property费了很多周折,我也忘记是最后自己找到的还是从什么地方参考来的了sdlkfj5
反正为了得到实际的属性名称,用代码遍历过对象的Property。

QTP帮助里面把识别每一类对象的主要属性都列出来了,但是实际应用中可能要超出这个列表范围。
作者: zhuyuancan    时间: 2007-7-11 16:55
94二楼的,
Set Brow_page=Description.Create()
Brow_page("micclass").value="browser"
set Brow =desktop.childobjects(Brow_page)
msgbox Brow.count
提示为0

当我把Brow_page("micclass").value="browser"改为Brow_page("micclass").value="Browser"时
提示为1
但是桌面上总共有3个界面,td,51testing首页,还有此帖的界面..
难道此帖的界面是属于51首页的子页面就不算了!!!困惑,,,,,
怎么计算桌面上所罗列的所有窗口呢
作者: 南极    时间: 2007-7-11 17:59
成功!!!
作者: carina    时间: 2007-7-12 10:46
标题: 成功了
QTP 刚开始学 , 谢谢大家的帮助
作者: gzj_06    时间: 2007-7-12 15:30
标题: 回复 #15 zhuyuancan 的帖子
最后一句count后漏掉括号了,加上去再试试看
作者: gzj_06    时间: 2007-7-12 15:36
原帖由 zhuyuancan 于 2007-7-11 16:55 发表
当我把Brow_page("micclass").value="browser"改为Brow_page("micclass").value="Browser"时
提示为1
原来没有括号也行的,这个只是统计IE窗口的,别的Windows窗口是不统计的
作者: huangjs    时间: 2007-7-22 20:30
学习
作者: rivermen    时间: 2007-7-23 09:44
Sub CloseWeb()

'         此处可以用到描述性编程,把先期打开的IE窗口全关闭
Dim WinIe,Ie,i,m
Set WinIe=description.Create()
WinIe("regexpwndtitle").value=" Microsoft Internet Explorer"  '所有页面的regexpwndtitle属性值都是" Microsoft Internet Explorer",也可以用其他属性
Set Ie=desktop.ChildObjects(WinIe)
m=Ie.count
For i=1 to m
        Ie(i-1).close                 ' 0为最后打开的一个,可关闭打开的几个,,循环改成for i=1 to m
Next
End Sub




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