51Testing软件测试论坛

标题: GUI map中有GUI,但脚本识别不到这个GUI?太奇怪了! [打印本页]

作者: queen    时间: 2006-9-13 12:16
标题: GUI map中有GUI,但脚本识别不到这个GUI?太奇怪了!
GUI map中已经存在了dw_3.price
Logical Name :
dw_3.price

{
class: edit,
obj_col_name: "dw_3.price"
}
脚本如下:
set_window ("入库事务 - [新增]", 10);
obj_type ("dw_3.lot","<kRight_E><kReturn>");
obj_type ("dw_3.qty","5<kReturn>");
obj_type ("dw_3.price","20<kReturn>"); #无法识别到脚本中的dw_3.price、dw_3.qty等等
obj_type ("dw_3.amt","<kReturn>");
。。。。。。

类似问题经常碰到,弹出Run Wizard后手工识别,但是临时性的,第二次运行又识别不了。我的错误在哪儿呢?

根据Run Wizard加入wait:
set_window ("入库事务 - [新增]", 10);
wait(10);
obj_type ("dw_3.lot","<kRight_E><kReturn>");
obj_type ("dw_3.qty","5<kReturn>");
obj_type ("dw_3.price","20<kReturn>"); #无法识别到脚本中的dw_3.price
obj_type ("dw_3.amt","<kReturn>");

[ 本帖最后由 queen 于 2006-9-13 12:20 编辑 ]
作者: queen    时间: 2006-9-13 12:26
我发现另外一个奇怪的问题, 不知道是否与问题相关:

GUI map editor的learn功能,图1的情况可以learn得到,但图2的情况却learn不到。

而用GUI SPY的SPY功能,设置为object,是可以learn得到 数量、价格等的编辑框。

我也把GUI SPY的SPY学到的属性,手工添加到GUI map editor中,但运行脚本还是识别不到。

[ 本帖最后由 queen 于 2006-9-13 12:31 编辑 ]
作者: 生如火花    时间: 2006-9-13 15:59
你贴一下这几个GUI的描述,在MAP里的,我认为是他们的GUI发生变化了
作者: queen    时间: 2006-9-13 16:20
GUI中的描述如下,他们的属性一般是固定的:
Logical Name :
dw_3.price

{
class: edit,
obj_col_name: "dw_3.price"
}

Logical Name :
dw_3.qty
{
class: edit,
obj_col_name: "dw_3.qty"
}

Logical Name :
amt
{
class: edit,
obj_col_name: "dw_3.amt"
}

我猜想GUI SPY 认到的GUI比较精确吧,可以手工指定到这个GUI的位置上,而对于已经在GUI map editor中的GUI,运行脚本时,因有的文本框是不被激活,

例如: 数量和价格框是可以激活来输入的,而金额却是静态的,是根据数量和价格的值自动算出结果填进去。这样运行脚本本,就导致了learn不到金额这种文本框。
作者: 重新开赌    时间: 2006-9-13 19:57
有几种可能,你定义的dw_3.price这个属性发生变化,还有就是你没有设定当前的windows(set_window),还有一种可能你没有设置等待点,因为你运行的脚本太快,也许你运行到这一步时候,你的控件还没有出现。

所以你的这种情况你需要单步调试来找到原因,然后再改进脚本!
作者: queen    时间: 2006-9-14 09:58
该问题已经解决了,现在可以识别到GUI了。

我想应该是你说的set_window的情况吧,但还不是很确定。
作者: 小李美刀    时间: 2006-9-14 10:11
对系统有了正确的设置后, 在正确的模式下工作, 还没有碰到无法回放的现象.
作者: queen    时间: 2006-9-14 11:29
我却经常碰到第一次Verify Run都可以通过了。并且是多次Run都通过了。

一旦关闭WR,重新打开这个脚本,就到处报错,识别不到GUI了,有的是在GUI map中已经存在的,有的是

没有在GUI map中,又要重新learn一次了!


对于没有在GUI map中的情况,可能是由于我操作失误引起:因用Rapidtest Script Wizard 时,并不会将系统中所有的GUI

都learn到 GUI map中。但是可以录制这些动作,第一次Run是可以的。关闭了WR后,再打开,就找不到录制时候的那些

GUI了。

[ 本帖最后由 queen 于 2006-9-14 11:41 编辑 ]
作者: foxmishy    时间: 2006-10-11 15:57
收藏一下!




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