51Testing软件测试论坛

标题: 两个网页同名,但是内含的控件不同,QTP有办法识别吗? [打印本页]

作者: letmehappy    时间: 2005-12-8 17:09
标题: 两个网页同名,但是内含的控件不同,QTP有办法识别吗?
今天用QTP来测试TD,过程如下:
1 打开TD页面
2 输入用户名和密码,按回车键进入
3 点击"Logout"按钮退出

回放到最后一步失败,提示找不到"Logout"这个控件,但是在资源文件中这个控件是存在的,keyword view中也能看到.

分析了一下问题所在,发现TD在登录前后的窗口名称是一样的,而登录前后窗口中的控件是不一样的,这样录制过程中所用到的控件资源都放在同一个窗口中,难道是这个原因造成的吗?我试了两种方法:

1 修改资源文件,试图将登录前后的控件放在不同的窗口.---结果失败,用spy学习控件时始终是在同一个窗口
2 在expert view中加判断语句,如果找得到logout控件就点击.---结果程序确实是找不到这个控件,但不再报错

没有法子了,想请教一下大家找不到这个控件的原因是什么?如何解决? 因为很多网站为了安全起见,在浏览的内容(地址)变化时,整个窗口和网址都是不变的,这个问题应该比较有普遍性.
作者: 海龙    时间: 2005-12-8 23:05
原因:TD使用的是ActiveX控件,这个控件每次运行,winobject对象的windows id值是一个新的值,导致回放失败
作者: letmehappy    时间: 2005-12-9 09:01
请教海龙,这种情况有办法解决吗?
作者: andy    时间: 2005-12-10 15:44
如果只是在回放时不能识别这个控件的话,你可以先SPY一下,然后修改这类控件的默认录制属性使脚本能够回话;
或者针对这个控件进行特殊的属性修改!
作者: letmehappy    时间: 2005-12-11 14:11
谢谢andy的回复.
昨天晚上看了一晚上的用户手册,今天特意到公司试了一下,发现将id属性去掉,添加一个text属性就可以回放了.,看来还得多看用户手册啊,虽然是英文的,但是多看看也就看懂了.




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