使用分布式组件来远程启动QTP(转)

上一篇 / 下一篇  2009-05-06 16:03:57 / 个人分类:自动化测试框架

原文转自

http://www.51testing.com/batch.viewlink.php?itemid=80698

 

1.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对象。

1.4.1.       创建Application对象

对于不同的语言,创建Application对象的过程稍有不同。下面例子中,是使用VBscrīpt语言,实现创建Application对象,并以visible的模式打开QTP程序的操作。

Dim qtApp

Set qtApp=CreateObject(“QuickTest.Application”)      ‘创建Application对象

qtApp.Launch                                    ‘启动QTP

qtApp.visible=True                                ‘设置QTP为可见模式

 

1.4.2.       建设自动化程序的其它部分

如何建设自动化程序的其它部分,与你的编程目标有关。

在启动QTP之前,你可以完成一些其它操作,如获取相关的add-in、装载add-in、并指导QTP以visible模式打开QTP等。

当完成这些预备步骤后,如果QTP还没有被打开,你可以使用Application.Launch方法打开它。自动化程序的其它操作一般都是位于Launch方法之后。

当完成这些必需的操作之后,或你想要实现的操作需要关闭并重新启动QTP(如修改插件的装载),则使用Application.Quit方法。

1.4.3.       在远程电脑中运行自动化程序

默认情况下,当你在自动化程序中创建一个Application对象时,该对象创建于本地电脑中(使用QTP的本地副本)。你也可以选择在远程QTP电脑中运行自动化脚本。为了实现这个目标,你必须:

l         确保远程电脑的Distributed COM(DCOM)配置属性已设置为允许你运行QTP自动化脚本。

l         在自动化程序的创建Application对象的脚本行,指定远程电脑的名称,例如在VBscrīpt的CreateObject函数中使用可选参数location。

 

名词:COM-组件对象模型。COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口。

DCOM-分布式组件对象模型。是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。

设置远程电脑中的DCOM配置属性

要在远程电脑中运行自动化程序,必须确保在远程电脑的DCOM设置中,给了你装载及设置QTP COM 服务器的权限。

下面描述了在远程电脑中设置DCOM的过程。注意因为远程电脑的操作系统的不同,DCOM配置对话框中显示可能不同。

(下面的图片都是WinXP操作系统中的):

1.         在远程电脑中,选择Start>Run,打开Run对话框。

2.         在命令栏输入“dcomcnfg”后,点击OK,打开DCOM配置对话框或组件服务窗口(这与操作系统有关),并显示当前电脑中有效的COM应用程序。

3.         在列表中选择“QuickTest Professional Automation”,打开属性对话框。

4.         在QuickTest Professional Automation对话框中,选中Security(安全)页签。

5.         在“launch permissions”(启动和激活权限)部分,选择custom(“自定义”)选项,然后点击EDIT(“编辑”)按钮。

6.         使用Add及Remove操作选择网络用户或组,让用户或组就可以在本地电脑中通过自动化程序,远程让QTP脚本在本电脑上运行。当完成设置用户或组后,点击OK保存设置。

7.         重复5、6步,设置“configuration permissions”部分,设置用户或组,让用户或组可以通过自动化程序,远程修改本电脑的QTP的选项配置。

8.         在QuickTest Professional Automation对话框中,点击Identity(标识)页签,选择interactive user选项。

 

9.         点击OK保存QuickTest Professional Automation属性设置。

10.     点击OK关闭DCOM配置对话框,或关闭组件服务窗口。

在远程电脑中创建Application

当远程电脑的DCOM设置完成后,你就可以在自动化程序中指定该远程电脑。

在VBscrīpt中,你可以在CreateObject函数的可选参数location中指定远程电脑名称。例如:在一个名为MyServer的远程电脑上运行自动程序,你可以编写以下脚本:

Dim qtApp

Set qtApp=CreateObject(“QuickTest.Application”,”MyServer”)

1.5.       创建自动化程序脚本

Test Setting对话框中的Properties页签、Options对话框的General页签、以及Object Identification对话框中,都有一个Generate scrīpt按钮。点击此按钮可以生成一个自动化脚本文件(.vbs),该文件包含了相关对话框的当前设定。

你可以运行这些脚本,运行该脚本可以打开QTP,并且QTP的Options设置使用的是脚本中的设置;你也可以将脚本中的内容复制到你自已的自动化脚本中。

例如,你在Options对话框中通过Generate scrīpt功能创建了一个脚本,脚本的内容应该是下面这样的:

Dim App 'As Application

Set App = CreateObject("QuickTest.Application")

App.Launch

App.Visible = True

App.Options.DisableVORecognition = False

App.Options.AutoGenerateWith = False

App.Options.WithGenerationLevel = 2

App.Options.TimeToActivateWinAfterPoint = 500

...

...

App.Options.WindowsApps.NonUniqueListItemRecordMode = "ByName"

App.Options.WindowsApps.RecordOwnerDrawnButtonAs = "PushButtons"

App.Folders.RemoveAll

 


TAG:

kakamissyou的测试小栈 引用 删除 kakamissyou   /   2010-05-03 12:30:45
不错啊,老p,最近研究Qtp挺多啊。

又更进一步了啊。
引用 删除 laopi   /   2009-08-07 00:27:20
在美国用GOOGLE 查
CreateObject("QuickTest.Application","MyServer")   看到你的WEB PAGE。

是同行,向你问好。。

我的 EMAIL: ymhu36@hotmail.com
 

评分:0

我来说两句

Open Toolbar