51Testing软件测试论坛

标题: 如何学习ListView控件做的表格? [打印本页]

作者: peutetre    时间: 2007-9-27 18:50
标题: 如何学习ListView控件做的表格?
最近测试的一个程序,大多数表格都是用ListView做的,WR自动和手动都无法学习,请问这种类型的控件要如何学习呢?
另外,我的测试目的是想要从这些ListView的表格中取到数据,有没有其他可行性高一点的方法,我曾经尝试过obj_get_text等好几函数,均由于识别不了窗口而无法执行。

请各位大虾帮忙,多谢了
作者: zhangtanyu    时间: 2007-9-27 21:32
给一个较土的办法,你可以先定位在表格中任意地方,然后输入Ctrl+Home来定位到表格的首格,接下来使用方向键来定位到要输入值或者读取值的单元格中,最后使用edit_set活着edit_get语句输入或读取单元格值。
作者: zhangtanyu    时间: 2007-9-27 21:33
还有一个土办法,使用虚拟控件的办法
作者: zhanghongxia86    时间: 2007-9-28 10:45
标题: 学习ListView控件做的表格
使用虚拟控件的办法
作者: peutetre    时间: 2007-9-28 18:32
还是不行啊,虚拟控件不能用obj_get_text之类的函数获取数据,我想要得到虚拟对象上的文字,有何方法?
作者: lantianwei    时间: 2007-9-29 08:59
public function VirtObjWndPos(in win,in vobj,inout out_x,inout out_y)
{
        auto hWnd,desc,file,in_x,in_y,vw,vh,outx,outy,z;
        win_activate(win);
        set_window(win,10);
        win_get_info(win,"handle",hWnd);
        GUI_map_get_desc(win,vobj,desc,file);
        GUI_desc_get_attr(desc,"x",in_x);
        GUI_desc_get_attr(desc,"y",in_y);
        GUI_desc_get_attr(desc,"width",vw);
        GUI_desc_get_attr(desc,"height",vh);
        z=ClientToWinCoord(hWnd,in_x,in_y,outx,outy);
        out_x=outx+int(vw/2);
        out_y=outy+int(vh/2);
}


function virt_obj_get_text(in button,inout txt)
{
        auto wind,desc,guifile,aarry[],colwidth,rowheight,x,y,x1,y1,x2,y2,text;
        wind=GUI_get_window();
        GUI_map_get_desc(wind,button,desc,guifile);
        GUI_list_desc_attrs(desc,aarry);
        VirtObjWndPos(wind,button,x,y);
        x1=x-int(aarry["width"]/2);
        y1=y-int(aarry["height"]/2);
        x2=x1+aarry["width"];
        y2=        y1+aarry["height"];
        win_get_text(wind,text,x1,y1,x2,y2);
        txt= text;
}
作者: lantianwei    时间: 2007-9-29 09:00
用上面的代码你可以试下!
作者: zhangtanyu    时间: 2007-9-30 00:30
版主的代码很不错,学习ing
不过有个疑问,使用这种方法需不需要让winrunner学习系统的字体等?
作者: lantianwei    时间: 2007-9-30 09:36
标题: 回复 8# 的帖子
那要看该虚拟对象了,如果有需要就应该加,不过我还真没用过WR学习系统字体这一功能




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