cuijianwww 发表于 2012-8-9 10:02:08

QTP如何做关联?

QTP11,系统win2003,需要添加一条数据然后选择这条数据,删除。在loadrunner中,这种情况可以做关联,在QTP中 怎么办呢?由于录制时候与运行脚本时候添加数据的ID是不一样的,运行脚本时候 找不到录制时的ID,新手求教。。。

cuijianwww 发表于 2012-8-9 10:30:08

有人么?QTP的这种关联是怎么做的?

cuijianwww 发表于 2012-8-9 10:30:18

新手求助!!

黑羽祭 发表于 2012-8-9 11:12:47

回复 3# cuijianwww


    不是很明白,不过QTP是可以在运行时,获取这个控件在运行时的值进行操作
    可以使用描述性编程解决

cuijianwww 发表于 2012-8-9 12:36:17

回复 4# 黑羽祭


    就是我录制脚本时候,添加了一条数据,系统给的ID是1,删除时候选中ID为1的数据,点击删除。但是我在运行脚本时候,添加了一条数据,系统肯定两次给的是不一样的ID,比如ID是2,删除时候,脚本里写的ID还是1,那么ID为1的数据就找不到了,就会报错。怎样解决?

cuijianwww 发表于 2012-8-9 12:37:29

这种情况在loadrunner中做个关联就可以了,但是QTP中不知道是怎么处理的。新手求教。。。

云层 发表于 2012-8-9 12:37:40

用childobject+getroproperty实现的

joykao 发表于 2012-8-9 12:41:56

getRoproperty 拿对象属性啊。。。QTP 里没有关联这一说。。。。。
你说的关联应该是指TO 和RO的关系:lol

云层 发表于 2012-8-9 12:45:17

那是楼上你不懂而已。

cuijianwww 发表于 2012-8-9 12:48:32

回复 7# 云层


    呃。。。云层老师能说的具体点么?刚接触QTP。。。

黑羽祭 发表于 2012-8-9 13:36:59

回复 10# cuijianwww


这个在平时的使用中经常遇到,我都是使用getRoproperty + 描述性编程来完成。

1.用getRoproperty 获取当前页面上的id值2至一个变量MyID,然后根据属性表述如 XXXXXX(“name:=MyID”).Click   (例子随便写的)进行操作
2.如果是表格里的点选点击删除,还是先getRoproperty 获取当然的ID,然后把WebTable保存成对象otable,用otable.GetCellData(i,j)得到指定表格内容,然后和当前ID比对,一样的则勾选,点击删除按钮

想看看 云层 的比较正式的答案是什么。

云层 发表于 2012-8-11 08:57:57

简单写一下,其实到处都有类似的写法

set ob=descrption.create()
ob("html tag").value="A"

set x=browser(":=").page(":=").childobjects(ob)
for i=0 to x.count-1
print x.item(i).getroproperty("innerttext")
next
这样就可以获得当前页面上所有超链接对应问文字了。。。

hsjzfling 发表于 2012-8-13 10:06:16

概念上来看,也就是一个参数化的问题。只需要将所有ID=1这个常量替换成ID=intID或者DataTable("ID",dtLocalSheet)等变量即可,包括对象库中与该ID相关的对象属性的值也需做参数化。
ID的值可以用GetROProperty,Output Value等方式去获取系统给的ID。然后,一切就都搞定咯。

黑羽祭 发表于 2012-8-13 10:52:33

呵呵~继续关注~~~~~

CathyDeng5219 发表于 2012-8-15 17:49:20

:victory:

moshuang 发表于 2012-8-15 17:52:46

回复 1# cuijianwww


    你的问题我遇到过,可是QTP并没有关联,你只能获取孩子节点。不过具体方法希望你能找到。

lintongyan 发表于 2012-8-16 18:34:59

:)
页: [1]
查看完整版本: QTP如何做关联?