简单快乐的工作,生活!

QTP- AOM应用(1)-QuickTest+Automation

上一篇 / 下一篇  2014-03-11 15:30:50 / 个人分类:QTP

首先介绍一下什么是AOM

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

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

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

  1. DimqtApp
  2. SetqtApp = CreateObject("QuickTest.Application")
  3. ' 创建对象
  4. qtApp.Launch
  5. 'Start QuickTest
  6. qtApp.Visible =True
  7. ' 设置为可见

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

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

VB:

  1. DimqtAppAsQuickTest.Application
  2. ' 申明AOM对象
  3. SetqtApp =NewQuickTest.Application
  4. ' 创建AOM对象
  5. qtApp.Launch
  6. ' 启动QTP
  7. qtApp.Visible =True
  8. ' 设置为可见

C#

  1. QuickTest.Application app =newQuickTest.Application();
  2. // 创建QTP对象
  3. app.Launch();
  4. // 启动QTP
  5. app.Visible =true;
  6. // 让QTP可见

JavaScript.:

  1. varqtApp =newActiveXObject("QuickTest.Application");
  2. // 创建AOM对象
  3. qtApp.Launch();
  4. // 启动QTP
  5. qtApp.Visible =true
  6. // 设置为可见

这里就引发出了一个问题,为什么那么多语言都能够调用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的流程就完成了

  1. Setqtapp=CreateObject("quicktest.application")
  2. '创建对象
  3. qtapp.Launch
  4. '启动
  5. QTPqtapp.Visible=True
  6. '设置为可见
  7. qtapp.Open"d:/Test"
  8. '打开相应的QTP测试脚本
  9. qtapp.Test.Run
  10. '运行测试脚本
  11. qtapp.Quit
  12. '退出QTP
  13. Setqtapp=Nothing
  14. '释放

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


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 12884
  • 日志数: 15
  • 书签数: 3
  • 建立时间: 2007-04-04
  • 更新时间: 2014-12-01

RSS订阅

Open Toolbar