sally_0817 发表于 2009-3-17 10:08:06

为什么用描述性编程动态识别对象后,执行脚本需等待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:17

Link("2").Link("2"). ???

sally_0817 发表于 2009-3-17 10:35:46

不好意思,多写了一个,改了

sally_0817 发表于 2009-3-17 11:17:00

没有人遇到过这种情况吗??

我已经遇到好几次了,但都没找到解决的办法

testlab 发表于 2009-3-17 11:21:42

你用HIGHLIGHT识别时QTP用了多久?如果也是20秒的话那就是识别速度慢.否则再找其他原因

sally_0817 发表于 2009-3-17 11:33:33

怎么用HIGHLIGHT识别啊?

helius 发表于 2009-3-17 11:37:09

查看报告中是否使用了智能标识

onlonely 发表于 2009-3-17 22:45:03

我使用过程中的确发现识别第一个描述性编程的父对象的时候,需要时间的确比较多。
如如下代码

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 123456@qq.com" 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:30

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

每次运行都是如此吗?换其它人电脑运行试试,呵呵。

sally_0817 发表于 2009-3-20 10:41:02

20秒是我精确计算的时间
而且每次都这样
换电脑、换QTP版本运行均如此

sally_0817 发表于 2009-3-20 10:41:37

可能就是识别该对象的过程比较慢
我至今未解决,呵呵

mklodoss 发表于 2009-3-20 15:16:16

呵呵,问个小问题。Browser("AAAAA!").Page("BBBBB").Link("2").SetTOProperty"text",j
SetTOProperty这个改的是对象库中的属性, 和描述性编程有什么联系吗?

shiyi1022 发表于 2009-3-20 15:33:07

这和你QTP设置有关,在setting-run中,有个同步对象时间是20秒。
页: [1]
查看完整版本: 为什么用描述性编程动态识别对象后,执行脚本需等待20秒