Functional Tester 在每个进程(客户机或服务器进程)内创建测试上下文对象,并将其注册在共享内存中。测试上下文对象是对测试下进程的引用。注册的测试上下文对象用作所有通信的关联进程的引用。通常,测试上下文对象涉及可测试的操作系统级别进程或测试客户机。每个进程可以包含多个测试上下文对象。
两个 AUT 测试上下文对象之间不能直接进行通信。 它们通过客户机测试上下文对象进行通信。
Functional Tester 进程模型中的每个进程均使用测试上下文对象来管理 IPC 调用和该进程的请求。客户机进程与多个 AUT 进程交互,而每个 AUT 进程对同一个客户机进程同时做出反应。例如,回放期间的查找进程与正在其中寻道的测试对象的所有可用 AUT 进程进行通信。
对象管理器处理所有的服务器端进程通信以及与 AUT 交互的元操作。与 AUT 交互的核心录制和回放从此处开始,并与所有的 AUT 测试上下文对象进行交互。 对象管理器代理处理与特定测试上下文对象相关的对象管理器元操作。在测试上下文对象内,确定测试域对象以管理 Functional Tester 特定于测试域的通信。例如,对于 AUT 浏览器进程,确定 HTML 测试上下文对象和 Java™ 测试域对象。因为浏览器包含 HTML 域的 HTML 元素和 Java 域的 applet,所以需要确定这些对象。
在测试域对象中,创建 ProxyTestObject 来管理控件级别通信。执行任意功能测试活动时,必须与某些控件进行通信,为这些控件创建代理对象。代理对象与 AUT 中的每个控件具有一对一的关系。通过 ProxyTestObject,不同的 AUT 控件彼此进行所有交互。