Action参数传递(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Action2的脚本如下:
' Input Parameters
Message = Parameter("Msg")
Msgbox Message
' Output Parameters
If NOT Message = "" Then
Parameter("ReturnMsg") = "The Message is " & Message
Else
Parameter("ReturnMsg") = "The Message is Empty!"
End If
' RetuenValue
ExitAction "HAHAHAHHAHA!!!!!"
'ExitAction Parameter("ReturnMsg")
3种调用Action的方法,Action1的脚本如下:
' 调用Action2,输入参数为“ Hello!”,把输出参数值写到ReturnMessage1变量
RunAction "Action2", oneIteration,"Hello!" ,ReturnMessage1
Msgbox ReturnMessage1
' 调用Action2,输入参数为“ Hello!”,通过Parameter方法读取输出参数值RunAction "Action2", oneIteration,"Hello!"
ReturnMessage2= Parameter("Action2","ReturnMsg")
Msgbox ReturnMessage2
' 如果被调用的Action使用了ExitAction来退出Action并返回ReturnValue,则可以使用下面的方式来获取Return Value的值
' 注意OutPut Parameters与Return Value的区别
ReturnMessage3 = RunAction( "Action2", oneIteration ,"Hello!") Msgbox ReturnMessage3
通过全局数据表(Global Data Table)来共享数据
在Action1中设置参数值,Action1的脚本如下:
' 获取全局数据表
Set Sheet = DataTable.GetSheet("Global")
' 查找参数列
Set Parameter1 = Sheet.GetParameter("Column1")
Set Parameter2 = Sheet.GetParameter("Column2")
' 设置参数值
Parameter1.Value="Hello"
Parameter2.Value="World!"
' 调用Action2,Action2将使用前面设置的参数值
RunAction "Action2", oneIteration
在Action2中读取参数值,Action2的脚本如下:
' 获取全局数据表
Set Sheet = DataTable.GetSheet("Global")
' 读取参数值
Set Parameter1 = Sheet.GetParameter("Column1")
Set Parameter2 = Sheet.GetParameter("Column2")
' 使用参数值
Msgbox Parameter1 &" " & Parameter2
使用环境变量(Environment Variables)来共享数据
在Action1中使用环境变量中定义的LoginUserName和LoginPassWord,Action1的脚本如下:
' 在Action1中使用环境变量中定义的LoginUserName和LoginPassWord UserName = Environment.Value("LoginUserName")
UserPassWord = Environment.Value("LoginPassWord")
SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"
Dialog("Login").Activate
Dialog("Login").WinEdit("Agent Name:").Set UserName
Dialog("Login").WinEdit("Password:").SetSecure UserPassWord Dialog("Login").WinButton("OK").Click
' 调用Action2,在Action2中也将使用到定义的环境变量
RunAction "Action2", oneIteration
在Action2中使用环境变量中定义的LoginUserName,Action2的脚本如下:' 在Action2中使用环境变量中定义的LoginUserName
UserName = Environment.Value("LoginUserName")
Window("Flight Reservation").Activate
Window("Flight Reservation").WinObject("Date of Flight:").Click 1,6 Window("Flight Reservation").WinObject("Date of Flight:").Type "121212"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights
Table").WinList("From").Select "14243 DEN 12:57 PM FRA 01:41 PM SR $110.00"
Window("Flight Reservation").Dialog("Flights
Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set UserName
通过Dictionary对象来在Action之间共享数据(1)添加注册表
HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\ReservedObjects\GlobalDictionary
ProgID = "Scripting.Dictionary"
(2)使用GlobalDictionary对象
' 使用GlobalDictionary前清空里面的数据
If GlobalDictionary.Count > 0 Then
GlobalDictionary.RemoveAll
End If
' 存储一个数值