AOM

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

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

最简单的创建AOM的例子:

Dim qtApp   
Set qtApp = CreateObject("QuickTest.Application")     
qtApp.Launch   
'Start QuickTest   
qtApp.Visible = True

C#等也都能够调用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对象,并且会有相应的代码提示

 

AOM

 

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

 

AOM

 

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

 

  1. Set qtapp=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. Set qtapp=Nothing  
  14. '释放  

 

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

 

 注意事项:

 

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

AOM

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

AOM

 

更多相关文章
  • QTP关于AOM的Javascript启动方式
    序 QTP的AOM模型想必大家都很熟悉了,平时常用的就是通过VBS脚本的方式编写启动程序(也是我现在用的方法).其实,还有很多其他的方式,如Java,C#,JS,这些语言都是通过调用QTObjectModel.dll文件来实现AOM,该文件位于QTP安装目录bin文件夹下. 简单的启动代码 下面简单 ...
  • 


    		    OperaMasks之web開發全攻略詳解二
    OperaMasks 2.0的神奇魔力之二:国际化 1. 前言 2. 常规国际化的做法 3. AOM 2.0 的国际化处理 4. AOM的扩展能力 5. 在程序中注入资源文件 6. 总结 1. 前言 本教程介绍在 OperaMasks 2.0中,是如何简化国际化多语言相关工作的.在阅读本文之前,我建
  • 学习<QTP自动化测试进阶>第19章 – QTP的自动化对象模型及其使用 QTP提供了完整的自动化对象模型,可用多种编程语言和开发工具来编写控制QTP运行和测试的代码 使用QTP自动化模型的场景: 初始化脚本:编写脚
  • Normal 0 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNo
  • 


    		    linux5中實現DNS轉換
    问:什么是"DNS"?其中文为何? 答:DNS,简单地说,就是Domain Name System,翻成中文就是"域名系统". 问:DNS有什么用途? 答:在一个TCP/IP架构的网络(例如Internet)环境中,DNS是一个非常重要而且常用的系统.主要的功 ...
  • 


    		    如何在Tomcat 6.0上使用OperaMasks2.0
    1. 准备工作 2. 下载安装包 2.1. AOM2.0下载 3. 在Tomcat上如何将原有的应用中的旧的AOM版本升级为AOM2.0正式版本: 3.1. 解压zip文件 3.2. 替换AOM包 4. Build示例(以rcdemos为例,其他相同) 5. 部署.访问rcdemos示例 5.1.
  • 


    		    Web開發“菊花寶典”OperaMasks系列之一
    OperaMasks2.0开发实例入门之一:HelloWorld 1. 前言 2. 实例介绍 3. 开发与运行环境 4. 应用的JAR包 5. 配置文件 6. 背景知识 7. hello.xhtml 8. result.xhtml 9. HelloBean.java 10. ResultBean.j ...
  • 


    		    在OperaMasks中使用ELite和JRuby動態語言的秘笈
    如何在OperaMasks中使用动态语言 1. 前言 2. 在OperaMasks中使用ELite 2.1. ELite的介绍 2.2. 在OperaMasks中使用ELite 3. 在JSF中使用Ruby 3.1. Spring2带来的动态语言支持 3.2. 在JSF应用中使用JRuby 4. 总 ...
一周排行