dqf 发表于 2010-9-6 16:46:56

如何在对象库中完整显示对象名称

一开始还以为是可能没装NET的插件 录制时 对象可能没有细化
但后来发现 是由于对象库中的名称不能完全显示 导致以1、2、3…… 来表示了
对象库中
系统对右上部分的“name”处有没有设置值 使之完全显示 不必在左边以_数字来表示了

开朗幽默 发表于 2010-9-6 21:11:02

这个不是名称没显示完,是你的这些WEBEDIT在录制的时候它们的名称本身都是一样的,在加到对象库的过程中,系统自动在后面加上了数字编号来区分。你可以通过更改这些WEBEDIT的名称来避免这个现象。

mowandao1985 发表于 2010-9-7 11:10:40

楼上说得对,你可以对这些名称进行编辑,改成和页面上显示的一样就可以了。
但是不能更改控件对象库的属性值,不然你运行时可能就找不到这个对象啦

dqf 发表于 2010-9-8 13:00:19

那为何左下方的NAME却是显示完整的呢?

TIB 发表于 2010-9-8 15:07:03

一个是对象库给这个对象起的名字(可修改)
一个是被测试的对象自己的名字(设计时就定好了,不可改)

开朗幽默 发表于 2010-9-8 15:11:03

这个就不是名称是否显示完的问题,而是你的那些WEBEDIT本身的问题。他们的名称都一样,所以系统在左边自动给每个对象都增加一个数字来加以区分。这点在你进行编程的时候就能够体现,当你输WEBEDIT(时,会出现对象库中的这些WEBEDIT_X来让你选择。

dqf 发表于 2010-9-9 14:51:16

还是不大明白
也做了个实验,用的是VB,在窗体内画了3个文本框,分别命名为:txt_name      txt_title      txt_caption
如图


而我用QTP录制时得到的为:

为何QTP中的对象库中的名称不是"txt_name"而是"ThunderTextBox",对象库中的名称又是如何自己命名的?

kavensyw 发表于 2010-9-12 16:54:01

1楼的标注对象的名name和实际对象的name属性不是一回事,只不过把 对象的name属性值拿过来标注而已
但你对象name属性一致,标注对象就不好区分,所以就加了个后缀

至于楼上的你识别对象设的是用regexpwndclass识别的,你设的三个控件,是同种类型,这个字段也是一样的,
但其window id不一致,
标注对象名称时把regexpwndclass的值拿过来做名字不能唯一区分,所以又加个后缀。
至于你要找"txt_name",点+号就可以在界面中找到了,应该是一个id的值

为了方便管理,建议手动修改成容易识别的名称

总之一句话,QTP自动标注对象时,是把你的对象的一个属性值拿来做标注的name,如果重复就加个数字后缀

[ 本帖最后由 kavensyw 于 2010-9-12 17:07 编辑 ]
页: [1]
查看完整版本: 如何在对象库中完整显示对象名称