51Testing软件测试论坛

标题: QTP的脚本健壮性/兼容性问题 [打印本页]

作者: volitanthorse    时间: 2008-1-25 00:54
标题: QTP的脚本健壮性/兼容性问题
现在的情况是这样,想在一台机器上的IE6录制web程序的操作,并且可以在别的机器上的IE6,IE7和FireFox2.0上可以正常运行,需要考虑如下几个方面,比如:
(一)两个机器的IE设置不一样,比如录制时输入URL直接可以打开网页,但在另一台机器上可能会有个warning dialog,提示是否继续之类的
(二)在IE6录制,IE7执行,也会遇到IE设置不同,导致运行时出现和录制时不同的状况,主要还是特殊的dialog弹出问题
(三)所录制的web程序支持http和https,但两者在访问URL的时候,IE也会有不同的表现,如弹出安全提示对话框等
(四)安装FireFox后,运行时会提示是否设置为默认浏览器,这个对话框可以由用户选择下次是否还弹出,想让QTP脚本不管有没有这个对话框弹出,都不会出现运行错误

主要考虑这几个方面吧 总之是想让录制一次脚本 经过“加工”,可以使用不同的运行环境,请教一下是不是要手动添加一些判断的脚本,具体应从哪里着手?

非常感谢

[ 本帖最后由 volitanthorse 于 2008-1-25 00:56 编辑 ]
作者: yangkinki    时间: 2008-1-25 09:26
首先,QTP支持的瀏覽器是有限制的,還有就是如果用了不同版本的IE,可能象樓主說的會提示不同的對話框出來,那就得需要在腳本中添加語句進行分析處理,相當于進行容錯處理。
作者: volitanthorse    时间: 2008-1-25 10:51
能说的具体些吗?
作者: volitanthorse    时间: 2008-1-25 10:52
如果是添加判断处理的话 判断条件我理解是要包含弹出的对话框的属性 让QTP能够识别 但这些属性如何确定啊?
作者: andy    时间: 2008-1-25 13:24
这个是可以通过在对象库中添加对象写脚本来实现的.
至于是否可以识别,只要QTP能够正确识别控件就没问题.
关于兼容,健壮性的问题会在很多地方碰到,比如不同语言版本操作系统,那么弹出框中英文也不一样.通常情况下,对比控件属性,添加或删除一些不必要的属性即可.
作者: volitanthorse    时间: 2008-1-25 15:52
谢谢andy
添加或删除一些属性确实可以解决一些问题
但是如果这个对话框可能弹出,可能不弹出,这种情况,如果录制时和执行时的效果不一样,QTP就会报运行错误,这个怎么处理啊?
谢谢
作者: frankwangzy1103    时间: 2008-1-25 17:41
If IE的特征Then
‘处理IE的对话框
ElseIF Firefox Then
'处理firefox的对话框
EndIF
要不就是弄两套脚本,ie一套,firefox一套,这样的话,效率上能高点

至于你说的firefox弹出运行时会提示是否设置为默认浏览器,这些都是在浏览器里面设置的。
作者: Fastpoint    时间: 2008-1-25 19:30
以前在Winrunner里面有个函数叫win_exist("winobject")如果返回E_OK则执行里面的脚本,否则就跳过,按道理说QTP的对象识别在这方面比winrunner强太多了,很好过这种设计啊。

另楼上的写法不是很好,增加脚本维护难度,好的脚本自身的容错处理能力不需要外界干预。
作者: gy21st    时间: 2008-1-25 19:46
用Recovery Scenarios可以解决你描述的问题。Trigger Event 为pop-up window
作者: volitanthorse    时间: 2008-1-27 00:26
好 多谢大家
我先去试一下




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