我想我会一直走在测试的道路上,既然 我已选择了测试这条路
欢迎测试界的XDJM一起交流、共同进步
QTP那点事之Action篇
上一篇 /
下一篇 2009-05-03 16:34:39
/ 个人分类:QTP
QTP那点事之Action篇
一、Action的管理
QTP的Test Flow也是一个层次结构,最顶层的Test工程,在工程下面挂着N个Action,通常每个Action有自己的功能,就像C语言的main函数与一般函数。在每个Action下,可能还有一个或多个的Action被调用。这就是Action的层次,一层层调用。由此就可以看出Action之间有两种关系,举个例子:
Test Flow下挂着Action1、Action2,而Action1下挂Action3、Action4,Action3下挂Action5。那么Action1和Action2之间就是兄弟关系,而Action1和Action3是父子关系。另外还有一种特殊的关系,Action1和Action5,它们通过Action3来联系。
二、Action的拆分和合并
Action可以通过Split Action拆分,形式就有兄弟或者父子两种。父子关系就存在调用。
Action的合并有多种方式。
Call一个新的Action、Call一个已经存在的Action和Call一个存在Action的拷贝。
而每种方式又有两种模式,在Test工程的结尾调用或者在当前步之后调用。
在Test工程的结尾调用:相当于与已经存在的Action是兄弟关系,而且新的Action在Test工程的末尾。
在当前步之后调用:就是在当前插入了一句调用新的Action的代码,当前步结束就执行被调用的Action
Action调用的语法:
RunAction "Action名",迭代次数,输入参数列表,输出参数列表
RunAction
"Action3", oneIteration,num1,num2,output
三、Action的迭代模式
Action的迭代次数根据两个因素:一是调用或者设置的迭代次数:oneIteration或者allIteration或者“1-n”;二是DataTable中的数据行数。Global是全局的,作为Test工程迭代数据、每个Action又有各自的sheet。
四、Action间的参数传递
Action间的参数传递可以通过设置来实现,也可以进行参数化,在Call
properties来进行设置。其中的参数传递必须要有直接的父子结构才行,如果像前面说到的Action1和Action5,它们就不能直接来进行参数的传递,而必须通过中间的Action3来实现。
五、Action间的变量访问和共享
1. 通过DataTable共享
DataTable对于每个Action都是可见的
2. 通过环境变量共享
环境变量也是Test工程的共享变量,但是个人认为要是环境变量太多,会不会难以管理?
3. 通过Action之间的参数传递
对Action的属性设置和对调用的属性设置来进行参数传递,只有有调用关系才能共享。
值得一提的是Public声明的变量并不能让Action间共享。
六、Action事务时间统计
一个小小的功能,提供对于一个事务的时间统计。
收藏
举报
TAG:
action
Action
QTP