本例使用简单的两个测试脚本说明参数的传递以及Action的调用,该例含2个Action, Action2调用Action1,在调用过程中传递参数给Action1做处理,同时获得相应的返回值.
注意Action1是否使用ExitAction方法的区别.
Action1的脚本:
Option Explicit
'添加两个参数:Input参数:inputPara, OutputPara参数:retOutputPara
Dim inputPara
inputPara = Parameter("strInputPara")
Msgbox inputPara
If Not inputPara = "" Then
Parameter("retOutputPara") = "The output parameter is " & inputPara
Else
Parameter("retOutputPara") = "The message is empty!"
End If
'使用ExitAction退出当前Action
ExitAction "Exit the action"
Action2的脚本:
Option Explicit
Dim returnMsg, returnMsg1, returnMsg2
'第一种调用Action1的方法,同时msgbox出Output参数值.输入的参数为:"Hello!".
RunAction "Action1", oneIteration, "Hello!", returnMsg
Msgbox "returnMsg is: " & returnMsg
'第二种调用Action1的方法,同时利用QTP的Parameter对象获取调用Action1后的Output值.
RunAction "Action1", oneIteration, "Hello!"
returnMsg1 = Parameter("Action1", "retMessage")
Msgbox "returnMsg1 is: " & returnMsg1
'第三种调用Action1的方法,请注意此时返回的值.
returnMsg2 = RunAction("Action1", oneIteration, "Hello!")
Msgbox "returnMsg2 is : " & returnMsg2
'注:使用第三种方法调用Action1的返回值为Action1中使用ExitAction时的参数值:"Exit the action"
有兴趣的朋友,可以使用该脚本到QTP的实际环境中测试一下.