您的位置:首页 > 其它

Action 参数传递的三种方式

2012-05-15 13:52 155 查看
QTP提供三种参数传递方式:

Parameter
Environment
DataTable

Parameter 函数传递参数

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

OutPutAct:将参数传递出来

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

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

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



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

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

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

[plain]
view plaincopy

Parameter("str") = "tester"

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

[plain]
view plaincopy

temp = Parameter("str")
msgbox temp

参数中转

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

[vb]
view plaincopy

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 中进行参数赋值

[vb]
view plaincopy

Environment("str") = "tester"

这语句完成两个过程

在环境变量中创建一个新的变量,名字叫 str

对这个新的变量进行赋值操作

在 InPutAct 的Action 中获取环境变量

[vb]
view plaincopy

temp = Environment("str")
MsgBox temp

DataTable 传递参数在

DataTable 中的 Global sheet 中创建一个新的字段,命名为 str

在涉及到不同的 Action 的参数传递,最好将参数设置到 Global Sheet 中。

设置与获取参数

在 OutPutAct 中进行参数的赋值操作

[vb]
view plaincopy

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

在 InPutAct 中进行取值操作

[vb]
view plaincopy

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

总结

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

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

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

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

参数有效性范围

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

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

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

参数的类型

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

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

参数来源

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

Environment :可以由其他脚本进行修改或者调用,可以在不同的 Run session 进行设置或者调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: