飞飞 发表于 2005-3-3 11:13:26

当我们要检查页面上wr不认识控件中的数据的正确性的时候,该怎么办?

因为wr有些控件不认识,例如grid,对于一些页面上的数据我们不能通过工具检测,我想可不可以这样做?
写一个dll,实现拷屏功能,并保存起来,dll的传入参数是这个图存放路径和图名称。

然后在wr中当要检查页面上数据是否正确的时候,就调用这个dll,先把屏幕拷下来,存放在一个地方,测试完成后,再看这个图查看数据是否正确。

不知道那位高手能写一个能实现拷屏的dll文件。不胜感激,还有如果那位能有更好的办法,也可以说出来。

shyfish 发表于 2005-3-3 11:47:01

这样做和image checkpoint有什么区别?

肚皮 发表于 2005-3-3 12:11:31

这样做明显是行不通的,拷屏后的数据又如何区下来?

肚皮 发表于 2005-3-3 12:11:41

这样做明显是行不通的,拷屏后的数据又如何区下来?

飞飞 发表于 2005-3-4 11:35:12

to:shyfish
image checkpoint要先录制正确的图,才能做比较。我这样不需要先知道正确的图是什么样子,只需等脚本回放完后,自己再去检查拷屏的图中的数据是否正确。
to:肚皮
拷屏后数据的正确性是不能够取下来的,当然这个也有避短,不能完全自动化。我只是想在脚本回放完后,查看在当时这个页面上的数据是否正确,如果错了我也知道是怎么回事,并不需要再把这个数据取下来做什么事情。
当然如果能取下来更好,但这也是没办法啊!

我现在就想知道怎么写这个拷屏的dll文件,或者function也可以?

shyfish 发表于 2005-3-4 12:31:35

一个简单的DLL

从CSDN上找了段代码,写了个简单的DLL,看看符不符合你的要求:
DLL export:
extern "C" __declspec(dllexport) BOOL CopyScreen(const char* dir, const char* name);
导出函数是这样定义的(就这一个)
需要传入两个参数:dir,就是目录,如"C:\\",name,如“wr",文件名,默认存成bmp格式,不能自己加后缀名,调用后就会复制当前屏幕内容(整个屏幕的),存成:C:\\wr.bmp
DLL开发环境:VC6.0 + WIN2000EN

使用步骤:
1、把这个DLL复制到系统目录下,或者在系统能找到的目录,比如winnt\system32目录下
在WR中这样使用:
extern int CopyScreen(in string, in string);
load_dll("CopyScrDll.dll");
CopyScreen("C:\\", "wr");
unload_dll("CopyScrDll.dll");
这样就可以了

如果有问题可以再问我

[ Last edited by shyfish on 2005-3-4 at 12:35 ]

shyfish 发表于 2005-3-4 12:36:48

还有,如果更改了DLL的名字,WR脚本中的load也要作相应的改变

RandyTsai 发表于 2005-3-4 12:44:30

高手!

飞飞 发表于 2005-3-4 13:34:50

非常感谢,我先试一试

飞飞 发表于 2005-3-4 13:44:17

太感谢shyfish了,非常成功

wss123 发表于 2005-3-4 14:38:51

winrunner不能识别的如gird控件 ,可以试试用虚拟对象来识别它,7.6版本在tools->virtual object wizard ,它的物理属性以在屏蔽中的x,y位置来标识的

hihihaha910 发表于 2005-8-14 13:11:35

不错,不错。好东西,大家要收藏

sinpa 发表于 2005-8-25 10:45:01

wo顶顶顶顶顶

不错,我也顶一下

魏乐 发表于 2005-9-4 15:46:25

好贴

强顶!!感谢各位高手阿

www.super.zc 发表于 2005-9-5 11:13:47

shyfish请求你加我为好友

msn:super_zhch@hotmail.com
qq:63212000

www.super.zc 发表于 2005-9-5 11:15:52

wss123 的方法,我们不认同!

在实际的项目中要的是稳定性,界面不可能一直不变!所以虚拟的东西我们建议不能用!

covicvv 发表于 2006-3-4 14:08:45

不需要写dll吧 win_capture_bitmap不就行了!搞这么负杂

亲亲 发表于 2006-3-10 13:09:39

请加我!

我是个初学者,希望各位高手多多指教。
我的MSN:tansun1205@hotmail.com

swiftzhy 发表于 2006-3-12 22:52:23

我们要检查页面上wr不认识控件中的数据的正确性的时候,该怎么办?

obj_get_text ( object, out_text );
win_get_text ( window, out_text );
用这两个函数可以获取数据,但长度有限制。如grid数据多不可能完全得到
页: [1]
查看完整版本: 当我们要检查页面上wr不认识控件中的数据的正确性的时候,该怎么办?