Rational Functional Tester 工作原理 Rational Functional Tester 测试的前提 相信很多读者在接触 Rational Functional Tester 这类自动化测试工具后,都会有这样的疑问:它为什么可以操纵 Java 程序或者浏览器呢? Rational Functional Tester 可以操控被测控件、完成用户指定的自动测试动作,但前提是它需要具备与被测应用程序( Application Under Test,AUT)进行通讯的能力。要做到这一点,Rational Functional Tester 首先必须建立自身与被测应用的沟通渠道,该过程对于 Rational Functional Tester 而言,被称为“启用被测应用程序”。 目前 Rational Functional Tester 可以支持如下领域的被测应用程序:基于 Java 平台的程序、基于 .Net 平台的程序、HTML 程序,以及基于 Siebel、SAP、Flex 等特定平台的应用程序。Rational Functional Tester 提供了这样的一个向导窗口来帮助用户“启用被测应用程序”,在这个简洁的对话框的“启用( Enable) ”按钮和“测试(Test)”按钮的背后,还隐藏 着更多的细节。 图 1. 启用环境向导对话框 在 Rational Functional Tester 的术语词典里,这里的每一类应用程序都被称为“域”(domain)。建立沟通渠道的操作,都是作用在某个特定的“域”上,你可以在 Rational Functional Tester 和“Java 域”之间建立沟通渠道,这就是在 Rational Functional Tester 中启动 Java 被测应用程序的过程;依此类推,你也可以为 .Net 程序、 SAP 程序建立它们和 Rational Functional Tester 之间的特有的沟通渠道,使得 Rational Functional Tester 可以进而对 .Net 程序、 SAP 程序进行测试。在为每类程序(或进程)建好沟通渠道后,你还需要对渠道进行必要的测试,检验通讯是否能正常工作。Rational Functional Tester 正是通过这些沟通渠道来对被测程序(或进程)的控件发出指令、执行动作的。 建立沟通渠道时,Rational Functional Tester 对于被测应用程序,会新建一个 DomainImplementation 对象实例,由它来抽象出一个接口,提供具体的域相关细节给 Rational Functional Tester 。DomainImplementation 对象的使命有: 1. 获取该域最高级别的对象 2. 注册该域可用的代理对象 3. 为指定的控件创建代理对象 下图是启用浏览器环境的测试结果,可以看见 Java, HTML 两种 DomainImplementation ...