51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4381|回复: 13
打印 上一主题 下一主题

[原创] 菜鸟QTP录制脚本的一些问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-19 18:27:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们的软件是用delphi写的,我在录制脚本完成后,运行,但是老是一些窗口出错,对比了下,原来是每次window id 的值都在变化,为什么啊,录制的时候是一个值,怎么运行脚本的时候变了喃,而且每次用探测器查看都是同一个窗口得到不同的window id。晕了,是怎么回事喃?忘赐教!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-12-19 19:03:29 | 只看该作者
好像见过这个问题!
试试下面:
把变化的属性值从对象库里去掉或者换成别的能够唯一确定该对象的属性。
录制完把window id属性去掉(录制时它默认选择这个属性),换成X、Y坐标。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-12-19 19:23:08 | 只看该作者
楼上的师兄,可否说清楚一点喃,步骤列出来下,小弟实在太菜····我是qtp 8.2
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-12-19 19:44:46 | 只看该作者
貌似我还没用过8.2,录制完成后打开对象库(Object Repository,应该是Ctrl+R快捷键)
找到出错的对象,在Object  Properties (也就是对象属性) 栏里面应该有这个对象的详细信息(就是test object details),选中window id,点击红色小叉按钮,就把它删掉了

如果不行,就点击绿色加号按钮,添加一个新属性,能唯一识别这个对象的就行,也不知道你出错的是什么对象,说的含糊请见谅
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-12-20 10:14:55 | 只看该作者

回复 4# 的帖子

嗯,小弟先谢过,出错的对象是一个窗口的按钮,这种现象在我们的软件的其他窗口的按键也出现过,window id每次都变化,我有点怀疑是界面用delphi的原因,因为我之前测c#的东西都没出现过。还有就是弱弱的问一句,一般那些属性是唯一可以定义一个窗体的?X,Y?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-12-20 10:48:30 | 只看该作者
我找到了,X,Y可以,但是那么多window id 改变的按钮啊,我不可能一个一个去找来盖属性吧??有没有什么简单的办法?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-12-20 19:20:27 | 只看该作者
和什么有关系喃?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-12-20 22:32:08 | 只看该作者
期待中。。。。。。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-12-21 13:03:43 | 只看该作者
不知道可能和delphi有关系没有
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-12-21 13:56:29 | 只看该作者
果然是这个问题啊,QTP自带的FLIGHT里面的FAX窗口也是这个特性的,每次插入定单后打开,窗口的名字都不一样(动态变化),建议你用描述性编程(descrīptive progamming)。容易解决这个问题
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-12-21 19:17:12 | 只看该作者
恩,QTP自带的FLIGHT里面FILE下有个FAX ORDER选项,打开之后是一个FAX窗口,窗口名字中带有定单号,所以会随着ORDER NO变化,用一般的录制回放是不行的,QTP会找不到这个窗口,所以可以用描述性的编程方法,用TOOLS下的OBJECT SPY来点选这个会动态变化的窗口,选择其中的一些属性来代替描述这个窗口.这样就可以正确识别了.还有一种方法就是在对象库里面把对应的表示窗口名字的属性写成正则表达试,如果有数字变化的,就可以把数字替换成[0-9]+等等.
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-12-25 15:27:44 | 只看该作者
我大概知道怎么改了,有个问题就是,要是软件种存在大量这样window id变化的按键,我怎么去控制呢?不可能遇到一个改一个吧?那样似乎太麻烦了吧?还有10#和11#的两位提到的述性编程(descrīptive progamming),具体是怎样的?我很菜不清楚
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-10-19 23:03:48 | 只看该作者
回复 2# xinxue00

请教一下,如何将录制下来的对象唯一属性换成其他的唯一属性啊?
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-10-20 11:15:52 | 只看该作者
回复 13# kaifeng15

通常使用getroproperty来获取属性的动态变化值
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-15 02:43 , Processed in 0.080035 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表