joycena 发表于 2006-8-18 16:29:50

如何让WR自动测试表格/列表不可见区域

程序的信息列表 如同 excel,当数据较多时,表格右侧将出现滚动条,
录制时,选择某行采用 虚拟对象 list或table类,但选择类时,行数要求是可见区域的行数.回放时,也只能回放当前可见区域的行,
那么通过滚动条 实现的 表格 后半部分,各行该如何选择呢?

GUI_load("F:\wr_learning\score-vir\score-vir.gui");
rows[]={"#0","#1","#2","#3","#4","#5","#6","#7","#8","#9","#10","#11","#12","#13","#14","#15","#16"};
win_activate("CasinoW: W0 rH __ R_ m_ R_ |û ~ß (V1.0)_0");
        set_window ("CasinoW: W0 rH __ R_ m_ R_ |û ~ß (V1.0)_0", 1);
for(i=0;i<=16;i++)
{   
        list_select_item("list_16rows", rows);
        obj_mouse_click("edit_open", 27, 3, LEFT);
        button_press("num_1");
        button_press("num_0");
        button_press("num_0");
        button_press("num_0");
        button_press("num_0");
        button_press("button_open");
        obj_wait_bitmap("TBitBtn_36", "Img3", 25);
}

如上面 脚本中
1 若想对row为 17-30 的各行做同样操作,而我将程序改为 list_select_item("list_16rows", rows);却无法正常选择;
2obj_wait_bitmap("TBitBtn_36", "Img3", 25);同步,尽管 将临时GUI MAP 保存并调用了,再次回放时提示找不到对象;
3对象 TBitBtn_36 实际的虚拟名为 button_open,若在 obj_wait_bitmap("TBitBtn_36", "Img3", 25);改为button_open,却
    提示:不支持虚拟对象;
   所以目前只能用wait()来代替实现;
4 最后请问, 用同步 与用 wait() 两者最大的利弊是什么呢?   象 C++语言中, 一般会尽量选择不用wait()语句的.

希望各位能多多赐教,帮助偶个 菜鸟 多多进步......3Q

joycena 发表于 2006-8-23 14:55:34

1 问题暂时解决,采用 scroll_max ("TStringGrid", VSCROLL);tbl_set_selected_cell("table_16rows", row, "#0");通过滚动条及选择可见表格的行,来实现不可见区域的选择(本例中虚拟对象更改list类为table类).
2 同步实现不了,只能用 wait()来实现,虽然效果可能不是很好.

可叹,问题提了N天了,都无人问津,只好自问字答了...希望给象我一样的菜鸟门给点启发.
更希望 高手门,能对我的解决方法 提出建议

同时有了新问题:
1为什么我使用 type(); report_msg() 都没什么提示信息可供我查看呢?
2某循环中,使用 if语句,若成立则continue,但理论上 至少有几次会执行DDD操作,可实际一次都没.(因为查看不到 count1 和count2 ,所以不能判断 该值是否对,本人意图是 从编辑框取得数字,判断是否一致)
for(......)
{
   if(...)
{
    obj_get_info("TEdit_1","enabled",count1);               
   type(count1);
    scroll_max ("TStringGrid", VSCROLL);   #将滚动条移至底部。若小于 56个,则此方案行;
    tbl_set_selected_cell("table_16rows", row, "#0");
    obj_get_info("TEdit_1","enabled",count2);       
   type(count2);
    if(count1==count2)
      continue;
   }
.....DDDDD....
}

shyfish 发表于 2006-8-25 23:10:54

添加到Watch表里实时观察
页: [1]
查看完整版本: 如何让WR自动测试表格/列表不可见区域