51Testing软件测试论坛

标题: QTP录制Frame.WebEdit,无法回放 [打印本页]

作者: 紫梦    时间: 2007-6-29 17:50
标题: QTP录制Frame.WebEdit,无法回放
使用QTP录制一个新增记录的操作,录制部分脚本如下:
Browser("*****").Page("*****").Frame("MainFrame").WebButton("btnInsert").Click     //点击新增按钮

'Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").Set "1"     //输入数据

Browser("*****").Page("*****").Frame("MainFrame").WebButton("btnSave").Click     //点击保存按钮

回放该脚本,执行set步骤时,无法继续执行,
提示信息如下图1:

[attach]28321[/attach]

对象库如下图2:

[attach]28322[/attach]

录制的web程序如下图3:
[attach]28323[/attach]

[ 本帖最后由 紫梦 于 2007-6-29 17:52 编辑 ]
作者: vincenthan    时间: 2007-6-29 17:59
回放的时候对象的部分属性发生了变化,去掉一些不必要的属性,具体去掉哪个就得具体问题具体分析了
作者: 紫梦    时间: 2007-6-29 18:02
那vincenthan  能否就针对我这个例子进行具体分析一下,要去掉哪些不必要的属性
作者: 紫梦    时间: 2007-6-29 18:06
在执行'Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").Set "1" 步骤时,如果手动把鼠标光标放在要输入的那个webedit,则可以顺利回放成功
作者: rivermen    时间: 2007-6-29 18:06
'Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").Set "1"  
先检查下执行到这里的时候 WebEdit("WebEdit") 出现了吗
加个wait 5

逐步排除干扰因素
作者: vincenthan    时间: 2007-6-29 18:17
我一般是先看xy坐标,有时要去掉或者重新定位,可以先试试,其他的属性一般就是要试了,看看哪个是识别这个控件必须的,这个跟软件开发环境好象都有一定关系,是不能一概而论的,我有时只保留了nativeclass一个属性都能识别,所以具体怎么做还是要根据自己的情况而定
作者: zhuyuancan    时间: 2007-6-29 18:41
问问,开发的这个控件怎么作的
作者: gzj_06    时间: 2007-6-29 20:35
我也遇到同样的问题,我录的语句是这样的:
Browser("****").Page("****").WebEdit("8765624").Set "精彩!"
而每次WebEdit后面括号里的数字会变掉,我于是增加了下面几句:
edit_id = Browser("****").Page("****").WebEdit("8765624").GetROProperty("name")
msgbox edit_id
Browser("****").Page("****").WebEdit(edit_id).Set "精彩!"
结果可以发现edit_id的值每次都可以打印出来,每次都不同,但是执行到下一句时就报错
作者: ybbiagu    时间: 2007-7-2 12:48
标题: 回复 #8 gzj_06 的帖子
你试试把这句话Browser("****").Page("****").WebEdit(edit_id).Set改成Browser("****").Page("****").WebEdit("属性名:="+edit_id).Set试试能不能行
作者: gzj_06    时间: 2007-7-2 16:51
原帖由 ybbiagu 于 2007-7-2 12:48 发表
你试试把这句话Browser("****").Page("****").WebEdit(edit_id).Set改成Browser("****").Page("****").WebEdit("属性名:="+edit_id).Set试试能不能行

果然OK,谢谢啊
PS:改动后的代码如下:
Browser("****").Page("****").WebEdit("name:="+edit_id).Set "good"
作者: stone821021    时间: 2007-7-2 20:55
原帖由 紫梦 于 2007-6-29 18:06 发表
在执行'Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").Set "1" 步骤时,如果手动把鼠标光标放在要输入的那个webedit,则可以顺利回放成功


楼主可以试试在set 步骤之前加上fireevent事件 让webedit先获得焦点.
Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").FireEvent "onfocus"
作者: whmwhm1107    时间: 2009-2-10 14:03
Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").FireEvent "onfocus"
没用啊
作者: whmwhm1107    时间: 2009-2-10 14:31
原帖由 gzj_06 于 2007-7-2 16:51 发表

果然OK,谢谢啊
PS:改动后的代码如下:
Browser("****").Page("****").WebEdit("name:="+edit_id).Set "good"


真的有用吗?兄弟




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