UML软件工程组织

在WinRunner 7中识别Delphi控件
作者:海松宝  来源:网络 

优点:
 不必购买昂贵的Addin即可识别相应的控件,并进行测试脚本的录制和回放;
 可以自定义识别大部分的常用控件,而且可以保存下来供长期使用;

 缺点:
 应用程序中控件的位置是固定的,不能随着窗口或分辨率的变化而变化;
 一个窗口中不能有两个同类的控件位置相同;
 部分控件还是不能识别;
 虽然有不少缺点,但总算可以不必购买昂贵的Addin就录制和回放大部分的自动测试脚本了。 

以下以Delphi中的TEdit控件为例,进行说明。

步骤:

第一部分 如何识别Delphi控件

 查看WinRunner本身的识别情况。
 1.1 运行WinRunner,打开菜单【Tools】-【GUY Spy】,进入GUI Spy窗口;
 1.2 点击“Spy”按钮,在要识别的控件(TEdit)上点击左键,GUY Spy窗口中显示控件的属性,如下图:

 
 1.3 我们可以看到GUI Spy识别不出TEdit控件的类,而是认为它是一个Object;

 增加新的类

 2.1 推出GUI Spy后,打开【Tools】-【GUI Map Configuration】,进入“GUI Map Configuration”窗口,如图:



 2.2 点击“Add”按钮,出现“Add Class”窗口;
 2.3 点击手形按钮,然后将光标移到指定的控件上点击左键,然后点击“OK”按钮,返回“GUI Map Configuration”窗口,窗口中增加了新增的Class;
 2.4 选中刚刚增加的Class(TEdit),点击“Configure”按钮,进入“Configure Class”窗口;
 2.5 选择“Mapped to Class”为该对象所继承自的Class(Edit),选择“Available”中的x属性,点击“Obligatory”下的“Insert”按钮,增加x属性,同样增加y属性;


 2.6 点击“OK”按钮,返回“GUI Map Configuration”窗口,再点击“OK”按钮,返回到WinRunner窗口;

重新用GUI Spy识别TEdit对象,发现识别出来的Recorded属性中Class为Edit,位置也记录下来,而All Standard属性中有了Value属性,这是测试中经常用到的。

可以用同样的方法将其他控件的类增加,以便测试时能够正确识别和回放。

 第一部分的内容就讲完了,我想一些看了的朋友已经迫不及待地在制作其他控件的类了吧!不过马上就会有人说:“怎么保存我制作的内容呀!我重新运行WinRunner时这些内容就不在了,如果每次都要这样的话,那有什么用呀!”

不要急,在第二部分,我将要讲到如何将这些类做成能够永久识别的内容。

第二部分 制作永久识别的内容

 在第一部分中我说到了如何识别Delphi控件,可是不能保存。其实,第一部分的主要目的是要让大家知道该怎么识别Delphi控件,在第二部分,我将向大家说明如何将这些类做成能够永久识别的内容。以下是具体的步骤:

在第一部分的步骤 2.5,添加好属性后,我们可以看到在窗口下方的“Gererated TSL Script”框中有几行脚本,这就是让WinRunner能够正确识别控件的关键地方了,我们先把这三句脚本的前面两句Copy下来(干什么用?先别急,会告诉你的!);

 
 然后,我们打开WinRunner的安装目录,在“lib\vbinit”这个子目录下面,我们可以看到一个名为“script”的文件,用UltraEdit编辑这个文件,可以看到文件中有很多的脚本,这就是第二部分的关键所在了;

找到以下两句话:
 #VB objects supprt
 #OCXs that are mapped can be found in 'oleinit'然后将我们刚才Copy的两句脚本粘贴在这两句话的前面,保存;

重新运行WinRunner,启动时加载 VB 的 Addin ,然后选择用 GUY Spy 再对控件进行识别,怎么样?可以正确识别控件了吧!再用第一部分的方法,将各种控件的类增加,然后将“Gererated TSL Script”框中的前两行脚本 Copy 下来粘贴到这个文件中;

编辑并保存好这个文件之后,还有一个注意事项就是:运行WinRunner时,要加载 VB 的 Addin。当然,你愿意将脚本保存到 PB 的script文件中,然后加载PB的Addin,我也是没办法的咯!

好了!方法已经讲完了,希望能够对大家有所帮助,在节省银子的同时能够好好学习、利用WinRunner这个强大的功能测试工具。


版权所有:UML软件工程组织