Action 参数传递的三种方式

 

QTP提供三种参数传递方式:

  1. Parameter
  2. Environment
  3. DataTable

Parameter 函数传递参数

如:分别创建两个同级别 Action

OutPutAct:将参数传递出来

InPutAct :获取 OuputAct 传递出来的参数

在两个 Action 中设置输出与输入参数。

在关键字试图中,选择鼠标右键,[操作属性] 如下图:

在 OutPutAct 的 Action 中设置输出参数,设置参数名为 str

在 InPutAct 的 Action 中设置输入参数,设置参数名为 str

在 OutPutAct 的 Action 中需要对参数赋值:

Parameter("str") = "tester"

在 InPutAct 的 Action 中获取参数的值:

temp = Parameter("str")
msgbox temp

 

参数中转
虽然在 OutPutAct 与 InPutAct 中设置了输出与输入参数的过程,但运行起来仍然无法进行参数传递,需要一个中间过程进行保存参数。创建一个变量进行参数传递, 在QTP中创建一个新的 Action ,然后调度进行参数传递, RunAction 用途是执行一个 Action

Dim vars
'运行 OutPutAct Action,然后把参数输出的值保存到 vars 变量中
RunAction "Action1" , oneIteration , vars
'运行 InPutAct Action,然后将 vars 中的值传递给 InPutAct
RunAction "Action2" , oneIteration , vars

注意:在测试该小段脚本时,将测试流程中原先创建的OutPutAct 和InPutAct 删掉,要不会等于执行每个Action执行2次,其中一次是获取不到值的。

Environment 函数传递参数
采取 Environment 进行 Action 的参数传递更加简洁
在 OutPutAct 的 Action 中进行参数赋值

Environment("str") = "tester"

这语句完成两个过程
在环境变量中创建一个新的变量,名字叫 str
对这个新的变量进行赋值操作

在 InPutAct 的Action 中获取环境变量

temp = Environment("str")
MsgBox temp

 

DataTable 传递参数在
DataTable 中的 Global sheet 中创建一个新的字段,命名为 str
在涉及到不同的 Action 的参数传递,最好将参数设置到 Global Sheet 中。
设置与获取参数
在 OutPutAct 中进行参数的赋值操作

DataTable("str" , dtGlobalSheet).value =  "tester"

在 InPutAct 中进行取值操作

temp = DataTable("str" , dtGlobalSheet).value
msgbox temp


 

总结

三种模式进行参数传递的相同点:

  1. 都提供了一个参数保存的策略。

  2. 都提供了相对应的公共接口来进行参数传递的过程。

三种模式进行参数传递的差异:

参数有效性范围

Parameter:只能适用与参数定义的 Aciton 使用,不能在其他的 Action 中进行调用,参数命名也只要在本 Action 中不重复即可。

Environment:定义的变量适用于整个脚本,即任何一个 Action 都可以调用,所以在脚本内变量不能够重复。

DataTable:适用于整个脚本,而且通过 Sheet 的类型(Global、Local)作为一个变量的逻辑范围约定,在同一个Sheet中参数命名不能够重复。

参数的类型

Parameter 和 Environment :无法进行数组参数的传递。

DataTable:可通过多行数据的模式来替代数据的模式进行参数传递。

参数来源

Parameter 和 DataTable:参数来源仅只能在脚本中通过程序或者手工设置。

Environment :可以由其他脚本进行修改或者调用,可以在不同的 Run session 进行设置或者调用。



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值