// 以下内容都是原创,转载请注明出处CSDN
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")。
- 你可以创建包含你自己产品的测试套件,并且只要通过简单的配置就可以将他们运行起来。
要下载的相关文件我已经全部整理并传到csdn资源上去了,使用下面的链接进行下载。
【JTharness4_4_0】【1.修改源码前得准备工作】
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.lib 包含了一些plug-in类(如 com.sun.javatest.finder 功能与 com.sun.javatest.report 包含了所有报告生成代码的实现,无论是生成HTML还是纯文本。未来的格式报告生成代码将会放在这个包或者它的子包中。 com.sun.javatest.tool 这是JT harness GUI接口的核心基础库。这里定义了最顶层的GUI借口 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选项配置向导对话框必修实现的类: com.sun.javatest.agent 这些类主要实现标准的JT harness agent模块,用于执行远程脚本和结果报告。JCK和CDC TCKs都会使用该模块。 com.sun.javatest.servlets 一些实用的servlet类,其他机器可以通过网络,使用servlet的方式控制JT harness的执行,并且实时查看执行结果。执行异地测试的时候这个功能比较有用。 com.sun.javatest.audit 统计测试执行的结果。这些类主要用于分布式测试,在active连接状态下没有什么用。 |
3. 下载源码依赖的jar包
JT Harness引用了其他的开源包,并且对包的版本有要求,一定要使用对应的版本,否则可能会出现函数或类找不到的问题,导致编译不通过。下面的包我都已经打包放在【JTHarness4_4_0】【需要用到的包】中,不用自己去下载。
引用的jar包 |
下载地址 |
说明 |
Ant version 1.6.1或更高 |
解压后讲ant.jar添加到引用 |
|
ASM Java bytecode manipulation framework v3.1 |
注意:一定要是3.1版本,最新的版本会导致编译不通过。只在编译的时候要引用,运行时不需要这个包。 |
|
JavaHelp software version 2.0_02 或更高 |
帮助界面。如果没有这个包,运行时会报错。 |
|
JDK version 1.5 或更高 |
这个就不用说了。一般都用1.6 |
|
Java Communications 3.0 API |
官网提供的地址下不了。我是自己从CSDN上下载的 |
在以下操作系统下有效:Solaris SPARC, Solaris x86, Linux x86。如果使用windows就没什么用,这里引用主要是为了编译源代码。 |
JUnit 4.4 library |
JT harness能与Junit很好的结合,如果你不想用junit的话,那对你就没什么用 |
|
Servlet libraries ( |
官网提供的地址要求下载glassfish,太大了,我就从其他网站下的servlet-api.jar. 如果你安装了tomcat,可以从tomcat下面拷贝过来。 |
前面说了,Servlet在执行异地测试的时候挺有用的 |
下载了源代码和上面的jar包后,就可以在eclipse新建一个java工程,将源文件拷贝到src下面,将上面的jar包添加到引用,编译,执行com.sun.javatest.tool.Main,就可以看到harness运行界面了。但是这个界面什么也干不了,因为harness还需要其他的两个*.lst文件,下一篇博客里会介绍如何build一个JTHaress工程。
4. 下载使用说明书和架构设计文档
下面的文档我都打包放在【JTharness4_4_0】【文档】中。
如果只是使用不修改,需要阅读下面的文档:
《javatest_harness.pdf》 |
JT harness的简介,类似于海报 |
《jt_whitepager.pdf》 |
JT harness白皮书,harness结构设计和原理实现的简介,及利用harness构建测试套件的使用教程 |
《javatestGUI.pdf》 |
JT harness GUI使用教程,较简单,可以不看 |
《javatestCLI.pdf》 |
JT harness 命令行使用教程,如果药加快脚本执行的速度,并且只关心执行结果,需要详细看这个教程 |
《javatestAgent.pdf》 |
JT harness Agent使用教程,如果要执行异地测试或者分布式测试,需要详细看这本教程,里面提供的active和passive两种连接方式,很强大,也很有意思。 |
如果要对JT harness的源码进行修改或者二次开发,应详细反复阅读下面的文档:
《javatest_arch_guide.pdf》 |
JT harness的详细架构设计说明书。详细描述了JT harness的架构,并且提供了扩展JT harness和二次开发的方法。 |