如何使用pipeline和jacoco获取自动化测试代码覆盖率
1下载jacoco,并上传至服务器:https://www.eclemma.org/jacoco/
2.应用服务tomcat的catalina.sh增加jacocoagent
#JAVA_OPTS="$JAVA_OPTS -javaagent:/Users/qiaojiafei/Documents/work/jacoco/jacoco-0.8.3/lib/jacocoagent.jar=includes=*,classdumpdir=classes,output=tcpserver,address=127.0.0.1,port=6300"
2.jenkins的pipeline配置
node { stage('Test') { echo 'This is a test step' checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/develop']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'bad9f924--4416-9f5e-', url: 'http://:8000/qiaojiafei/platform-qa.git']]] sh 'mvn clean test -DapiTest.xml -Dmaven.test.failure.ignore=true' } stage('rd code') { echo 'This is a test step' checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'bad9f924--4416-9f5e-', url: 'http://:8000/qingzhuhotel/qingzhutool.git']]] sh 'mvn compile' } stage('DumpFromServer'){ echo 'This is a DumpFromServer step' sh label: '', script: 'mvn org.jacoco:jacoco-maven-plugin:0.8.3:dump -Djacoco.address=192.168.162.224 -Djacoco.port=6300' } stage('jacoco'){ jacoco() } }
结果展示
jacoco原理
官网介绍:
https://www.jacoco.org/jacoco/trunk/doc/implementation.html
参考:
https://testerhome.com/topics/5757
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) }span.s1 { font-variant-ligatures: no-common-ligatures }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
在Redis集群中使用pipeline批量插入的实现方法
由于项目中需要使用批量插入功能, 所以在网上查找到了Redis 批量插入可以使用pipeline来高效的插入, 示例代码如下: String key = "key"; Jedis jedis = new Jedis("xx.xx.xx.xx"); Pipeline p = jedis.pipelined(); List<String> myData = .... //要插入的数据列表 for(String data: myData){ p.hset(ke
-
Jenkins Pipeline 部署 SpringBoot 应用的教程详解
一. 安装依赖包 yum install -y wget yum install -y gcc-c++ yum install -y zlib-devel perl-ExtUtils-MakeMaker yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker yum install -y openssh-clients yum install
-
Jenkins插件pipeline原理及使用方法解析
摘要: pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 一,安装pipeline 进入jenkins的[系统管理]--[插件管理]页面,选择[可选插件]然后搜索pipeline. 然后选择直接安装,它会将依赖的一些插件也一并安装.安装完成后重启jenkins就可以使用了.
-
使用Jenkins Pipeline自动化构建发布Java项目的方法
简介 Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. Pipeline是Jenkins2.X的最核心的特性,帮助Jenkins实现从CI到CD与DevOps的转变. 一,创建pipeline项目 二,清除部分历史构建 三,参数化构建 这里使用三个参数,分别对应是否拉取代码,项目名称,以及发版选项 四,编写pipeline脚本 选择pipeline script 编写pipelin
-
Redis利用Pipeline加速查询速度的方法
1. RTT Redis 是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下 Redis 客户端执行一条命令分为如下四个过程: 发送命令 命令排队 命令执行 返回结果 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应.服务端处理命令,并将结果返回给客户端.客户端和服务端通过网络进行连接.这个连接可以很快,也可能很慢.无论网络如何延迟,数据包总是能从客户端到达服务端,服务端返回数据给客户端. 这个时间被称为 RTT (Round
-
python使用pipeline批量读写redis的方法
用了很久的redis了.随着业务的要求越来越高.对redis的读写速度要求也越来越高.正好最近有个需求(需要在秒级取值1000+的数据),如果对于传统的单词取值,循环取值,消耗实在是大,有小伙伴可能考虑到多线程,但这并不是最好的解决方案,这里考虑到了redis特有的功能pipeline管道功能. 下面就更大家演示一下pipeline在python环境下的使用情况. 1.插入数据 >>> import redis >>> conn = redis.Redis(host='
-
jenkins 构建项目之 pipeline基础教程
一.pipeline 简介 pipeline ,简单来说,就是一套运行在 jenkins 上的工作流框架.将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程 编排 和 可视化 的工作. 二.pipeline 有哪些好处 代码:pipeline 以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程. 持久:无论是计划内的还是计划外的服务器重启,pipeline 都是可以恢复的. 可停止:pipeline 可接受交互式输入,以确定是否继续执行 p
-
python中sklearn的pipeline模块实例详解
最近在看<深度学习:基于Keras的Python实践(魏贞原)>这本书,书中8.3创建了一个Scikit-Learn的Pipeline,首先标准化数据集,然后创建和评估基线神经网络模型,代码如下: # 数据正态化,改进算法 steps = [] steps.append(('standardize', StandardScaler())) steps.append(('mlp', model)) pipeline = Pipeline(steps) kfold = KFold(n_splits
-
如何使用pipeline和jacoco获取自动化测试代码覆盖率
1下载jacoco,并上传至服务器:https://www.eclemma.org/jacoco/ 2.应用服务tomcat的catalina.sh增加jacocoagent #JAVA_OPTS="$JAVA_OPTS -javaagent:/Users/qiaojiafei/Documents/work/jacoco/jacoco-0.8.3/lib/jacocoagent.jar=includes=*,classdumpdir=classes,output=tcpserver,addres
-
使用Jacoco获取 Java 程序的代码执行覆盖率的步骤详解
Jacoco是Java Code Coverage的缩写,顾名思义,它是获取Java代码执行覆盖率的一个工具,通常用它来获取单元测试覆盖率.它通过分析Java字节码来得到代码执行覆盖率,因此它还可以分析任何基于JVM的语言(如Croovy.Kotlin)的覆盖率.本文不讨论如何用Jacoco获取单元测试的代码覆盖率,而是从Jacoco的原理出发,介绍如何通过Jacoco获取SIT或者UAT的测试覆盖率.更准确来讲,是获取一个应用执行过的代码占总代码的比率.包括字节码指令覆盖率,分支覆盖率,圈复杂
-
Jenkins+Docker持续集成的实现
目录 一.Jenkins介绍 二.安装部署Jenkins 1. 环境信息 2. 新建Jenkins用户 3. Jenkins安装方式 4. Jenkins授权和访问控制 5. Jenkins系统配置 三.Jenkins构建maven风格的job 1. 新建maven任务 2. 构建任务配置 3. 源码管理配置 4. 构建触发器配置 5. Maven构建设置 四.Jenkins邮件通知设置 1. 配置jenkins自带的邮件功能 2. 安装使用插件Email Extension Plugin 五.
-
Docker 安装Jenkins全过程及踩坑指南
目录 Docker安装Jenkins 1.安装过程 2.Jenkins安装npm 2.1.替换容器的源 2.2.安装nodejs和npm 3.Jenkins流水线+Docker+Maven+Githubwebhooks+Springboot 3.1.需要的插件和配置 3.1.1.插件 BlueOcean MavenIntegration 3.1.2.配置 3.1.3.安装maven 3.1.4.配置Jenkins使用Docker 3.1.5.配置Jenkins中的GitSSH 3.1.6.Git
-
Appium自动化测试中获取Toast信息操作
目录 Toast简介 Toast 定位 启动参数配置 toast信息存在是否存在判断封装 toast信息内容获取 Toast简介 Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失. Toast 定位 Appium 1.6.3开始支持识别Toast内容,主要是基于UiAutomator2,因此需要在Capablity配置参数 启动参数配置 desired_caps['automation
-
Jenkins迁移之pipeline共享库的实践示例
目录 背景 初期需求 成果展示 共享库 共享库结构 入口代码: loadPipeline.groovy 参数使用 jobInfo 对象管理 pipeline 结构:defaultPipeline.groovy 动态参数:initParamsStage.groovy 共享库的扩展示例 背景 我们一直使用的 jenkins 服务还是 2.0 以下不支持 pipeline 的版本.平时创建任务多数使用 maven 项目,构建后的 shell 部署命令都是在各个 job 中独立维护.这种方式的缺点就是:
-
实现android应用程序自动化测试的批处理脚本
测试平台:兼容android所有平台(2.3-4.2) 测试背景:由于需要对产品的SDK做接口测试,而这些接口需要在app里面调用,故开发了一个简单的android应用(如图),用来调用需要测试的接口,app中的每个按钮其实都是一个测试模块. 测试需求: 1.由于某些接口在程序第一次安装打开时调用,需要实现自动化安装打开关闭卸载测试,可设置重复次数. 2.由于需要测试接口的稳定性,每个按钮每天都要跑多篇,所以实现简单点击的UI自动化,循环点击. 3.自动检查收集logcat日志并解析日志结果:自
-
使用PowerShell .Net获取电脑中的UUID
UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分. 组成 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成的API.按照开放软件基金会(OSF)制定的标准计算,用到了以太网
-
Python自动化测试ConfigParser模块读写配置文件
Python自动化测试ConfigParser模块读写配置文件 ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有option=value这样的键值 配置文件 test.conf [section1] name = tank age = 28 [section2] ip = 192.168.1.1 port = 8080 Python代码 #
-
Android注册登录实时自动获取短信验证码
android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码. 主要就是实时获取短信信息. android上获取短信信息主要有BroadcastReceiver方式与数据库方式,要实时的话就BroadcastReceiver比较方便,分享一篇文章大家可以查看一下,点击. public class SMSReceiver extends BroadcastReceiver{ private String ver
随机推荐
- java设计模式之模板方法模式详解
- Java中一些基础概念的使用详解
- JS动态获取当前时间,并写到特定的区域
- c# .net在WEB页中的COOKIES设置技巧
- PHP rsa加密解密使用方法
- Docker 实现浏览器里开发Android应用的功能
- 中国站长站 For Dede4.0 采集规则
- JavaScript实现的一个计算数字步数的算法分享
- 在smarty中调用php内置函数的方法
- VBS教程:运算符-运算符概述
- Powershell创建数组正确、更快的方法
- jQuery中DOM节点删除之empty与remove
- js实现简单的星级选择器提交效果适用于评论等
- 基于BootStrap的图片轮播效果展示实例代码
- JAVA遍历一个文件夹中的所有文件的小例子
- Mybatis中的高级映射一对一、一对多、多对多
- Android 图片缓存机制的深入理解
- python先序遍历二叉树问题
- Java将字符串写入文本文件代码示例
- 基于PowerShell在Ubuntu系统的使用详解