使用QTP的automation object model,可以对QTP进行自动化编程,从而自动对QTP进行选项设置、自动运行测试(或组件),而无需使用QTP界面手工进行这些操作。 如果要重复多次的完成同一项工作任务,或重复多次运行同一测试(或组件),或需要快速配置QTP选项,则QTP的自动化编程是非常有用的。 本部分内容包括: 自动化QTP操作 决定什么时候使用QTP自动化编程 选择设计或运行自动化程序的语言与开发环境 了解自动化程序的基本元素 创建自动化程序脚本 1. 自动化QTP操作 使用QTP的Automation Object Model进行自动化编程,实现QTP操作的自动化。QTP的Automation Object Model提供了objects、methods、以及properties,使我们可以在其它的应用程序中控制QTP的操作。 2. 决定什么时候使用QTP自动化编程 就象我们使用QTP设计测试(或组件),创建一个有用的自动化程序也需要一个计划、设计、测试的过程。 下面是几个实用的QTP自动化编程的例子: ● Initializtion programs(初始化编程)-你可以编写一个程序,来自动地启动QTP,配置操作选项及录制设定。 ● Maintaining your tests or components(维护测试或组件)-你可以编写一个程序,作用于一系列已有的测试或组件上,以统一达到某一目的。例如: * Updating values-使用合适的插件环境打开每个测试或组件,并以update的模式运行它(当然必须对应相应的已升级的被测应用程序),然后保存测试或组件以保存更新后的值。 * Applying new options to existing tests of components(对已有的测试或组件应用新的操作选项)-当QTP版本升级以后,你可能发现有某些新的选项设置可应用到当前已有的测试或组件中。你可以编写一个程序,打开每个已有的测试或组件,为它们设置新的选项设置,然后保存并关闭它。 ● Calling QuickTest from other application(在其它应用程序中调用QTP)-You can design your own applications with options or controls that run QuickTest automation programs. For example, you could create a Web form or simple Windows interface from which a product manager could schedule QuickTest runs, even if the manager is not familiar with QuickTest. 3. 选择设计或运行自动化程序的语言与开发环境 现有多种面向对象的编程语言,可用于实现QTP的自动化编程。对于每种语言,都有多种开发环境的支持,在该开发环境中,可用以设计或运行自动化程序。 编写自动化程序 你可以在任何一个支持automation的语言与开发环境中编写QTP自动化程序,如VBscrīpt、Javascrīpt、Visual Basic、Visual C++或Visual Studio.NET等等。 有的开发环境support referencing a type library。A type library是一个二进制文件,包括了对象模型的描述、界面、以及其它定义。 如果你选择的环境support referencing a type library,在你编程的过程中,你就可以享受到以下好处,如智能提示的功能、语句自动完成的功能、在状态栏显示帮助提示的功能。QTP的 automation object model提供了一个type library文件,文件名为QTObjectModel.dll,这个文件存储于QTP安装目录的bin目录下。 如果你选择了一个support referencing a type library的开发环境,在编写或运行程序之前,确保装载了QTP的type library。例如:如果你选用了Microsoft Visual Basic,在Microsoft Visual Basic的菜单中选择Project>References,打开References对话框,然后选择QuickTest Professional<版本号>Object Library。 运行自动化程序 很多应用程序都可以运行自动化程序,你甚至可以在命令行使用WSH来运行自动化程序。 例如:Wscrīpt.exe /E:VBscrīpt myscrīpt.vbs。 4. 了解自动化程序的基本元素(Element) 与大部分automation object modes一样,QTP的automation object model的根对象是Application对象。这里的Application对象代表QTP应用程序。使用它,可以返回其它QTP元素如Test对象(它代表一个测试或组件文件)、Options对象(它代表Options对话框)、Addins集合(它代表Add-in管理对话框中一系列的add- in)等,并可以完成以下操作如装载add-in、启动QTP、打开并保存测试或组件、以及关闭QTP。 由Application对象返回的每一个对象,又可以返回其它对象,以完成其它与该对象相关的操作,并获取(或设置)与该对象相关的属性值。 每个自动化程序从创建QTP Application对象开始,创建此对象并不是启动QTP,它仅仅是提供一个对象,以便于你从该对象获得通道,以通向其它QTP automation object model的对象、方法以及属性。 如果你在程序中需多次的启动或退出QTP,你可以只创建一个Application对象实例,而不必多次创建QTP Application对象。 4.1. 创建Application对象 对于不同的语言,创建Application对象的过程稍有不同。下面例子中,是使用VBscrīpt语言,实现创建Application对象,并以visible的模式打开QTP程序的操作。
|