【软件测试自动化-QTP系列讲座 11】== AOM应用(一)+QuickTest+Automation ==

 Rss订阅IQuickTest关于如何订阅?

GoogleReader订阅地址: http://feeds.feedburner.com/iquicktest

作者:zzxxbb112
时间:2009/10/07 版权所有,侵权必究。

出处:http://blog.csdn.net/zzxxbb112


这一章的内容网上比较常见,相信很多熟悉QTP的朋友一定也都知道AOM以及熟悉它的用法,但是为了教程的完整性,还是简单的把这一章的内容带一下,觉得已经掌握的朋友可以直接略过。

 

 

首先介绍一下什么是AOM

 

  • AOM ----  Automation Object Model (自动化对象模型)

 

简单的说AOM就是一个可以自动化QTP的自动化对象模型,它可以对QTP的进行自动化配置操作以及QTP的运行回放进行自动化等等功能。

 

下面就来看一个最简单的创建AOM的例子:

Dim qtApp 
Set qtApp = CreateObject("QuickTest.Application") 
' 创建对象 
qtApp.Launch 
'Start QuickTest 
qtApp.Visible = True 
' 设置为可见

将以上代码保存为VBS后缀格式的文件后,双击运行即可自动启动QTP应用程序

以上代码只是VBScript的调用方式,其实我们还可以有很多种方式去调用QTP的AOM

VB:

Dim qtApp As QuickTest.Application
 ' 申明AOM对象 
Set qtApp = New QuickTest.Application
 ' 创建AOM对象
qtApp.Launch 
' 启动QTP
qtApp.Visible = True
 ' 设置为可见

C#

QuickTest.Application app = new QuickTest.Application();
// 创建QTP对象
app.Launch();
// 启动QTP
app.Visible =true;
// 让QTP可见

JavaScript:

var qtApp = new ActiveXObject("QuickTest.Application"); 
// 创建AOM对象
qtApp.Launch(); 
// 启动QTP
qtApp.Visible = true 
// 设置为可见

这里就引发出了一个问题,为什么那么多语言都能够调用AOM来自动化QTP,这是因为QTP安装程序中已经注册了一个核心DLL文件的COM,这个DLL就是在安装文件夹下的BIN目录下:QTObjectModel.dll

 

下面我们就来简单的完成一个启动QTP--》打开脚本--》回放 这样的一个实例


我们在这里使用VBSEDIT工具

 

1、首先在这里引用QTObjectModel.dll

     引用方法:

     TOOLS - REFERENCES - add  

     在PROG ID中输入  QUICKTEST.APPLICATION

     在TYPELIB PATH中找到这个dll的路径,位于安装路径的BIN目录下

 

2、在引用完DLL后,就可以创建AOM对象,并且会有相应的代码提示

 

2

 

 当创建好AOM对象的同时也可以在对象浏览器中看到这个DLL下的所有方法和属性

 

1

 

3、完成以下代码之后,这样一个简单的从启动QTP、打开测试脚本、运行回放、关闭QTP的整个自动化QTP的流程就完成了

Set qtapp=CreateObject("quicktest.application")
'创建对象
qtapp.Launch
'启动
QTPqtapp.Visible=True
'设置为可见
qtapp.Open "d:/Test"
'打开相应的QTP测试脚本
qtapp.Test.Run
'运行测试脚本
qtapp.Quit
'退出QTP
Set qtapp=Nothing
'释放

4.当我们还需要对QTP的设置进行自动化时,由于QTP的设置较多,一个个写的话会很繁琐,因此我们可以先在QTP里设置好,然后直接在QTP的setting和option选项中点击generate scripting进行导出,这样能去我们很多的精力来写代码。

 

 注意事项:

1.执行以上代码时,系统多出一个QTAutomationAgent.exe的进程,此进程在运行完以上代码后会自动关闭,但是需要注意的是,当我们在调试代码或者是做非法中止以上代码而为能使以上代码执行到最后完毕的话,此进程不会自动关闭,这样就会导致我们第二次创建AOM对象时报错,因此大家如果在调试此代码时遇到“远程过程调用失败”的类似错误提示,就可以试试kill掉QTAutomationAgent.exe这个进程,然后重新调试下代码就ok了。

3

2.如果在QTP直接创建AOM对象是会报错的,因为QTP只允许有一个实例对象,当我们已经开启了一个QTP之后就不可以再创建另外一个QTP了,因此这个时候我们可以直接使用GETOBJECT("","quicktest.application")来对当前启动的QTP进行操作,当我们添加下图脚本后,我们点击运行后当前QTP就会自动隐藏,运行完后自动恢复可见.

5

 

 下一章中主要会讲解:

 

     【QTP系列讲座 12】 == AOM应用(二) Object Repository Automation ==

  • Object Repository Automation
  • ObjectRepositoryUtil Object
  • TOCollection Object

 如有任何问题请去IquickTest Q&A问题库进行提问



  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值