51Testing软件测试论坛

标题: Exist方法的奇怪问题 [打印本页]

作者: hsjzfling    时间: 2008-2-22 16:38
标题: Exist方法的奇怪问题
一开始都还是很正常的,但突然某一天。。。。。。

代码很简单,就是判断Browser("Info").Page("Info").WebButton("Continue").Exist(1)
执行这句代码,以前都很快的,但某一天突然就慢了,每次都得等待默认的20秒时间...下面还有几个.Exist也都同样慢,将智能识别全关掉还是一样~谁知道可能是什么问题呢~~
作者: kursk    时间: 2008-2-22 17:00
exist(1) 你已经指定了1秒了,不会再等待20秒吧

Exist([Timeout])

Timeout  数字  可选。 在返回 True 或 False 值之前搜索对象的时间长度。
如果指定了超时值,则 QuickTest 会等待它找到该对象或者到达超时。
如果指定了值 0,则该方法会立即返回 True 或 False 值。
如果未指定值,则将使用在"测试设置"对话框中为"对象同步超时"指定的值进行测试。对于业务组件,使用预定义值 20 秒。
有关"对象同步超时"的详细信息,请参阅《Mercury QuickTest Professional 用户指南》。  


如果没有指定超时值,而对象又不存在,一般就会等待20秒时间
作者: hsjzfling    时间: 2008-2-22 17:37
可问题就是不管我指定0秒还是1秒它都会在那一步等待20秒左右...也不存在等待页面同步等问题...
作者: sunqiang1024    时间: 2008-2-22 17:58
看看你的tools-》options中的run菜单中是不是设置的等待时间[attach]39339[/attach]
作者: hsjzfling    时间: 2008-2-22 18:27
和这个没啥关系...默认都是0,我想没谁会在这里设每步等待20秒吧~~
其它的步骤都执行的飞快,就是这两三处Exist的地方等待20秒
作者: three116    时间: 2008-2-22 19:28
是你的网页打开速度问题吧
它要等你网页打开找到页面对象,然后才会找你定义的具体的控件对象
作者: hsjzfling    时间: 2008-2-25 10:54
我在3楼也提到过了,不应存在页面同步问题,执行完前一个步骤后就没有任何刷新或跳转页面的动作,而且测试机和服务器是处于局域网中,服务器端也没什么压力...
作者: gy21st    时间: 2008-2-25 11:21
还是检查一下父对象的识别属性,看看实际对象和对象库中的对象是否一致。从现象描述来看,的确很像test setting中设置的同步时间引起的。
作者: hsjzfling    时间: 2008-2-25 12:23
标题: 回复 8# 的帖子
感觉Exist还是有比较大的bug...
我先关掉了所有对象的智能识别
执行该脚本前面的一些在文本框中填值的步骤,填10个值花费2-3秒。
然后直接判断Browser("Info").Exist(1),对象库中Browser("Info")的CreationTime为1,但打开的第二个页面此时已经关闭了(即我要判断是否存在的页面),当前存在的页面应该是CreationTime为0,但QTP却瞬间返回了True。
接着我判断Browser("Info").Page("Info").WebButton("Continue").Exist(1),等待20秒后返回的是False...结果没错,但等待时间却...
再尝试判断Browser("Info").Page("Info").Exist(1),有了点进步,只等待了5-8秒返回了False
......
有点晕了~
作者: Salina    时间: 2008-2-25 15:54
原帖由 hsjzfling 于 2008-2-25 12:23 发表
感觉Exist还是有比较大的bug...
我先关掉了所有对象的智能识别
执行该脚本前面的一些在文本框中填值的步骤,填10个值花费2-3秒。
然后直接判断Browser("Info").Exist(1),对象库中Browser("Info")的CreationTime为 ...


一般来说, 当识别一个Browser时, 最好用"title" 或者"name"属性来识别. 如果多个Browser的"title"和"name"都一样时,再用CreationTime或者index来区分他们. 你换成"title"或者"name"来试试.




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