飘雪 发表于 2006-4-18 16:30:14

采用complied Module录制脚本后,使用 win_exists函数检测打开窗口,返回值为:-1001

以wr的例子为例,进行登陆窗口的录制,录制时的参数设置为:
在GUI Map file per test模式下,选择test propertis ->test type 为complied Module进行脚本的录制,录制好脚本后再进行脚本的修改,把它定制为一个Open函数,然后再进行调用。在执行该函数时,用win_exists()函数检测,win_exists返回值为:E_NOT_IN_MAPPING。修改map 录制的模式为Global,同样修改脚本,执行时仍存在该问题。请问我得操作那存在问题?
附脚本如下:
static path =getenv("M_ROOT") & "\\samples";
        static app = "flight\\app\\flight4a.exe";
        static rc;
   public function open(in app_path)
{        
report_msg("path:" & app_path);
if(app_path=="")
   app_path = path & "\\" & app;
rc=invoke_application(app_path,"","", SW_SHOW);
   set_window ("Login", 4);
   if( win_exists("Login")==E_OK)
   {
       edit_set ("Agent Name:", "Nancy");
      obj_type ("Agent Name:","<kTab>");
        password_edit_set("Password:", "kzptnyoslzjsaz");
        button_press ("OK");
        rc = set_window ("Flight Reservation", 70);
        if(rc != E_OK)
        return (E_GENERAL_ERROR);               
    }
        else
          report_msg("open fail");
}

生如火花 发表于 2006-4-19 08:50:44

E_NOT_IN_MAPPING        -10011        Cannot find window or object in the GUI map.

飘雪 发表于 2006-4-19 13:14:30

原帖由 生如火花 于 2006-4-19 08:50 发表
E_NOT_IN_MAPPING        -10011        Cannot find window or object in the GUI map.
这点我知道,但是我不知道引起这个问题的原因是什么?我采用的是GUI Map file per test格式,它在打开脚本的时候应该自动调用map文件的呀?

生如火花 发表于 2006-4-19 14:56:21

说明你的当前窗口不在GUI MAP中,你可能载入了MAP,但跟当前的窗口的描述肯定不一样。

jbmw_dzg 发表于 2006-4-19 15:14:26

楼上的,在你调用这个函数之前,有call gui_load 函数把需要的gui file加载进来吗?

飘雪 发表于 2006-4-20 14:12:20

采用Global gui map file 模式,进行窗口的识别,然后再进行脚本的编辑后,该问题解决了。
页: [1]
查看完整版本: 采用complied Module录制脚本后,使用 win_exists函数检测打开窗口,返回值为:-1001