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软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: