星云测试Horn插装采用脚本配置方式自动对语法进行扫描和插装,在整个插装过程中需要用到星云提供的插件工具。通过与CI集成,在CI编译前通过jenkins调用星云插装插件模块进行必要的数据填充,生成对应的项目插装脚本,即可以通过星云插装插件进行项目插装与编译。
通过星云插件脚本自动创建工程和代码插装
1.解压星云提供的插件包
星云测试在windows环境下提供的插装工具为javaForWindows工具包;将javaForWindows放到合适目录下并解压即可。(LINUX使用LINUX插件包)。(登录星云网站www.teststars.cc 离线企业测试中心即可免费试用)
2.修改脚本配置
星云测试整个编译通过脚本ComplierPath.xml配置文件进行,在ComplierPath.xml中用户需要配置TTserver的服务器地址、用户名、项目名、版本名、以及代码路径等,如果需要过滤不需要插装的代码,也可以通过该配置进行过滤。通过jenkins对通用模板进行数据填充,生成本次插装编译项目所需要的对应脚本。
配置参数说明:
1127.0.0.1 2 3user 使用该用户名前,建议该用户名没有其它登录客户端操作 4 5user 6 70 一般默认 8 90 一般默认 10 110 一般默认 12 130 (注意:project_path 和 class_path 路径不能为空)一般默认 14 151 一般默认 18 190 一般默认 20 2122 23 j2eeproj 24 25asdasdada_RR 一般为空 26 27Ver2 30 3132 33 48 49TTPro1 34 3536 37 46 47J:\sushe\src 38 39J:\sushe\build\classes 40 41GBK 一般默认 42 43D:\moxi\target\classes (注意:想要不插装多个路径,就写多个filterPath)一般不填写 44 45
3.插件运行进行代码分析与插装
TT插装插件可以通过Jenkins命令进行启动,如:Windows通过cmd命令选择到插件所在的根目录下,运行autoCompiler.jar进行编译(记得编译得时候在javaForWindows目录下进行编译)
命令: .\jre\bin\java.exe -jar autoCompile.jar -c D:\J2EE\javaForWindows
注:-c后面的参数为ComplierPath.xml文件的目录
命令生效后自动进行代码分析与插装并在cmd窗口中进行打印。
注意:
.\jre\bin\java.exe -jar autpCompile.jar -c 插件路径 ComplierPath.xml绝对路径
4.项目静态数据加载
插装成功后,通过登录客户端选中我们插装的项目进行版本静态数据的加载,加载成功后即可看到分析的生成的静态数据
5.源码路径替换,采用星云插装代码
由于测试的时候需要运行星云插装过后的代码应用生成采集数据,所以需要对编译的源码路径进行相应修改,通过Jenkins脚本对目录进行更替,星云插装过后的代码会在脚本配置的代码路径的目录同层下生成src-instru目录,src-instru目录即为编译插装后的源码);
具体操作:先将源码目录下未插装的java目录重命名为pre_java,再将编译插装生成的src-instru目录命名为java。
6.项目添加星云依赖库进行并编译
Maven项目pom.xml修改加入依赖库
因采用星云插装过后的代码,即在编译过程中需要引入星云提供的2个依赖库,Maven项目可以通过修改pom.xml进行引入
通过jenkins自动修改项目的pom.xml文件来引入TT的依赖库:
方法加入到两个
systemPath需要按JavaParser-j2ee.jar和jeromq-0.3.0-SNAPSHOT.jar的绝对路径填写
12 3 14 15com.zoa 4 5JavaParser-MQ 6 71.0 8 9system 10 11/D:/J2EE/client/MQ/JavaParser-J2EE.jar 12 1316 17 com.zoa 18 19jeromq 20 211.0 22 23system 24 25/D:/J2EE/client/MQ/jeromq-0.3.0-SNAPSHOT.jar
在pom文件修改完成后即可打包发布
在被测程序目录下执行mvn clean package 命令
传统J2EE项目或安卓项目
通过jenkins在编译项目中引入JavaParser-j2ee.jar和jeromq-0.3.0-SNAPSHOT.jar进行编译,注这里需要群J2EE和安卓项目,如安卓项目需要把2个依赖包最终打入到APK中,如果是J2EE项目,请在最后生成的war包或jar包中取出该依赖包,因J2EE项目最终会搭配agent使用,agent中会自带该依赖。
打包完成,为使函数覆盖率可视视图代码部分显示正常,需要手动修改源码路径:右键版本,点击修改源码路径,选择到pre_java目录即可。