QTP之Action间传参
来源:互联网 发布:淘宝店招分层素材 编辑:程序博客网 时间:2024/05/22 17:40
QTP之Action间传参(转)
Action间传递参数的三个方法(变量访问和共享)
通过DataTable共享
DataTable对于每个Action都是可见的
通过环境变量共享
环境变量也是Test工程的共享变量
通过Action
对Action的属性设置和对调用的属性设置来进行参数传递,只有有调用关系才能共享。
注意:Public声明的变量并不能让Action间共享
调用带有参数的操作:
如果所调用的操作已定义了输入和/或输出参数,还可以提供输入参数的值以及输出参数的存储位置,作为RunAction语句的参数。输入参数在输出参数之前。
对于输入参数,可以指定一个固定值,也可以指定另一个已定义的参数(数据表参数、环境参数、或调用操作的操作输入参数)的名称。输入参数将采用该已定义参数的值。
对于输出参数,可以指定一个用于存储值的变量,或者是一个已定义参数的名称。
带有参数的调用使用以下语句:
RunAtion
例如,从Action1调用Action2,并且Action2有一个已定义的输入参数和一个已定义的输出参数。
RunAtion
为输入参数提供MyValue的字符串值,并将输出参数生成的值存在名为MyVariable的变量中。
RunAtion
DataTable(“out”,dtLocalSheet)
使用为Action1的input输入操作参数定义的值作为该输入参数的值,并将输出参数生成的值存储在Action1的数据表中名为out的一列中。
IterationQuantity(迭代次数):
oneIteration
allIteration
“1-4”
Action
'RunAction
Dialog("Login").WinEdit("Agent
msgbox
Dialog("Login").WinEdit("Password:").SetSecure
msgbox
Dialog("Login").WinButton("OK").Click
Dialog("Login").Dialog("Flight
Dialog("Login").WinEdit("Agent
Action间传参实例:
业务流程:登录系统——新建订单——生成订单编号——通过传递订单编号查询订单
用到QTP的知识:QTP中Action
Action
Nested为要按照嵌套模式划分,首先要划分一个main
main
RunAction
RunAction
RunAction
RunAction
RunAction
log_in
Dialog("Login").WinEdit("Agent
Dialog("Login").WinEdit("Password:").SetSecure
Dialog("Login").WinButton("OK").Click
new_order
Window("Flight
Window("Flight
Window("Flight
Window("Flight
insert_order
Window("Flight
Window("Flight
Window("Flight
Window("Flight
Window("Flight
Window("Flight
Window("Flight
wait
Window("Flight
open_order
Window("Flight
Window("Flight
Window("Flight
Window("Flight
log_out
Window("Flight
修改Action的传入、传出参数。
传入传出参数的数据类型建议只使用String型,且各只有1个。
传入的参数,是将数组转成字符串传入的,需要经过解析后才能使用。
action
1.在Key_Word视图中,在insert_order上右键,选择Action
2.在insert_order
在text前的复选框
在Output
3.在Key_Word视图中,在open_order上右键,选择Action
4.在open_order的Expert
Window("Flight
将main
main
RunAction
RunAction
RunAction
RunAction
总结:
如果是需要从Action_a传参数到Action_b
那么Action_a的Action
Action_b的Action
2个位置的parameters数量最好一致,变量名最好一致。
如果userName为其中一个参数
调用的时候
调用时加入参数
QTP的Test
Flow也是一个层次结构,最顶层的是Test工程,在工程下面包含N个Action,通常每个Action有自己的功能,就像C语言的main函数与一般函数。在每个Action下,可能还有一个或多个的Action被调用。这就是Action的层次,一层层调用。由此就可以看出Action之间有两种关系,举个例子:
Flow下包含着Action1、Action2,而Action1下包含Action3、Action4,Action3下包含Action5。那么Action1和Action2之间就是兄弟关系,而Action1和Action3是父子关系。另外还有一种特殊的关系,Action1和Action5,它们通过Action3来联系。
Action的拆分
形式只有兄弟或者父子两种。父子关系就存在调用。
Action的合并有多种方式。
Call一个新的Action、Call一个已经存在的Action和Call一个存在Action的拷贝。而每种方式又有两种模式,在Test工程的结尾调用或者在当前步之后调用。在Test工程的结尾调用:相当于与已经存在的Action是兄弟关系,而且新的Action在Test工程的末尾。在当前步之后调用:就是在当前插入了一句调用新的Action的代码,当前步结束就执行被调用的Action。
只运行单个Action
搜索到RunAction所在目录,文件存储位置下,找到Action0——Script.str,注释掉不需要的Action语句。
将action设置为
重新写一个脚本,调用要运行的action
如:新建一个脚本:callAction
RunAction
说明:insert
假设要在ActionA中调用ActionB
call
copy
Action的迭代模式
DataTable中的数据行数:Global是全局的,作为Test工程迭代数据、每个Action又有各自的sheet。
Action间的参数传递
Action间的参数传递可以通过设置来实现,也可以进行参数化,在Call
通过Action参数来传递数据
Action2的脚本如下:
'
Message
Msgbox
'
If
Parameter("ReturnMsg")
Else
Parameter("ReturnMsg")
End
'
ExitAction
'ExitAction
通过Action参数来传递数据:
3种调用Action的方法,Action1的脚本如下:
'
RunAction
Msgbox
'
RunAction
ReturnMessage2=
Msgbox
'
'
ReturnMessage3
Msgbox
通过全局数据表来共享数据:
通过全局数据表(Global
在Action1中设置参数值,Action1的脚本如下:
'
Set
'
Set
Set
'
Parameter1.Value="Hello"
Parameter2.Value="World!"
'
RunAction
在Action2中读取参数值,Action2的脚本如下:
'
Set
'
Set
Set
'
Msgbox
检查点总结:
文本检查点:用于检查文本字符串是否在应用程序中的适当位置出现。适用于所有的环境。
文本域检查点:检查文本字符串是否出现在Windows
位图检查点:把网页或者应用程序的某个区域当作位图来检查。适用于所有的环境。
图像检查点:用于Web页面中的图像属性,如图像类型、图像名称、图像文件来源、图像内容等。只适用于WEB页面。
位图检查点会检查两张图的外观是否一致,比如分辨率、颜色、对比度等。而图像检查点只检查图像的属性,当只勾选图像的名称时,即使图像内容不一致,检查也是通过的。
插件与检查点的关系:
Smart
如何开启Smart
Test
Test
在QTP中,对于多个Action测试,可以进行批量运行测试:
可以使用QTP自带的工具“Test
为了让“Test
步骤:通过选择“开始
- QTP之Action间传参
- QTP的Action模板
- QTP Action篇
- QTP 调用动态Action
- QTP 调用动态Action
- QTP的脚本Action模板
- QTP的脚本Action模板
- QTP学习之Action调用函数库文件中函数几种方法
- QTP添加新的action中之对象库的关联
- QTP中Action的参数调用
- 该使用QTP的Action还是Function?
- QTP中判断Action运行是否超时
- QTP如何设置Action的模板
- QTP Action级别的参数调用
- QTP中的Action有什么作用?有几种?
- QTP中action使用,包括多action复用(转)
- QTP之网页链接
- qtp之键盘操作
- 常用排序
- sbt教程
- iOS网络连接判断
- 临时
- mysql 5.6 my.cnf
- QTP之Action间传参
- 网络编程基础4-获得网络信息getnetent
- UITableView删除添加,移动,分区,索引,自定义UITableViewCell
- android 的四种枚举
- HTML学习笔记之多媒体网页效果
- 使用线程池的好处
- PHP程序员的工作职责与薪酬待遇 -兄弟连IT教育
- java基础回顾----多态
- ABOUT FEATURE INTERFACE DEFINITIONS