jenkins+jacoco+ant自动化代码和应用服务代码分离场景获取远程服务的覆盖率
前提
自动化代码和应用服务代码分离。jenkins和tomcat服务器分离
思想
1.在tomcat启动javaagent监听。
2.运用其他job_B已部署的应用服务代码
3.拉取自动化代码,开始测试
4.测试完成后,调用ant,生成覆盖率的exec文件
5.拉取应用服务代码到当前job_a的workspace
6.使用jacoco coverage report统计覆盖率
步骤
1.jenkins安装插件
2.进入系统管理,配置maven和ant

3.新建maven风格的job
4.自动化测试代码git配置
5.build输入clean test
6.执行shell
cd /Users/qiaojiafei/.jenkins/workspace/qingzhutool
git pull
mvn compile
7.调用ant,targets输入dump,ant的配置文件如下:
<?xml version="1.0" ?>
<project name="qjf" xmlns:jacoco="antlib:org.jacoco.ant" default="jacoco">
<property environment="env"/>
<!--JaCoCo的安装路径-->
<property name="jacocoantPath" value="/Users/qiaojiafei/Documents/work/soft/jacoco-0.8.3/lib/jacocoant.jar"/>
<!--最终生成.exec文件的路径,JaCoCo就是根据这个文件生成最终的报告的-->
<property name="jacocoexecPath" value="/Users/qiaojiafei/.jenkins/workspace/${env.JOB_NAME}/jacoco.exec"/>
<!--生成覆盖率报告的路径-->
<property name="reportfolderPath" value="/Users/qiaojiafei/.jenkins/workspace/${env.JOB_NAME}/report/"/>
<!--远程tomcat服务或者应用的ip地址-->
<property name="server_ip" value="127.0.0.1"/>
<!--前面配置的远程tomcat服务或者应用打开的端口,要跟上面配置的一样-->
<property name="server_port" value="6300"/>
<!--源代码路径-->
<property name="checkOrderSrcpath" value="/Users/qiaojiafei/.jenkins/workspace/${env.JOB_NAME}/qingzhutool" />
<!--.class文件路径-->
<property name="checkOrderClasspath" value="/Users/qiaojiafei/.jenkins/workspace/qingzhutool/target/classes" /> <!--让ant知道去哪儿找JaCoCo-->
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath path="${jacocoantPath}" />
</taskdef> <!--dump任务:
根据前面配置的ip地址,和端口号,
访问目标tomcat服务或者应用,并生成.exec文件。-->
<target name="dump">
<jacoco:dump address="${server_ip}" reset="false" destfile="${jacocoexecPath}" port="${server_port}" append="true"/>
</target> <!--JaCoCo任务:
根据前面配置的源代码路径和.class文件路径,
根据dump后,生成的.exec文件,生成最终的html覆盖率报告。-->
<target name="report">
<delete dir="${reportfolderPath}" />
<mkdir dir="${reportfolderPath}" /> <jacoco:report>
<executiondata>
<file file="${jacocoexecPath}" />
</executiondata> <structure name="JaCoCo Report">
<group name="Check Order related">
<classfiles>
<fileset dir="${checkOrderClasspath}" />
</classfiles>
<sourcefiles encoding="gbk">
<fileset dir="${checkOrderSrcpath}" />
</sourcefiles>
</group>
</structure> <html destdir="${reportfolderPath}" encoding="utf-8" />
</jacoco:report>
</target>
</project>
8.再次执行shell
#cp /Users/qiaojiafei/.jenkins/workspace/jacocotesttool/jacoco.exec /Users/qiaojiafei/.jenkins/workspace/qingzhutool/
rm -rf qingzhutool
ls
git clone git@192.144.141.166:qingzhuhotel/qingzhutool.git
cd qingzhutool
git checkout master
git pull
#cp /Users/qiaojiafei/.jenkins/workspace/qingzhutool/jacoco.exec ./
mvn compile
9.最后构建后添加record jacoco coverage report
总体配置图如下


