紫梦 发表于 2007-6-29 17:50:01

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:



对象库如下图2:



录制的web程序如下图3:


[ 本帖最后由 紫梦 于 2007-6-29 17:52 编辑 ]

vincenthan 发表于 2007-6-29 17:59:26

回放的时候对象的部分属性发生了变化,去掉一些不必要的属性,具体去掉哪个就得具体问题具体分析了

紫梦 发表于 2007-6-29 18:02:44

那vincenthan能否就针对我这个例子进行具体分析一下,要去掉哪些不必要的属性

紫梦 发表于 2007-6-29 18:06:20

在执行'Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").Set "1" 步骤时,如果手动把鼠标光标放在要输入的那个webedit,则可以顺利回放成功

rivermen 发表于 2007-6-29 18:06:44

'Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").Set "1"
先检查下执行到这里的时候 WebEdit("WebEdit") 出现了吗
加个wait 5

逐步排除干扰因素

vincenthan 发表于 2007-6-29 18:17:22

我一般是先看xy坐标,有时要去掉或者重新定位,可以先试试,其他的属性一般就是要试了,看看哪个是识别这个控件必须的,这个跟软件开发环境好象都有一定关系,是不能一概而论的,我有时只保留了nativeclass一个属性都能识别,所以具体怎么做还是要根据自己的情况而定

zhuyuancan 发表于 2007-6-29 18:41:39

问问,开发的这个控件怎么作的

gzj_06 发表于 2007-6-29 20:35:31

我也遇到同样的问题,我录的语句是这样的:
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:55

回复 #8 gzj_06 的帖子

你试试把这句话Browser("****").Page("****").WebEdit(edit_id).Set改成Browser("****").Page("****").WebEdit("属性名:="+edit_id).Set试试能不能行

gzj_06 发表于 2007-7-2 16:51:12

原帖由 ybbiagu 于 2007-7-2 12:48 发表 http://bbs.51testing.com/images/common/back.gif
你试试把这句话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:20

原帖由 紫梦 于 2007-6-29 18:06 发表 http://bbs.51testing.com/images/common/back.gif
在执行'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:44

Browser("*****").Page("*****").Frame("MainFrame").WebEdit("WebEdit").FireEvent "onfocus"
没用啊

whmwhm1107 发表于 2009-2-10 14:31:20

原帖由 gzj_06 于 2007-7-2 16:51 发表 http://bbs.51testing.com/images/common/back.gif

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

真的有用吗?兄弟
页: [1]
查看完整版本: QTP录制Frame.WebEdit,无法回放