51Testing软件测试论坛
标题:
请大侠们介绍下CreationTime的使用办法
[打印本页]
作者:
wuzhuayu
时间:
2007-8-25 17:44
标题:
请大侠们介绍下CreationTime的使用办法
今天下午在录制网站的一段脚本。
场景:当前已经打开了一个页面,这次点击页面上一个链接,打开了另外一个页面(这个页面根据链接的不同而有所不同),等我检查完完新开的页面时,想关掉它,但是录制的脚本老是自动关闭第一个页面,于是想到用CreationTime这个属性来关闭第二个窗口,我使用下面的代码: Browser("CreationTime := 1").Close来操作,但是QTP执行到这里就频频报错。
请问:在使用CreationTime有哪些要注意的呢?知道的朋友请给我们介绍一下吧,谢谢拉。呵呵
作者:
小孩
时间:
2007-8-25 18:55
在录制期间,如果 QuickTest 不能仅基于测试对象描述唯一标识浏览器对象,它将为“CreationTime”测试对象属性分配一个值。该值指示该浏览器打开的顺序,相对于其他描述都相同的其他打开的浏览器。
在运行会话期间,如果 QuickTest 不能只是基于其测试对象描述来标识某个浏览器对象,那么,它将检查浏览器的打开顺序,然后使用“CreationTime”属性标识正确的对象。
例如,如果您在三个浏览器上录制测试或组件,这三个浏览器除了打开时间分别在 9:01 pm、9:03 pm 和 9:05 pm 之外,其他方面完全相同,那么,QuickTest 将把 CreationTime 值 0 分配给 9:01 pm 浏览器,1 分配给 9:03 pm 浏览器,2 分配给 9:05 pm 浏览器。
在 10:30 pm,当您返回测试或组件时,假定浏览器分别在 10:31 pm、10:33 pm 和 10:34 pm 打开。QuickTest 将使用 CreationTime = 0 的浏览器测试对象标识 10:31 pm 浏览器,使用 CreationTime = 1 的测试对象标识 10:33 pm 浏览器,使用 CreationTime = 2 的测试对象标识 10:34 pm 浏览器。
如果打开几个浏览器,则 CreationTime 最高的浏览器是最后一个打开的浏览器,CreationTime 最低的浏览器是第一个打开的浏览器。例如,如果打开三个或更多的浏览器,则 CreationTime = 2 的浏览器是第三个打开的浏览器。如果恰好有七个或更少的浏览器,则 CreationTime = 6 的浏览器是最后一个打开的浏览器。
例如,如果在 CreationTime = 6 的浏览器上录制步骤,并且具有该 CreationTime 值的浏览器没有打开,该步骤将在当前打开的、CreationTime 值最高的浏览器上运行。例如,如果在运行会话期间,当前打开了 CreationTime = 0 和 CreationTime = 1 的两个浏览器,那么该步骤不会由于找不到 CreationTime = 6 的浏览器而失败,相反,它会在最后一个打开的浏览器上运行,如果是这种情况,浏览器 CreationTime = 1。
注意:可能会出现这样的情况,在会话期间的特定时间,可用的 CreationTime值并不有序。例如,如果您在录制或运行会话期间打开六个浏览器,然后在该会话期间,您关闭第二个和第四个浏览器(CreationTime 值为 1 和 3),那么在会话结束时,打开的浏览器将是 CreationTime 值为 0、2、4 和 5 的浏览器
作者:
小孩
时间:
2007-8-25 19:46
Option Explicit
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","","C:\Documents and Settings\Administrator","open"
Browser("Browser").Page("Page").Sync
Browser("Browser").Navigate "http://baidu.com/"
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","","C:\Documents and Settings\Administrator","open"
Browser("Browser_2").Page("Page").Sync
Browser("Browser_2").Navigate "http://www.google.cn/"
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","","C:\Documents and Settings\Administrator","open"
Browser("Browser_3").Page("Page").Sync
Browser("Browser_3").Navigate "http://www.sina.com.cn/"
browser("CreationTime:=1").Close
browser("CreationTime:=0").Close
browser("CreationTime:=2").Close
你自己试一下
作者:
gzj_06
时间:
2007-8-26 11:00
标题:
回复 #1 wuzhuayu 的帖子
报的什么错,是can not identify the object吧
在Browser("CreationTime := 1").Close上面要加一句的:
Browser("CreationTime := 1").Page("micClass:=Page").Sync
作者:
gzj_06
时间:
2007-8-26 11:14
标题:
回复 #1 wuzhuayu 的帖子
晕,我刚才又试了下,不是上面我说的原因,没有那句也行,原因倒在于
你的语句Browser("CreationTime := 1").Close冒号前面多了个空格,去掉就不报错了
这是什么道理啊,我也给搞糊涂了,我猜测可能是QTP识别时,是将冒号前面的整体当作属性进行判断,没有过滤掉空格
作者:
walker1020
时间:
2007-8-26 13:16
应该 的。Browser("CreationTime := 1").Close 是描述性编程的写法,它肯定是把 := 左边的部分作为识别对象的属性名(attribute),把右边的部分作为识别对象的属性值(value).我想也应该是语法要求吧。就象开发时 你调用一个带参数的函数, 使用的格式是 function(arg1), 而不是 function (arg1)。
作者:
wuzhuayu
时间:
2007-8-26 16:10
感谢各位的回帖,呵呵。真的想gzj_06 说的这样,应该可以像walk说的这样去理解这个问题,哎,真的是很倒啊。。QTP中的问题真是多而且细微,考验人的耐性!sdlkfj3
作者:
bobile
时间:
2007-8-26 16:22
大家都很强呀,我又学到了,呵呵
作者:
bobile
时间:
2007-8-26 16:22
谢谢了哈
作者:
lelebachelor
时间:
2007-10-22 00:48
这当然不会过滤空格啊....你这是赋值比较..空格也是值..呵呵..
作者:
warchief09
时间:
2012-2-14 14:33
一种DP的语法格式
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2