nbkhic 发表于 2009-5-15 14:19:44

描述性编程中对象的属性如何获取?

这几天一直在进行描述性编程的实验,据说描述性编程可以使得QTP在Run-Time时获取描述所对应的对象,并运行对象固有的方法。

现在小弟有如下疑问:
1.描述性编程可以使得QTP获取不在对象库中的对象。

如果对象不在对象库中,那么我们如何去获取对象的属性,也就是Property

描述性编程的格式应该为

objectName("Property :=******").Property or method
如果对象不在对象库中,那么它的Property 我们该如何去获取?
用SPY?
我使用SPY去获取过浏览器对象的Property,在如下情况下,比如只打开1个浏览器窗口,观察浏览器对象在spy中显示的Property ,我发现SPY连浏览器对象的text属性都获取不到!

请大家指导一下,如何正确的获取不在对象库中对象的Property从而以便描述性编程时能够使用。

fei.ge 发表于 2009-5-15 14:29:18

1用spy直接获取

2或者你录制完了脚本,结合对象库里对象的属性,再把所有脚本修改成描述性脚本

fei.ge 发表于 2009-5-15 14:31:40

【我使用SPY去获取过浏览器对象的Property,在如下情况下,比如只打开1个浏览器窗口,观察浏览器对象在spy中显示的Property ,我发现SPY连浏览器对象的text属性都获取不到!】

浏览器指的是Browser吧,Browser一般用title属性去描述

nbkhic 发表于 2009-5-15 14:35:46

原帖由 fei.ge 于 2009-5-15 14:29 发表 http://bbs.51testing.com/images/common/back.gif
1用spy直接获取

2或者你录制完了脚本,结合对象库里对象的属性,再把所有脚本修改成描述性脚本

关于第1点,我认为SPY的获取正确性有待讨论,因为我举得那个例子里spy连基本的text属性值都获取不到。而我还是用录制的方法识别出对象后使用getROProperty(“text”)的值;

关于第2点,使用描述性编程本来就是不想受到对象库的限制,比如有些对象是在录制脚本的时候没有获取到的,但是我们大概能够知道它的属性,于是才会去使用描述性编程去操作它。
我的主要困惑就是,spy的功能似乎有局限,并不能获取到对象所有的可用属性。是不是这样呢?

fei.ge 发表于 2009-5-15 14:51:53

【关于第1点,我认为SPY的获取正确性有待讨论,因为我举得那个例子里spy连基本的text属性值都获取不到。而我还是用录制的方法识别出对象后使用getROProperty(“text”)的值;】
<<<你的目的就是想获取到text的值吗?通过描述性完全可以啊,只要你能让QTP先识别出你的对象

【关于第2点,使用描述性编程本来就是不想受到对象库的限制,比如有些对象是在录制脚本的时候没有获取到的,但是我们大概能够知道它的属性,于是才会去使用描述性编程去操作它。】
<<<描述性对象编程是不想受对象库的限制,你可以写完描述性脚本后删除对象库

【我的主要困惑就是,spy的功能似乎有局限,并不能获取到对象所有的可用属性。是不是这样呢?】
<<<这个.....,可能吧....

nbkhic 发表于 2009-5-15 16:22:46

很奇怪的是,我把browser对象加入对象库中之后,browser对象的text属性并没有被保存……
然后我用描述性编程去通过text属性识别该对象时发现该对象不能被识别。因此是否可以得出这样的结论——对象库中并不能保存完全的对象属性,并且在使用描述性编程的时候,使用对象库中保存的属性值进行识别的话成功率会高一些?

fei.ge 发表于 2009-5-15 16:42:12

能不能说一下的获取的是哪一个Browser,是你们公司的做的web项目吗?
能把你的代码贴上来?

nbkhic 发表于 2009-5-20 14:06:46

呵呵,我用对象库编程动态匹配解决这个问题了。稍微改了些代码就可以了,谢谢楼上的大哥啊。
页: [1]
查看完整版本: 描述性编程中对象的属性如何获取?