jenkins+jacoco+ant自动化代码和应用服务代码分离场景获取远程服务的覆盖率的更多相关文章
- jenkins+jacoco+ant+apache集成统计web端功能测试覆盖率
一.覆盖率定义 作为一个测试人员,保证产品的软件质量是其工作首要目标,为了这个目标,测试人员常常会通过很多手段或工具来加以保证,覆盖率就是其中一环比较重要的环节. 我们通常会将测试覆盖率分为两个部分, ...
- Jenkins+Jmeter+Ant自动化集成及邮件正文以html输出
一.工具的安装与环境变量配置 1.依次安装Jenkins+Jmeter+Ant,具体安装步骤,此文不再详述 2.配置Jmeter&ant环境变量 Jmeter变量: 验证是否配置成功:cmd窗 ...
- Jenkins+Jmeter+Ant自动化集成环境搭建
1.搭建环境,安装以下工具 JDK:jdk1.7.0_79 Ant:apache-ant-1.9.7 Jmeter: apache-jmeter-3.0 Jenkins: jenkins-1.651. ...
- Jenkins + Jmeter +Ant自动化集成环境搭建(一)
所需工具 一.jmeter 工具下载 https://jmeter.apache.org/ 配置环境JDK等及各种插件可以看小七之前的教程 二.Ant安装(http://ant.apache.org ...
- Jenkins+Jmeter+Ant自动化持续集成环境搭建
[前言] 今天让我们先把准备工作做好 >> 搭建环境! [正文] JDK+Jmeter安装教程: 参考博客:https://www.cnblogs.com/baoziluo/p/79056 ...
- Jenkins+PMD构建自动化静态代码检测
前言:软件缺陷是不可避免的,要尽量减少错误并提高软件质量,主要有两在类技术,即缺陷预防和缺陷检测 缺陷预防包括编写更好的设计规范.实施代码审核制度.运行代码静态分析工具.运行单元测试等 PMD是一种开 ...
- 使用Jenkins + git submodule 实现自动化编译,解决代码安全性问题
道哥的第 030 篇原创 目录 一.一个真实的代码泄漏故事 二.Jenkins 的基本使用 1. Jenkins 是什么? 2. 安装 JDK8 3. 安装 Jenkins 4. 在浏览器中配置 Je ...
- Jenkins 实现前端自动打包,自动部署代码及邮件提醒功能
在之前的公司,我们前端使用webpack构建项目,项目构建完成后,我们会使用ftp或linux的一些命令工具上传我们的文件到服务器上,这种方式虽然是可以,但是最近面试的时候,人家会问我前端如何部署项目 ...
- 《OOC》笔记(4)——自动化地将C#代码转化为C代码(结构版)
<OOC>笔记(4)——自动化地将C#代码转化为C代码(结构版) 我在<C表达面向对象语言的机制——C#版>中已经说明了从C#到C的转换方法.这次看<OOC>也是想 ...
随机推荐
- pwnhub_WTP攻击思路--self-xss高级利用
1.self-xss+302跳转构造csrf的利用: 1.login.php 存在跳转2.http://54.223.108.205:23333/login.php?redirecturl=//vps ...
- notepad++怎样添加文件目录
需要安装一个Explorer.dll文件 方法一:这个方法我个人试了不成功,可能因为版本问题,进入后选择Explorer进行安装 方法二:网上下载 Explorer.dll文件,放到\\No ...
- sofar:机器学习检测十题
http://sofasofa.io/forum_main_post.php?postid=1001084 http://sofasofa.io/forum_main_post.php?postid= ...
- 【HTML-进阶-如何实现父级块级元素宽度自适应子元素宽度】
背景 块级元素宽度默认值为100%,而不是auto;因此其宽度不会根据子元素内容动态适应. 如何实现父级元素宽度动态适应其子元素. 方法一 display:inline; 给块级元素设置inline- ...
- TXT文件转换成DataSet数据集
/// <summary> /// TXT文件转换成DataSet数据集 /// </summary> /// <param name="FilePath&qu ...
- BZOJ 4520: [Cqoi2016]K远点对(k-d tree)
Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 1162 Solved: 618[Submit][Status][Discuss] Descripti ...
- CentOS 7 Minimal 安装JDK 1.8
真好最近比较闲,打算在linux 的CentOS 7 Minimal版本试着搭建hadoop环境学习学习,当然第一步就是在CentOS 7 Minimal 安装JDK 1.8环境.其实老早就打算了解一 ...
- Linux安装部署
Linux桌面发行版 UbuntuCentOSRed heat LinuxOracle Linux 一.系统安装 1.系统分区 若手动分区swap和根分区必须创建,推荐创建boot分区. /----- ...
- input的默认样式去除
outline:none;-----可去除input=text,的输入框输入时的亮边.
- xftp
SFTP.FTP 文件传输软件. 所有通过该软件的网络流量都是加密的. 1.点击新建 2.新建一个链接 3.点击确定,保存,然后点击该链接 4.链接服务器成功后,如下图右侧,可以增删改查文件.左侧文件 ...