【转】QTP中不可重用操作与重用操作(Reusable Action)的应用

 

使用Action时,好多人其实对Action的重复使用还不是太了解,理解的不是太透彻。在此,希望借助这篇文章,能够将不可重用操作(Action)重用操作(Reusable Action)之间的区别及实际应用能解释清楚,为大家实际中的应用能有所帮助。

  • 不可重用操作 -该操作只能在其存储的当前测试脚本中调用,并且只能调用一次。

  • 可重用操作(Reusable Action) - 该操作可以由与其存储的当前测试调用,也可以让其他测试脚本多次调用的操作。

我们以一个例子来贯穿讲解。

例如,假设您要测试一个航班预定系统的几项功能。计划进行多项测试来测试各种业务流程,但每一项测试都需要相同的登录注销步骤。具体如下图所示,我们看到测试1、测试2、测试3都需要登录与注销步骤。

 

具体图例如下:



    通过图表,我们看到登录与注销在三个独立的测试脚本中是重复使用的。如果我们三个测试脚本,重复录制登录与注销,必然会造成硬盘空间的浪费。那如何节省硬盘空间,而且又能够实现测试流程?这时,就需要用到不可重用操作(Action)重用操作(Reusable Action)。

根据可重用与不可重用的定义,三个测试脚本流程,我们提炼出来重用的步骤为登录注销,因此这两块可以设置为重用操作(Reusable Action)。而预订、修改、取消则分别在其独立的测试脚本中定义为不可重用脚本。

1、首先我们测试1(预订航班),录制完的脚本如下图所示。

 

2、分离Action,测试1分离为登录、预订航班、注销。

  分离选中OK操作所在的下一行,右击选择 “Action”>“Split….”选择分割为兄弟(默认的第一个单选按钮,入下图所示)Action,分割为两个Action:Login、Insert。同理点击最后一行操作Menu,再进行分割,分别命名为Insert、Exit,最终分割的结果如下图所示。

 

 

 

3、对测试1(预订机票)分割完成后,在上图可以看到Login、Insert、Exit三个Action。默认分割完后,看到的三个Action均为可服用的。分析Insert该Action不重用,因此我们将其修改为不可重用的Action。右击Insert选择Action Properties,设置为不可重用(将复选框去掉),入下图所示。设置结果后的Aciton顺序如下图所示。最后保存测试脚本为预订机票。

              

4、在第3步中,我们可以在关键字视图中,可以看到可重用操作与不可重用操作的区别。如下我们建立测试脚本2(修改预订)。点击New(新建),然后点击关键字试图中一操作行,然后右击选择“Action”—“Insert Call to Existing...”如下图所示。

 

5、在弹出的Select Action对话框中,From test中选择保存的测试1(预订机票)脚本,选择后,在Action下拉中可以看到Login与Exit两个预订机票脚本中的可重用操作。

6、点击OK,在关键字试图,我们可以看到添加Login,如下图所示。

 7、点击Record and Run setting(在菜单栏Automation下),加载启动项,点击确定。

8、加载启动项工程后,点击Run,会看到QTP回放Login该Action。进入了飞机订票界面,Login运行停止后,我们不要关闭Flight。而是点击QTP上的Record,记录修改机票的操作,如下图所示。

 

9、将录制的修改预订设置分解为新的Aciton,命名为Update,并设为不可重用Action,如下图所示。


10、添加测试1保存的可重用操作Exit,添加步骤与第5步操作一样,添加后的结果,如下图所示。然后回放脚本,可以看到登录——修改——注销,成功完成。

11、然后对比保存的两个测试脚本文件,能够明显看到测试2(修改机票)保存的Action少了2个(登录与注销),如下图所示。

预订机票脚本


    修改机票脚本    

 

补充,在使用插入Action时,还可以看到有copy如下图,那copy与Existing有什么区别呢?

copy相当于把Action从其他保存的测试脚本中,copy到当前测试脚本中使用,而Existing是引用,使用同一个,Action位置没有发生变化。因此Existing只能引用可重用的Action(看不到不可重用的Action),也不能对引用过来可重用的Action做任何修改。而copy过来的,相当于自己的了,因此可以修改。

希望通过该篇文章,大家明白了,如何使用可重用Action与非可重用Action。

posted on 2012-04-05 23:02  大辉4266  阅读(772)  评论(0编辑  收藏  举报

导航