51Testing丛书连载:(三十七)精通QTP——自动化测试技术领航

发表于:2012-2-01 10:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

分享:

2.6.3  让QTP舞动起来

  前面介绍了那么多理论上的东西,下面就来实践一下,让QTP真正地“动起来”,并自动完成一个“从启动到新建测试到输入脚本到执行到关闭的”完整的自动化测试流程。

  ● 实例:

'创建对象

Set qtapp = CreateObject("QuickTest.Application")

'启动QTP 

qtapp.Launch

'设置为可见 

qtapp.Visible = True

'新建一个test脚本

qtapp.New

'Action1设置需要执行的脚本字符串

qtapp.Test.Actions("Action1").SetScript "Msgbox 0"

'运行测试脚本 

qtapp.Test.Run

'退出QTP 

qtapp.Quit

'释放

Set qtapp = Nothing

  分析:

  以上脚本是一个非常基础和简单的调用AOM的经典例子。首先,Launch方法的作用是启动QTP应用;接着New方法的作用则是新建一个测试;SetScript的作用是可以在Action1中自动输入对应的字符串;Run方法为运行测试,注意其中的第二个参数可以控制是否等待Run方法执行完毕;最后使用Quit方法自动退出QTP应用并释放AOM对象。

  注意事项:

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

图2-104

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

图2-105

2.6.4  总结

  本章节主要讲解了多脚本语言环境下调用AOM的不同方式,以及自动化模型的引用过程,这些基础对于以后独立建立测试执行框架有非常大的帮助。在后续的章节中,还会对对象库自动化模型(ORAOM)进行详细介绍。

  本章节不设置习题,读者只需会套用模板代码并充分理解即可。

本文选自《51Testing软件测试作品系列》之九——《精通QTP——自动化测试技术领航》。

本站经人民邮电出版社和作者的授权,近期将进行部分章节的独家连载,敬请期待!

版权声明:51Testing软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。

任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关阅读:

查看本书介绍>>

查看本书更多试读章节连载>>

查看软件测试作品系列其他书籍>>

33/3<123
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号