intothehit 发表于 2007-2-1 11:29:35

插入同步点的问题

用的程序是 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:28

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:59

楼上的解答不对,我用的是描述性编程,GUI MAP 里没有 Insert Done... 这个对象,所以要先添加进去,那我直接加好了。我的要求是 GUI MAP 没有这个对象,但又要求 WR 能识别出来

intothehit 发表于 2007-2-1 14:47:00

去掉 MSW_class: Threed.SSPanel 后就没错了,不知道为什么,难道是 Threed.SSPanel 的问题。

dionysus 发表于 2007-2-1 15:28:40

原帖由 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:27

谢谢 BZ,搞定
页: [1]
查看完整版本: 插入同步点的问题