51Testing软件测试论坛

标题: 插入同步点的问题 [打印本页]

作者: intothehit    时间: 2007-2-1 11:29
标题: 插入同步点的问题
用的程序是 flight,想在插入订单后等待 Insert Done... 再继续脚本,但是出现以下问题


obj_wait_info ("{class: object,MSW_class: Threed.SSPanel,MSW_id: 0}","label","Insert Done...",5);

老是这一行提示语法错误,怎么回事? 以下是 GUI SPY 的识别

{displayed: 1,width: 270,x: 26,y: 405,abs_x: 234,class: object,MSW_class: "Threed.SSPanel",abs_y: 559,maximizable: 0,focused: 0,height: 20,active: 0,MSW_id: 0,handle: 1837772,minimizable: 0,nchildren: 0,label: "Insert Done...",enabled: 1,TOOLKIT_class: "Threed.SSPanel"}

去掉 MSW_id 后还是提示语法错误
作者: shiwomyw    时间: 2007-2-1 13:41
obj_wait_info ("{class: object,MSW_class: Threed.SSPanel,MSW_id: 0}","label","Insert Done...",5);函数的第一个参数应该是一个OBJ的逻辑名称,而且觉着你应该等待属性信息应该是“enabled”.
试试这样用:obj_wait_info("Insert Done...","enabled",1,10);

[ 本帖最后由 shiwomyw 于 2007-2-1 13:42 编辑 ]
作者: intothehit    时间: 2007-2-1 14:39
楼上的解答不对,我用的是描述性编程,GUI MAP 里没有 Insert Done... 这个对象,所以要先添加进去,那我直接加好了。我的要求是 GUI MAP 没有这个对象,但又要求 WR 能识别出来
作者: intothehit    时间: 2007-2-1 14:47
去掉 MSW_class: Threed.SSPanel 后就没错了,不知道为什么,难道是 Threed.SSPanel 的问题。
作者: dionysus    时间: 2007-2-1 15:28
原帖由 intothehit 于 2007-2-1 11:29 发表
用的程序是 flight,想在插入订单后等待 Insert Done... 再继续脚本,但是出现以下问题


obj_wait_info ("{class: object,MSW_class: Threed.SSPanel,MSW_id: 0}","label","Insert ...

在GUI Spy中显示的 MSW_class: "Threed.SSPanel" 这里应该加上“”的,但是加上引号后会打断描述性编程的结构,你可以尝试这样写:obj_wait_info ("{class: object,MSW_class: \"Threed.SSPanel\",MSW_id: 0}","label","Insert Done...",5); 使用 \ 把引号转一下

PS:最近看了一些QTP的文章,有不少介绍描述性编程的。个人感觉描述性编程是一种摆脱GUI Map的方法,但实际使用中并不一定非要追求,使用逻辑名称可以让代码简单明了,维护起来也容易。不要让自动化本身就给我们添麻烦sdlkfj2
作者: intothehit    时间: 2007-2-2 09:23
谢谢 BZ,搞定




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