平淡的生活,我依旧能梳理出生活的乐章!
学习 QTP自动化对象模型
上一篇 /
下一篇 2011-01-07 16:05:18
/ 个人分类:QTP
QTP自动化对象模型
对QTP工具本身的操作一般有两种方式,一、通过手动的方式直接在QTP界面中进行操作;二、通过代码对QTP进行操作,尽管并不是总能进行一对一的比较,但QuickTest中大多数对话框都有相应的自动化对象,对话框中的大多数选项都可以使用相应的对象属性;(如:打开QTP、加载测试所需的加载项等)
通过代码对QTP进行操作,实际上都是调用了QTP的对象模型(Object Model),QuickTest自动化对象模型的根对象是Application对象,因此如果要使用QTP对象模型首先要创建QTP的Application实例,该对象下有6个子对象(Test、Options、Folders、Addins、BusinessComponents、TDConnection)其中每个子对象下右包含很多对象;具体可查看QTp的帮助文档;
脚本语言或高级语言均可调用QTp的自动化对象,通过该对象的方法和属性对QTp进行操作:
例如使用Vbscript语言:此例为QTP帮助中的实例
'************************************************************************************************************************
'
描述:
'
'
该示例打开一个测试,并加载所有与测试关联的加载项。
'
'
假定:
'QuickTest
中当前未打开没有保存的测试。
'
有关详细信息,请参阅Test.SaveAs方法的示例。
'************************************************************************************************************************
打开QTP:
Dim
qtApp' As QuickTest.Application '
声明Application对象变量
Dim
blnNeedChangeAddins'
声明一个标志,用于指明当前是否已加载与测试关联的加载项
Dim
arrTestAddins'
声明变量,用于存储与测试关联的加载项
Set
qtApp = CreateObject("QuickTest.Application")'
创建Application对象
arrTestAddins = qtApp.GetAssociatedAddinsForTest("C:\Tests\Test1")'
创建一个数组,用于包含与该测试关联的加载项的列表
'
检查是否已加载所有必需的加载项
blnNeedChangeAddins =False'
假定无需作任何更改
For
EachtestAddinInarrTestAddins'
循环与测试关联的加载项列表
IfqtApp.Addins(testAddin).Status <>"Active"Then'
如果存在未加载的关联加载项
blnNeedChangeAddins =True'
指明需要对加载的加载项进行更改
ExitFor'
退出循环
EndIf
Next
If
qtApp.LaunchedAndblnNeedChangeAddinsThen
qtApp.Quit'
如果有必要进行更改,则退出QuickTest,修改已加载的加载项
End
If
If
blnNeedChangeAddinsThen
DimblnActivateOK
blnActivateOK = qtApp.SetActiveAddins(arrTestAddins, errorDescription)'
加载与测试关联的加载项并检查它们是否已加载成功。
IfNotblnActivateOKThen'
如果在加载加载项时发生问题
MsgBox errorDescription'
显示包含错误的消息
WScript.Quit'
并结束自动程序。
EndIf
End
If
If
NotqtApp.LaunchedThen'
如果尚未打开QuickTest
qtApp.Launch'
启动QuickTest(已加载正确的加载项)
End
If
qtApp.Visible =True'
使QuickTest应用程序可见
qtApp.Open"C:\Tests\Test1"'
打开测试
Set
qtApp =Nothing'
释放Application对象
收藏
举报
TAG: