平淡的生活,我依旧能梳理出生活的乐章!

学习 QTP自动化对象模型

上一篇 / 下一篇  2011-01-07 16:05:18 / 个人分类:QTP

 QTP自动化对象模型
   
QTP工具本身的操作一般有两种方式,一、通过手动的方式直接在QTP界面中进行操作;二、通过代码对QTP进行操作,尽管并不是总能进行一对一的比较,但QuickTest中大多数对话框都有相应的自动化对象,对话框中的大多数选项都可以使用相应的对象属性;(如:打开QTP加载测试所需的加载项等)
   
通过代码对QTP进行操作,实际上都是调用了QTP的对象模型(Object Model),QuickTest自动化对象模型的根对象是Application对象,因此如果要使用QTP对象模型首先要创建QTPApplication实例,该对象下有6个子对象(TestOptionsFoldersAddinsBusinessComponentsTDConnection)其中每个子对象下右包含很多对象;具体可查看QTp的帮助文档;
  
脚本语言或高级语言均可调用QTp的自动化对象,通过该对象的方法和属性对QTp进行操作:

  例如使用Vbscript语言:此例为QTP帮助中的实例

  '************************************************************************************************************************
'描述:
'
'该示例打开一个测试,并加载所有与测试关联的加载项。
'
'假定:
'QuickTest中当前未打开没有保存的测试。
'有关详细信息,请参阅Test.SaveAs方法的示例。
'************************************************************************************************************************
打开QTP
DimqtApp' As QuickTest.Application '声明Application对象变量
DimblnNeedChangeAddins'声明一个标志,用于指明当前是否已加载与测试关联的加载项
DimarrTestAddins'声明变量,用于存储与测试关联的加载项

SetqtApp = CreateObject("QuickTest.Application")'创建Application对象

arrTestAddins = qtApp.GetAssociatedAddinsForTest("C:\Tests\Test1")'创建一个数组,用于包含与该测试关联的加载项的列表

'检查是否已加载所有必需的加载项
blnNeedChangeAddins =False'假定无需作任何更改
ForEachtestAddinInarrTestAddins'循环与测试关联的加载项列表
    IfqtApp.Addins(testAddin).Status <>"Active"Then'如果存在未加载的关联加载项
        blnNeedChangeAddins =True'指明需要对加载的加载项进行更改
        ExitFor'退出循环
    EndIf
Next

IfqtApp.LaunchedAndblnNeedChangeAddinsThen
        qtApp.Quit'如果有必要进行更改,则退出QuickTest,修改已加载的加载项
EndIf

IfblnNeedChangeAddinsThen
    DimblnActivateOK
    blnActivateOK = qtApp.SetActiveAddins(arrTestAddins, errorDescription)'加载与测试关联的加载项并检查它们是否已加载成功。
    IfNotblnActivateOKThen'如果在加载加载项时发生问题
        MsgBox errorDescription'显示包含错误的消息
    WScript.Quit'并结束自动程序。
    EndIf
EndIf

IfNotqtApp.LaunchedThen'如果尚未打开QuickTest
    qtApp.Launch'启动QuickTest(已加载正确的加载项)
EndIf
qtApp.Visible =True'使QuickTest应用程序可见

qtApp.Open"C:\Tests\Test1"'打开测试
SetqtApp =Nothing'释放Application对象


TAG:

 

评分:0

我来说两句

Open Toolbar