terrylight 发表于 2007-3-22 15:23:23

下拉菜单问题

我根据论坛上面的一些贴子设计了
               set_window ("Flight Reservation", 8);
        edit_set ("Date of Flight:", "11/11/11");
        list_get_items_count ("Fly From:",a);# Item Number 1;
        report_msg(a);        list_select_item ("Fly From:", a-1);
        list_select_item ("Fly To:", a-1);# Item Number 1;
        obj_mouse_click ("FLIGHT", 56, 35, LEFT);
这样的代码,但是我发现它不能把 flyfrom的列表值获取出来,还有一个菜鸟问题就是report_msg是不是一个弹出窗口?就象qtp的msgbox一样?如果不是那么在wr里面怎么查看我是否读出了列表的值?

[ 本帖最后由 terrylight 于 2007-3-22 17:01 编辑 ]

terrylight 发表于 2007-3-22 17:01:18

有没有人知道啊?看了论坛的贴子,不行啊,谁看看这段代码错在哪里?

lsy325 发表于 2007-3-22 19:38:50

list_get_items_count ( list, out_num );这个函数是用来返回列表项目数的。
返回列表选项的内容使用函数list_get_item ( list, item_num, out_value );
report_msg ( message );是往测试报告里写信息,在执行过程中不会出现弹出窗口,在测试执行完成后,可在测试报告中查看.
pause ( [ expression ] );函数会暂停测试执行,出现弹出窗口显示提示信息.

lsy325 发表于 2007-3-22 19:42:02

list_select_item ("Fly From:", a-1);
list_select_item ("Fly To:", a-1);
这两名有问题.
list_select_item函数,要选择的列表项如果用数字代表时,数字前要加上#号.

[ 本帖最后由 lsy325 于 2007-3-22 19:44 编辑 ]

terrylight 发表于 2007-3-23 09:14:33

谢谢ls的,我试试看

terrylight 发表于 2007-3-23 09:26:10

list_get_item ("Fly From:",3,value);
pause ( [ expression ] );
我试了,返回对话框error in argument list是什么意思?

lsy325 发表于 2007-3-23 10:18:59

pause ( [ expression ] );函数中的 [ expression ]代表的是你想要在弹出窗口中显示的提示信息.
例如:

list_get_item ("Fly From:",3,value);
pause (value);#在弹出窗口中显示("Fly From:"列表选项第三项的内容,列表项序号从0开始.

terrylight 发表于 2007-3-23 10:51:00

已经搞定了,谢谢lsy的耐心指导,我发现
# Flight Reservation
        win_activate ("Flight Reservation");
        set_window ("Flight Reservation", 2);
        edit_set ("Date of Flight:", "11/11/11");
        list_get_items_count ("Fly From:",a);
        list_get_items_count ("Fly To:", b);
        for(i=0;i<a;i++){
          for(j=0;j<b;j++){
           for(k=0;k<c;k++){
        list_select_item ("Fly From:", "#"&i);# Item Number 2;       
                list_select_item ("Fly To:", "#"&j);# Item Number 1;
        obj_mouse_drag ("FLIGHT", 35, 48, 34, 48, LEFT);
        set_window ("Flights Table", 0);
        list_get_items_count ("Flight", c);
        #for(k=0;k<c;k++){
# Flights Table
        set_window ("Flights Table", 0);
        list_select_item ("Flight", "#"&k); # Item Number 3;
        button_press ("OK");
          }
        }
}
        obj_mouse_drag ("FLIGHT", 35, 48, 34, 48, LEFT);
       
# Flights Table
        set_window ("Flights Table", 0);
        list_select_item ("Flight", "13540   FRA   10:24 AM   LON   11:09 AM   SR   $167.10"); # Item Number 3;
        button_press ("OK");

# Flight Reservation
        set_window ("Flight Reservation", 6);
        edit_set ("Name:", "terry");
        button_set ("Business", ON);
        button_press ("Insert Order");
        set_window ("Flight Reservation", 7);
        obj_mouse_click ("Button", 21, 14, LEFT);
红色的标识载运行第一遍可以识别,到第二遍死活不识别,我重新learn了一下还是不行,就这一句不识别,不知道怎么回事情,用step运行了几次后再次运行发现for语句也不执行了,直接三句for语句执行好之后跳到}下面,不知道怎么回事情sdlkfj2

lsy325 发表于 2007-3-23 11:17:35

for(k=0;k<c;k++)这个循环条件设置有问题.
在这个语句执行时,c变量还没有赋值,程序执行时,根本不会执行循环体中的内容.

lantianwei 发表于 2007-7-13 15:41:04

牛啊 循环看的我头都晕了

zlfy1982 发表于 2007-7-18 11:38:51

不懂!

yzx0324 发表于 2007-9-23 16:35:32

lsy好厉害
页: [1]
查看完整版本: 下拉菜单问题