51Testing软件测试论坛

标题: QTP录制JavaScript写的对话框时,回放速度非常慢 [打印本页]

作者: veryseven    时间: 2008-7-24 16:34
标题: QTP录制JavaScript写的对话框时,回放速度非常慢
我用QTP9.2录制了一段脚本后回放,回放的速度非常的慢,比如我点击“添加”后弹出一个对话框,然后输入“test”,再点击“确定”,就这个过程回放大概需要2分钟,实际操作的时候很快可以完成。不知道各位高手能否解决一下速度的问题,我将录制对象、脚本、控件属性都放上来了
[attach]44269[/attach]

Browser("Browser").Page("Page").Frame("frame_main").WebButton("添加").Click
Browser("Browser").Page("Page").Frame("window_1216887225828_content").WebEdit("txt_name").Set "test"
Browser("Browser").Page("Page").Frame("window_1216887225828_content").WebButton("确认").Click

[attach]44270[/attach]

而且有时候回放的时候需要加wait()才能完成,不然就提示找不到对象,似乎QTP对这种对话框Load的速度非常慢,开发人员说这种对话框是用Java Script写的

[ 本帖最后由 veryseven 于 2008-7-24 17:01 编辑 ]
作者: peterz    时间: 2008-7-24 16:52
看不到图,你是不是增加了页面检查点,那样会很慢的
作者: veryseven    时间: 2008-7-24 17:03
标题: 回复 2# 的帖子
什么都没有做,这是我临时录的一段代码,回放也是很慢
作者: veryseven    时间: 2008-7-24 17:04
而且这个对象的名字window_1216887225828_content每次都是会变的
作者: 假装不在    时间: 2008-7-24 17:14
1,你是否开了虚拟对象识别
2,缩短对象识别时间,修改20秒为1秒
3,看看是不是QTP识别对象时间用得比较长。
作者: wtucel    时间: 2008-7-24 17:20
Browser("Browser").Page("Page").Frame("window_1216887225828_content").WebEdit("txt_name").Set "test"
Browser("Browser").Page("Page").Frame("window_1216887225828_content").WebButton("确认").Click

你的对象名称每次都在变化吧,所以QTP每次都找不到名为window_1216887225828_content的对象,然后会根据其他属性来识别,匹配了所有属性后才发现新的对象只有name属性变了,所以QTP自动识别

你用描述性编程试试
作者: veryseven    时间: 2008-7-24 17:35
原帖由 假装不在 于 2008-7-24 17:14 发表
1,你是否开了虚拟对象识别
2,缩短对象识别时间,修改20秒为1秒
3,看看是不是QTP识别对象时间用得比较长。

没有开启虚拟对象识别,在同一段脚本里也录制的其它操作就很快,只有对这种弹出的对话框的操作反应很慢,我觉得关键可能在这个对话框上,但是我不知道原因是什么,不知道还有没有别的方法
作者: veryseven    时间: 2008-7-24 17:38
原帖由 wtucel 于 2008-7-24 17:20 发表
Browser("Browser").Page("Page").Frame("window_1216887225828_content").WebEdit("txt_name").Set "test"
Browser("Browser").Page("Page").Frame("window_1216887225828_content").WebButton("确认").Click

你 ...

我觉得你说得有道理,如果真的没有别的方法只好用描述性编程试试,目前我还没用过,要去学习啦
作者: lilith    时间: 2008-7-24 17:45
用object Spy去抓取你要识别的对象吧 把所有的对象放在自定义的对象库里面,这样每次识别的就是你抓取得对象。名字和属性都可以自己更改,但是最好不要多增加属性,不然可能会出现识别错误。描述性性编程也是一种办法。要看项目需求了。
作者: 假装不在    时间: 2008-7-24 19:31
这个主要还是对象的识别问题。
作者: zte_boy    时间: 2008-7-24 23:31
智能识别惹得祸
作者: 小孩    时间: 2008-7-24 23:59
不推荐使用智能识别
作者: 假装不在    时间: 2008-7-25 09:44
标题: 回复 12# 的帖子
有时候也不得不用...
作者: zte_boy    时间: 2008-7-25 10:19
我觉得智能识别是为了懒人用的,呵呵
其实无论什么对象总有办法确定其唯一性的
作者: shifengboluo    时间: 2009-4-17 16:34
标题: 你的问题解决了吗?
我也遇到了类似的问题,也是用javascript编写的frame且()中的属性每次都是变化的,就4句脚本一个click操作回放特别慢,我用描述性编程尝试过了,但是速度没有什么提高,不知你的问题解决了吗?

[ 本帖最后由 shifengboluo 于 2009-4-17 16:40 编辑 ]
作者: virgolong    时间: 2009-4-17 22:01
我现在用的也是BS的程序,除了dialog和windows两种控件运行时较慢,其他都还好
最开始也是录制的脚板,结果发现程序一升级有些属性变了就不能运行了,后来改为描述性编程
作者: shifengboluo    时间: 2009-4-20 16:49
标题: 这个问题再顶一下
希望有高手帮忙解决下,现在回放个脚本慢死了~
作者: kasimxiao    时间: 2009-4-21 16:55
你会发现每次很慢的运行完后测试报告该对象都有一个“!”在前面
方法1:
用描述性变成
会变的对象名用正则
方法2:
在对象库中将该对象会改变的内容用正则代替

个人觉得方法2比较简单

[ 本帖最后由 kasimxiao 于 2009-4-21 16:56 编辑 ]




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