QTP LR JSP ORACLE
关于Execute语句
上一篇 /
下一篇 2008-07-19 10:47:10
/ 个人分类:QuickTestProfessional
Execute可以用于在脚本中执行一个或多个语句,利用这个功能,可以在QTP的脚本中执行一些临时拼凑的语句,例如测试对象的赋值语句。
下面的脚本启动被测试程序,然后从环境变量读入测试对象信息,然后使用Execute执行测试对象赋值语句,把读入的测试对象信息组合成一个完整可用的测试对象,然后使用该测试对象:
Dim TestObj ,QTPClass,DPID
'启动被测试程序
SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"
'从环境变量读入测试对象信息
QTPClass = Environment.Value("QTPClass")
DPID = Environment.Value("DPID")
'使用Execute执行测试对象赋值语句
Execute "Set TestObj = " & QTPClass & "(" & Chr(34) & DPID & Chr(34) & ")"
'使用测试对象
TestObj.Activate
' ...
TestObj.Close
自动化测试工程师可以利用Execute的这种动态脚本构建的特性,抛开QTP的对象库,改为从外部文件读入测试对象信息然后构造成完整的测试对象,从而实现自己定义的测试框架。
----------------------------------
框架还是蛮有意思的。
再和我们的框架对照下(思路、目录结构、分层等),很多思想基本相通:)
其中动态执行代码最吸引我:)
className=”login”
taskFileName=”login”
Taskfilepath=”login.vbs”
ExecuteFile taskFilePath '加载task脚本文件
logPrint("加载Task脚本文件完成。"&taskFilePath)
Execute "Set obj"&taskFileName&" = new "&taskFileName '初始化task的类
str = "obj"&className&"."&taskName&" "&chr(34)&Sheet_Name&chr(34)
logPrint("执行测试步骤 "&i&", "&str)
Execute str ''执行 objlogin.login "login","TEST_SHEET"
…
Execute "Set obj"&tempArray(i)&" = nothing"
收藏
举报
TAG: