shrinerain 发表于 2008-2-19 14:44:19

发个WR的辅助DLL给大家.

今年开始学习WR, 工作要用WR测东西, 目前遇到了两个问题.
1. 验证图片不能放在任意位置, 就是调用obj_check_bitmap等函数, 它的bitmap参数不能制定任意位置.
   这样很不方便管理, 而且用QC等自动启动测试根本没法做了.

2. WR不支持.Net, 我要测试的程序里面很多控件是放在DataGridView中, WR根本找不到.
   OK,我还可以用虚拟对象来对付, 但是里面的CheckBox等控件的状态, 根本获取不到, 测都没法测了.

为了解决这些问题, 自己动手, 丰衣足食. 写个dll解决这些问题.
这个DLL包含三个函数.
int SetImgPath(string curTest,string imgPath);
string GetObjectValue(int x, int y);
int SetObjectValue(int x, int y, string value);

例子:
//当前测试使用D:\\Img文件下图片做验证, 这样你就可以把图片啥的都放在D:\Img文件夹下, 便于管理等.
SetImgPath(getvar("testname"),"D:\\Img");

//假设坐标(100,100)是一个Checkbox.
isChecked=GetObjectValue(100,100);
//isChecked是一个字符串, 如果为"True",表示选中,如果为"False",表示未选中.
//GetObjectValue(100,100)返回目标点下控件的"值信息", 返回"可见文字"或者"状态", 比如一个button, 返回的是button上的文字.

希望对大家有用...

meilihappy 发表于 2008-2-19 15:42:03

thanks

lantianwei 发表于 2008-2-19 15:57:43

原帖由 shrinerain 于 2008-2-19 14:44 发表 http://bbs.51testing.com/images/common/back.gif
今年开始学习WR, 工作要用WR测东西, 目前遇到了两个问题.
1. 验证图片不能放在任意位置, 就是调用obj_check_bitmap等函数, 它的bitmap参数不能制定任意位置.
   这样很不方便管理, 而且用QC等自动启动测试根本没法 ...
非常感谢LZ分享!:)

chlong200 发表于 2008-2-19 15:59:24

谢啦!!
对wr又多了了解,支持楼主

jolley 发表于 2008-2-19 17:05:21

首先谢谢你的共享,不过关于这个DLL,我有以下问题需要请教你,希望你能帮帮忙:
1 你是怎么样让WinRunner识别原来未被识别的对象的,就拿你解决的那两个问题说明,:)
2 你在DLL里面的对checkbox的支持,能取得checkbox里面对应的属性么,扩展一点, 你能取得原来未识别对象的子属性或者子窗口的属性?
3

WR不支持.Net, 我要测试的程序里面很多控件是放在DataGridView中, WR根本找不到.
   OK,我还可以用虚拟对象来对付, 但是里面的CheckBox等控件的状态, 根本获取不到, 测都没法测了.

看了上面的例子,总感觉跟虚拟化对象差不多,不过你是否解决了获取对应控件属性或者子窗口属性的问题,不然不是很好的,:),而且还有一个问题,能不能改成类似标准控件(toolbar,button,edit,icon,list,menu,scroll,table,object, window, general)的,象winRunner能识别的控件那样,不给出具体的坐标呢?因为如果坐标变了,还得修改脚本,你还得依赖测试员去记录控件的坐标。
4

验证图片不能放在任意位置, 就是调用obj_check_bitmap等函数, 它的bitmap参数不能制定任意位置.
   这样很不方便管理, 而且用QC等自动启动测试根本没法做了.

觉得你自己放在一个通用目录下面,并且按照一定规律存放不就好了么?可以在约定上面就可以做好的呀。
最后一个问题:怎么使用这个DLL呀?直接扔到arch目录,还是要做一些相关修改?
不好意思,请多多指教,不对的地方请帮忙斧正。先谢谢拉。

[ 本帖最后由 jolley 于 2008-2-19 17:13 编辑 ]
页: [1]
查看完整版本: 发个WR的辅助DLL给大家.