51Testing软件测试论坛

标题: 急!!对象运行时的属性同录制时不一致 [打印本页]

作者: qsj_shao    时间: 2006-10-18 16:10
标题: 急!!对象运行时的属性同录制时不一致
录制的时候窗体的class为vbwindow,其中有vbname属性为该窗体在程序开发设计时的名字比如为frmuserlogin,有nativeclass属性比如为ThunderRT6FormDC,但有时运行qtp回放程序时会碰到对象无法识别的问题,此时使用qtp自带的spy查看,发现vbname属性为空,但是nativeclass属性还是同录制时相同为ThunderRT6FormDC,用spy++只能看到这个窗体有属性为ThunderRT6FormDC,以前碰到这种情况都是重新打开程序就好了,但今天怎么弄还是一样,到底是什么原因呢
因为脚本都已经完成了,完成时肯定都是好的,所以不想重新去对象库中把vbname的属性去掉(对象比较多),不知道各位有什么好的办法,都可以说说,谢了。
作者: xiaonan    时间: 2006-10-18 16:41
vbname会发生变化吗?是QTP没识别到这个对象属性?
作者: qsj_shao    时间: 2006-10-18 16:44
反正我录制时是有的,但有时候回放时会识别不了对象,我用spy看的vbname属性是为空,本来我关掉程序再打开就好了,本来这个脚本都好了,只是今天使用中又碰到问题,而且还就不行,已经试验了2台机器,都一样的毛病
不想就这样改脚本,脚本也蛮多行了,对象也比较多。看看有什么办法能解决。
作者: luckytz1    时间: 2006-10-18 18:05
标题: 建议
1.上面的问题,当你未打开应用程序时,在对象库是看不到具体值,你需要打开应用程序
2. 有时候会有找不到对象的情况,你必须在运行时,关掉运用程序。偶尔出现无法识别对象,我觉 得不是你录制的问题 ,本身这样的问题就存在8.2版中
作者: qsj_shao    时间: 2006-10-18 23:05
原帖由 luckytz1 于 2006-10-18 18:05 发表
1.上面的问题,当你未打开应用程序时,在对象库是看不到具体值,你需要打开应用程序
2. 有时候会有找不到对象的情况,你必须在运行时,关掉运用程序。偶尔出现无法识别对象,我觉 得不是你录制的问题 ,本身这 ...

对1,什么意思,不懂,对象库是录制时的东西,当然能看见具体值咯,
对2,运行时关了还怎么运行啊,再打开?那不是脚本正在运行的地方了
我本来是碰到过回访时出现vbname为空的情况,只是关了再重新跑就ok了,现在怎么弄都不好,qtp也重装过了
作者: yangkinki    时间: 2006-10-19 14:57
你在脚本中加上取这个对象的属性值,或者是判断语句,主要是来判断是否运行时这个属性值发生变化, 用 getroproperty
作者: lunarever    时间: 2008-1-9 21:20
一年前的老帖子现在还是没有准确的答案啊。不知道是不是8.2本身带有的问题,VB在调试时产生的那个程序被qtp识别为window,所有的属性都不会出现问题,但是一旦生成可执行文件马上就变成vbwindow然后就出现了找不到vbname的问题,所以都是直接用调试状态跑,不知道哪位大侠现在有办法了?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2