修改JTHarness源码前的准备工作

1.JTHarness介绍

JT Harness是Sun提供的开源自动化测试框架,它提供了灵活、强大的测试管理功能,尤其适合大多数类型的单元测试,支持JUnit和自定义的测试脚本格式,支持远程测试、分布式测试。

JT Harness最初用于TCK(Technology Compatibility Kit)测试。后来JT Harness发展为可在多种平台上运行多种不同类型测试的通用测试平台。

JT Harness提供了GUI和命令行接口。适合不同阶段对美观性、易用性、执行效率等要求。

JT Harness被设计用于配置、管理和执行测试,适合那些包含很多(100,000或者更多)独立脚本的测试。特别适合用来测试API和编译器。

可以在所有的java平台上执行测试,从JavaCard platform,到JavaPlatform, 再到EnterpriseEdition ("Java EE")。

你可以创建包含你自己产品的测试套件,并且只要通过简单的配置就可以将他们运行起来。

【JTharness4_4_0】【源代码】

【JTharness4_4_0】【BIN文件】

【JTHarness4_4_0】【需要用到的包】

【JTharness4_4_0】【文档】

【JTharness4_4_0】【1.修改源码前得准备工作】

具体下载目录在 /pub/2011/12/10/修改JTHarness源码前的准备工作/

2.     下载源码

可以从JTHarness的官网http://java.net/projects/jtharness下载JTHarness4_4_0的源代码。这里已经下好了,打包在文件中:【JTharness4_4_0】【源代码】。

解压后从code/src目录下可以找到源代码,对源代码的各个包的功能说明在:“JT Harness Source Code Description”页面中,我翻译了一下:

JT Harness源代码描述

JT Harness源代码的中类包的结构主要是根据他们的功能和职责及特殊性来划分的。Harness的核心在一个包,而其GUI功能实现在另一个包。GUI下面又分了很多的子包,在包之间定义了良好的接口去实现各种图形界面。

// =================================================================

// pakages

后面的包都包含在下面两个目录中:

src/share/classes/com/sun/javatest/

src/share/classes/com/sun/interview/

 

com.sun.javatest

JT harness的核心,许多基础类和接口都在这里定义,例如:TestFinder, Script, 和 TestEnvironment。许多子包都引用了这里的类。在CLI模式下会初始化这个包下面的一些类,因此确保这里的类不调用AWT/Swing下面的东西是很重要的。

com.sun.javatest.util

包含了许多的实用工具类,并且每个类都是自包含的。如果你要写自己的类,应先考虑是否可以放在这里,或者直接就用这里的类。考虑到兼容性的问题,这是一个核心包,甚至com.sun.javatest都基于这些类。因此不要再这里添加GUI代码。

com.sun.javatest.lib

包含了一些plug-in类(如<font face="Courier New">TestFinder, Script, Test</font>)的实现。不要在这个包下添加GUI代码。

com.sun.javatest.finder

功能与com.sun.javatest.lib包相似,但主要针对TestFinder类。包含了许多实现,并且大多数的测试套件都会使用这个包及其子包的类。不要在这个包下添加GUI代码。

com.sun.javatest.report

包含了所有报告生成代码的实现,无论是生成HTML还是纯文本。未来的格式报告生成代码将会放在这个包或者它的子包中。

com.sun.javatest.tool

这是JT harness GUI接口的核心基础库。这里定义了最顶层的GUI借口Desktop,和下面的一些图形工具。要注意的是:你要执行测试的GUI实现并不在这个包中,这个包只控制像:菜单的组织、顶层窗口布局、选项对话框的界面。这个包也包含了JT harness的入口:com.sun.javatest.tool.Main

com.sun.javatest.exec

这里的"Exec Tool"其实就是"Test Manager"。这个包下面的类主要负责测试执行模块的GUI功能。Configuration Editor界面也包含在这里。大部分人都认为这里就是JT harness GUI功能的核心。

com.sun.javatest.exec.template

GUI模板控制的支持类。

com.sun.javatest.batch

命令行接口的支持类。

com.sun.interview

基本的界面API。

com.sun.interview.wizard

选项配置向导对话框的GUI显示组件。

com.sun.javatest.interview

interview类的实现。也包含JT harness选项配置向导对话框必修实现的类: <font face="Courier New">com.sun.javatest.interview.BasicInterviweParameters</font>.

com.sun.javatest.agent

这些类主要实现标准的JT harness agent模块,用于执行远程脚本和结果报告。JCK和CDC TCKs都会使用该模块。

com.sun.javatest.servlets

一些实用的servlet类,其他机器可以通过网络,使用servlet的方式控制JT harness的执行,并且实时查看执行结果。执行异地测试的时候这个功能比较有用。

com.sun.javatest.audit

统计测试执行的结果。这些类主要用于分布式测试,在active连接状态下没有什么用。

相关推荐