51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2750|回复: 2
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-8-18 16:29:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序的信息列表 如同 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[i+16]);却无法正常选择;
2  obj_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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-8-23 14:55:34 | 只看该作者
1 问题暂时解决,采用 scroll_max ("TStringGrid", VSCROLL);  tbl_set_selected_cell("table_16rows", row[i-42], "#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[i-42], "#0");
    obj_get_info("TEdit_1","enabled",count2);       
     type(count2);
    if(count1==count2)
        continue;
   }
  .....DDDDD....
}
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-8-25 23:10:54 | 只看该作者
添加到Watch表里实时观察
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-22 05:45 , Processed in 0.069160 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表