zoukankan      html  css  js  c++  java
  • 星云测试插装编译流程与CI集成

     

    星云测试Horn插装采用脚本配置方式自动对语法进行扫描和插装,在整个插装过程中需要用到星云提供的插件工具。通过与CI集成,在CI编译前通过jenkins调用星云插装插件模块进行必要的数据填充,生成对应的项目插装脚本,即可以通过星云插装插件进行项目插装与编译。

     

    通过星云插件脚本自动创建工程和代码插装 

    1.解压星云提供的插件包 

    星云测试在windows环境下提供的插装工具为javaForWindows工具包;将javaForWindows放到合适目录下并解压即可。(LINUX使用LINUX插件包)。(登录星云网站www.teststars.cc     离线企业测试中心即可免费试用)

    2.修改脚本配置 

    星云测试整个编译通过脚本ComplierPath.xml配置文件进行,在ComplierPath.xml中用户需要配置TTserver的服务器地址、用户名、项目名、版本名、以及代码路径等,如果需要过滤不需要插装的代码,也可以通过该配置进行过滤。通过jenkins对通用模板进行数据填充,生成本次插装编译项目所需要的对应脚本。

     

    配置参数说明:

          

     1  <server_ip>127.0.0.1</server_ip><!--服务端ip,按照实际配置-->
     2 
     3        <user_name>user</user_name><!--编译账户用户名-->使用该用户名前,建议该用户名没有其它登录客户端操作
     4 
     5        <password>user</password><!--编译账户用户密码-->
     6 
     7        <is_append>0</is_append><!--是否追加编译0不追加  1 追加-->一般默认
     8 
     9 <is_Regression>0</is_Regression><!--是否选择回归0不回归  1 回归-->一般默认
    10 
    11 <is_AddCompile>0</is_AddCompile><!--是否增量编译0否  1 是  增量编译是文件级别的去重编译,此时会忽略同模块名级别去重-->一般默认
    12 
    13 <is_classCompileOnly>0</is_classCompileOnly><!--是否追加class编译0不追加  1 追加-->(注意:project_path 和 class_path 路径不能为空)一般默认
    14 
    15        <compile_mode>1</compile_mode><!--编译模式0 旧编译模式(通过客户端登录方式)
    16 
    17 1新编译方式-->一般默认
    18 
    19    <is_Parallel_compile_mode>0</is_Parallel_compile_mode><!--是否支持并行编译0 否 1是-->一般默认
    20 
    21 <tool>
    22 
    23        <project_name>j2eeproj</project_name>  <!--项目名称,追加编译时候必须填写,普通编译可以置空,建议按实际项目填写-->
    24 
    25        <baseversion_name>asdasdada_RR</baseversion_name> <!--基础拷贝版本名称,以为空默认查找当前项目下最新的版本作为基础版本-->一般为空
    26 
    27        <version_name>Ver2</version_name> <!--版本名称,可以为空,默认按照当前时间创建:
    28 
    29     例如:Ver_2019_02-02-18_0_0 ,该新建版本可以再客户端菜单:文件/刷新工程导航树 刷新出来-->
    30 
    31        <submodule>
    32 
    33               <proName>TTPro1</proName> <!--当前模块名称,如果配置为追加编译且不是增量编译会按照同名模块去重,建议起初就进行配置-->
    34 
    35        <Path>
    36 
    37               <project_path>J:sushesrc</project_path>   <!--src项目路径-->
    38 
    39 <class_path>J:susheuildclasses</class_path>  <!--class文件目录-->                              
    40 
    41               <encode>GBK</encode> <!--编码格式Automatic_encoding 有系统自动识别或者配置实际编码格式-->一般默认
    42 
    43 <filterPath>D:moxi	argetclasses</filterPath> <!--过滤不插装的路径-->(注意:想要不插装多个路径,就写多个filterPath)一般不填写
    44 
    45 </Path>
    46 
    47        </submodule>
    48 
    49 </tool>  

    3.插件运行进行代码分析与插装

    TT插装插件可以通过Jenkins命令进行启动,如:Windows通过cmd命令选择到插件所在的根目录下,运行autoCompiler.jar进行编译(记得编译得时候在javaForWindows目录下进行编译)

    命令:  .jreinjava.exe -jar autoCompile.jar -c D:J2EEjavaForWindows

           注:-c后面的参数为ComplierPath.xml文件的目录

           命令生效后自动进行代码分析与插装并在cmd窗口中进行打印。

     

    注意:<is_Parallel_compile_mode>0</is_Parallel_compile_mode><!--是否支持并行编译0 否 1是-->若是选择为1的启动方式:

    .jreinjava.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的依赖库:

    方法加入到两个<dependencies>之间,加入的代码如下:

    systemPath需要按JavaParser-j2ee.jar和jeromq-0.3.0-SNAPSHOT.jar的绝对路径填写

     1  <dependency>
     2 
     3 <groupId>com.zoa</groupId>
     4 
     5 <artifactId>JavaParser-MQ</artifactId>
     6 
     7 <version>1.0</version>
     8 
     9 <scope>system</scope>
    10 
    11 <systemPath>/D:/J2EE/client/MQ/JavaParser-J2EE.jar</systemPath>
    12 
    13  </dependency>
    14 
    15 <dependency>
    16 
    17          <groupId>com.zoa</groupId>
    18 
    19          <artifactId>jeromq</artifactId>
    20 
    21          <version>1.0</version>
    22 
    23          <scope>system</scope>
    24 
    25 <systemPath>/D:/J2EE/client/MQ/jeromq-0.3.0-SNAPSHOT.jar</systemPath></dependency>

    在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目录即可。

     

  • 相关阅读:
    monkeyrunner之夜神模拟器的安装与使用(二)
    monkeyrunner之安卓开发环境搭建(一)
    MySQL 返回未包含在group by中的列
    MySQL数据库初体验
    MongoDB安装
    关于数据库你必须知道的事~
    PostgreSQL中的MVCC 事务隔离
    深入浅出MySQL之索引为什么要下推?
    Java集合篇:Map集合的几种遍历方式及性能测试
    Oracle11g:数据库恢复总结
  • 原文地址:https://www.cnblogs.com/davidtest/p/11765814.html
Copyright © 2011-2022 走看看