现在的位置: 首页 > 综合 > 正文

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

2013年01月22日 ⁄ 综合 ⁄ 共 3989字 ⁄ 字号 评论关闭

// 以下内容都是原创,转载请注明出处CSDN

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")。
  •  你可以创建包含你自己产品的测试套件,并且只要通过简单的配置就可以将他们运行起来。

要下载的相关文件我已经全部整理并传到csdn资源上去了,使用下面的链接进行下载。

【JTharness4_4_0】【源代码】

【JTharness4_4_0】【BIN文件】

【JTHarness4_4_0】【需要用到的包】

【JTharness4_4_0】【文档】

【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都基于这些类。因此不要再这里添加GUI代码。

com.sun.javatest.lib

包含了一些plug-in类(如TestFinder, Script, Test)的实现。不要在这个包下添加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选项配置向导对话框必修实现的类:
com.sun.javatest.interview.BasicInterviweParameters
.

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或更高

http://ant.apache.org/

解压后讲ant.jar添加到引用

ASM Java bytecode manipulation framework v3.1

http://asm.objectweb.org/

注意:一定要是3.1版本,最新的版本会导致编译不通过。只在编译的时候要引用,运行时不需要这个包。

JavaHelp software version 2.0_02 或更高

https://javahelp.dev.java.net/#binary

帮助界面。如果没有这个包,运行时会报错。

JDK version 1.5 或更高

http://java.sun.com/javase/index.jsp

这个就不用说了。一般都用1.6

Java Communications 3.0 API

官网提供的地址下不了。我是自己从CSDN上下载的

在以下操作系统下有效:Solaris SPARC, Solaris x86, Linux x86。如果使用windows就没什么用,这里引用主要是为了编译源代码。

JUnit 4.4 library

http://www.junit.org/

JT harness能与Junit很好的结合,如果你不想用junit的话,那对你就没什么用

Servlet libraries (javax.servlet)

官网提供的地址要求下载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和二次开发的方法。



抱歉!评论已关闭.