代理对象类似于测试下实际控件的包装类。任何与 AUT 控件的 Functional Tester 框架通信均通过这些代理对象进行。在创建和放置代理对象的位置,可以访问测试下的控件并且可以查询相关信息。代理将被撰写成一个 Java™ 或 C# 类,此类将对 AUT 中的 GUI 测试对象实施规定的 Functional Tester 接口。当启用应用程序进行测试时,代理类将会装入应用程序并成为应用程序的一部分。代理会回绕应用程序中实际的 GUI 测试对象(本机测试对象),这样就可以通过 Functional Tester 来测试应用程序。
Functional Tester 框架支持创建新的 ProxyObject 类或扩展任何可用的 ProxyObject 类来支持对新控件的测试。
测试对象是测试下控件的脚本端接口对象。控件会显示为测试脚本中的一个测试对象。例如,一个按钮控件会显示为 GUI 测试对象。顶级控件(如对话框和框架)会显示为顶级测试对象。
TestObject 方法通过相应的 ProxyObject 依次执行。测试对象驻留在 Functional Tester 客户机端。测试对象引用了代理对象,代理对象转而引用测试下的 AUT 控件。
将会为 Functional Tester 支持的每种测试环境(如 Java、HTML、.Net、Win32、Siebel 和 SAP)创建域对象。每种域为所有支持的 AUT 控件提供了代理对象类。代理对象类和 AUT 控件之间的映射信息存储在 Functional Tester 安装目录下的定制文件内。这些定制文件是 Functional Tester 了解给定 AUT 控件所用的代理对象的一个目录。
也可以扩展代理对象来创建新的代理对象类以支持不受支持的 UI 控件。例如,为了支持 .Net 2.0 DataGridView 控件,您可以创建一个新的代理类 Rational.Test.Ft.Domain.Net.DataGridViewProxy,同时在 rational_ft.rftcust 文件中插入一个相对应的映射条目。以下代码示例是关于定制文件中的已更新部分。
<Obj L=".Proxy"> <ClassName>[WhidbeyControls]Rational.Test.Ft.Domain.Net.DataGridViewProxy</ClassName> <Replaces/> <UsedBy>[System.Windows.Forms]System.Windows.Forms.DataGridView</UsedBy> </Obj>