51Testing软件测试论坛

标题: 为什么用描述性编程动态识别对象后,执行脚本需等待20秒 [打印本页]

作者: sally_0817    时间: 2009-3-17 10:08
标题: 为什么用描述性编程动态识别对象后,执行脚本需等待20秒
问题,如标题

脚本:
For j=2 to 100
Browser("AAAAA!").Page("BBBBB").Link("2").SetTOProperty"text",j
Browser("AAAAA!").Page("BBBBB").Link("2").Click
   For i=0 to 100
   ......
   Next  
Next

脚本执行到Browser("AAAAA!").Page("BBBBB").Link("2").Link("2").Click
计算了一下,等待了20秒才执行

识别一个对象也不需要这么长的时间吧??

请教各位大虾,可有遇到此情况,如何解决的呢??

谢谢!!

[ 本帖最后由 sally_0817 于 2009-3-17 10:36 编辑 ]
作者: skyzhu    时间: 2009-3-17 10:27
Link("2").Link("2"). ???
作者: sally_0817    时间: 2009-3-17 10:35
不好意思,多写了一个,改了
作者: sally_0817    时间: 2009-3-17 11:17
没有人遇到过这种情况吗??

我已经遇到好几次了,但都没找到解决的办法
作者: testlab    时间: 2009-3-17 11:21
你用HIGHLIGHT识别时QTP用了多久?如果也是20秒的话那就是识别速度慢.否则再找其他原因
作者: sally_0817    时间: 2009-3-17 11:33
怎么用HIGHLIGHT识别啊?
作者: helius    时间: 2009-3-17 11:37
查看报告中是否使用了智能标识
作者: onlonely    时间: 2009-3-17 22:45
我使用过程中的确发现识别第一个描述性编程的父对象的时候,需要时间的确比较多。
如如下代码

set ehome = Browser("name:=eHome 网家 — 记录家庭成长").Page("title:=eHome 网家 — 记录家庭成长")
ehome.WebEdit("Name:=HomeID").Set “myhome
ehome.WebEdit("name:=UserName").Set ”timon
ehome.WebEdit("name:=Password").SetSecure “123456
ehome.WebEdit("Name:=Password2").SetSecure “123456
ehome.WebEdit("name:=EMail").Set [email=“<a href=]123456@qq.com[/email]" target="_blank">“123456@qq.com
ehome.Link("text:=确   定").Click


但只是第一个慢,如执行到ehome.WebEdit("Name:=HomeID").Set “myhome”这句的时候是需要一段时间来识别对象的,这个是可以理解的,因为使用描述性编程后,对象库中没有任何对象。
但是如果识别了第一个,后面的就不会了。。

[ 本帖最后由 onlonely 于 2009-3-20 20:07 编辑 ]
作者: huizhen    时间: 2009-3-18 10:31
原因可能有三点:
1、QTP本身在识别对象的时候有时候会比较慢,甚至无法识别,即便是同一对象不同时间运行也是如此;
2、使用描述性编程,相对会比较慢,尤其是当对象比较多的时候;
3、你所计算的20s的时间,可能并不完全是消耗在你说的那一句上面,是不是只是从界面运行感官上得出的结论呢。

每次运行都是如此吗?换其它人电脑运行试试,呵呵。
作者: sally_0817    时间: 2009-3-20 10:41
20秒是我精确计算的时间
而且每次都这样
换电脑、换QTP版本运行均如此
作者: sally_0817    时间: 2009-3-20 10:41
可能就是识别该对象的过程比较慢
我至今未解决,呵呵
作者: mklodoss    时间: 2009-3-20 15:16
呵呵,问个小问题。Browser("AAAAA!").Page("BBBBB").Link("2").SetTOProperty"text",j
SetTOProperty  这个改的是对象库中的属性, 和描述性编程有什么联系吗?
作者: shiyi1022    时间: 2009-3-20 15:33
这和你QTP设置有关,在setting-run中,有个同步对象时间是20秒。




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