51Testing软件测试论坛

标题: 如何把一个值传到被一个调用脚本中 [打印本页]

作者: lyu林    时间: 2007-4-5 18:09
标题: 如何把一个值传到被一个调用脚本中
如题
想把下面这个脚本中ld_path的值
# LiveUpdate登入
   static ld_path = "D:\\Program Files\\Mercury Interactive\\新建文件夹\登入\liveupdate登入\LiveUpdate.GUI";
   call "D:\\Program Files\\Mercury Interactive\\新建文件夹\\登入\\loadGUI"();
   win_wait_info("LiveUpdate","enabled",1,30);
   set_window ("LiveUpdate", 1);
   button_press ("开始");
   GUI_unload(ld_path);
传到被它所CALL的"D:\\Program Files\\Mercury Interactive\\新建文件夹\\登入\\loadGUI"(); 这个脚本中   
  public function report_load_gui(ld)
  {
    auto i,file[],n;
    GUI_unload_all();
    GUI_load(ld);
    GUI_list_map_buffers(file,n);
   for(i in file)
     {
       i=i;
     }
    if(file != ld || file == "")
      {
        report_msg("Cannot load GUI.");
        texit;
      }
    else
     {
       report_msg("load GUI OK.");
     }
  }
  report_load_gui(ld_path);#调用函数report_load_gui

应该在代码中补充什么呢?
请高手指点迷津!


[ 本帖最后由 lyu林 于 2007-4-5 18:14 编辑 ]
作者: shiwomyw    时间: 2007-4-5 21:57
方法1:可以把ld_path这个变量定义成public型的,其它脚本也可以使用。
方法2:修改脚本loadGUI中的test properties中的parameters中添加传入参数ld. 然后再调用脚本loadGUI时就可以直接传参了。如  call "D:\\Program Files\\Mercury Interactive\\新建文件夹\\登入\\loadGUI"(ld_path);
你的函数不知道可不可以运行通,我觉着应该标明是传入参数还是传出参数。
public function report_load_gui(in ld)
  {
    auto i,file[],n;
    GUI_unload_all();
    。。。。。。。

[ 本帖最后由 shiwomyw 于 2007-4-5 21:59 编辑 ]
作者: dionysus    时间: 2007-4-5 22:47
关于WR传递参数的可以看我以前写过的一个帖子
http://www.51testing.com/?5939/action_viewspace_itemid_1222.html
作者: lyu林    时间: 2007-4-6 08:34
谢谢两位,我去试试看sdlkfj1
作者: lyu林    时间: 2007-4-6 09:43
试过了可以传参了,但是出现了个小问题
出错提示:warning:Test D:\Program Files\Mercury Interactive\新建文件夹\登入\loadGUI:too many arguments.
不影响预计结果,但是会弹出提示框。
请教需要在哪改进。
##############
    static ld_path = "D:\\Program Files\\Mercury Interactive\\新建文件夹\登入\liveupdate登入\LiveUpdate.GUI";
    call "D:\\Program Files\\Mercury Interactive\\新建文件夹\\登入\\loadGUI"(ld_path);
    GUI_close_all;
#############
#D:\\Program Files\\Mercury Interactive\\新建文件夹\\登入\\loadGUI"(ld_path)脚本
  public function report_load_gui(in ld)
  {
GUI_close_all();
    if(GUI_load(ld) != 0)
   {
     report_msg("GUIload error!");
  texit;
   }
else
   {
     report_msg("GUIload OK!");
   }
  }
  report_load_gui(ld_path);

[ 本帖最后由 lyu林 于 2007-4-6 10:34 编辑 ]
作者: shiwomyw    时间: 2007-4-6 23:04
楼上是在Loadgui脚本的test properties中设置了传入参数"ld",如果是的话,试试把脚本中最后一句调用函数的语句注释掉,#report_load_gui(ld_path);这样应该不会措错误提示了?
作者: lyu林    时间: 2007-4-9 11:42
sdlkfj1 ,注释掉了#report_load_gui(ld_path);,错误提示还是会出。也不知道问题出在哪里,又不会影响结果!奇怪得很。




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