• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

QTP的Action间的信息共享的4种方法

发布: 2009-9-09 10:58 | 作者: webmaster | 来源: 本站原创 | 查看: 191次 | 进入软件测试论坛讨论

领测软件测试网

QTP的Action间的信息共享的4种方法   软件测试 

   通过Action参数来传递数据
 
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
' 存储一个数值
DepartDate = "2008-3-31"
GlobalDictionary.Add "DateCheck", DepartDate
 
' 可在当前Action使用GlobalDictionary中的数据,也可在另外一个Action中使用添加到GlobalDictionary的数据
'Dim CompareDate
'CompareDate=GlobalDictionary("DateCheck")
'Msgbox CompareDate
 
 
' 可在当前Action使用GlobalDictionary中的数据,也可在另外一个Action中使用添加到GlobalDictionary的数据
Dim CompareDate
' 读取GlobalDictionary中的DateCheck数据
CompareDate=GlobalDictionary("DateCheck")
Msgbox CompareDate

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: Action action qtp QTP 软件测试


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网