Jenkins+jmeter+ant自动化设置jira面板统计图每日更新
1. 需求描述
领导提出了一个需求:每天可以看到仪表盘中,关于项目A的每日bug统计情况
2. 思路设计
2.1 初步思路
1)根据创建时间,设置当日进行查询,然后保存为筛选器名称:当日数据统计
2)仪表盘中,添加一个二维数据统计的小程序,然后选择该是筛选器,即可在界面中展示当日数据统计情况
3.遇到问题
1)jira创建时间中,无法自动根据每日数据进行统计,根据实践,只有选择在2020-04-19和2020-04-20之间,才会显示当日数据(4月19日)的数据统计
2)如果每日设置创建时间,然后保存筛选器遇到另两个问题:
a.每日设置十分复杂
b.筛选器名称不能重复
2.2自动化思路
因为我们公司这个项目是产品,项目周期时间长,且是敏捷式开发与测试。根据我的初步思路,如果每天设置,将十分辛苦,我就想,能否实现自动化,这样我就不需要每天设置。
2.2.1自动化初步思路
我思考的两种自动化思路(自己已掌握的自动化):
1、python+selenium自动化测试;
2、jmeter接口测试;
自动化初步思路遇到的问题:
1、对比两种方式,选择一个适合本次需求的
2、每日执行一次jmeter或者pycharm,虽然不用设置,也很麻烦,如果每天自动跑该多好
2.2.2自动化进阶思路(一)
一、对比【python+selenium自动化测试】、【jmeter接口测试】
前置条件:只需要考虑一个用户账号设置,只需要保证每日创建时间不同,筛选器名称不同
(1)思路对比+实现程度对比
1、python+selenium需要获取定位元素,且需要写代码,且由于我换了新电脑,需要重新下载软件(复杂)
2、jmeter接口测试,只需要通过fiddler获得接口,参数,请求方式,直接使用jmeter就可实现(简单)
结论:我选择了一种最易实现的方法(jmeter接口测试)
二、避免每日运行工具思路
Jenkins作为一个持续构建的好工具,用于自动化各种任务,包括构建、测试和部署软件。当然是一个优秀的选择。
于是我百度Jenkins+jemeter集成,得到了一个Jenkins+ant+jemter的好方法
所以思路就是:Jenkins+ant+jemter放在服务器里面,设置每天定时运行,即可实现(linux)
花絮:这样后期就直接干吗?后期没有遇到思路变化么,额,不,我有遇到了个问题,那就直接在4.3中先说明,然后再说我的实现方法吧
2.2.3自动化进阶思路(三)
使用jemeter在进行接口测试的时候,我思路的变化
1、在txt中写了几百条起始时间和结束时间,然后根据jmeter的csvXXX参数化方法进行获取,然后,jmeter设置定时器,每天运行一次(筛选器名称我一样在txt中写4.19当日数据统计、4.20当日数据统计)
缺点:如果直接这样 使用定时器,那就不需要Jenkins,而且意义不大,而且jmeter工具要一直开着,感觉很尴尬
最后,我老哥一下子点醒了我:直接获取当日时间呀,对呀,我傻啦,筛选器名称也可以直接${当日时间}数据统计,那不就也是自动获取呀。啊呀呀
哈哈,然后,我网上百度,jmeter获取当日时间函数和明日时间函数
3. 实战实练
3. 1接口测试
3. 1.1接口测试思路
1、前置条件:已经安装jdk、jmeter、fiddler(抓包)等工具,且会使用基本的jmeter
2、将每个http请求的共同参数放在http请求默认值中
3、需要获取token值,供后期使用(系统中其他操作)
4、需要cookie管理器,自动获取cookie值
5、需要调用后置处理器程序,目的:自动显示参数值,可以快速知道自己的参数是否正确
3. 1.2 接口测试实战
3. 1.2.1 登录
接口测试实战fiddler获取登录接口,且需要获取该响应结果的token值,供后期使用(系统中其他操作)
步骤一:获取登录接口
步骤二:获取token
步骤三:添加调试器
3. 1.2.2 查询数据+保存数据
步骤一:根据创建时间等查询系统数据
(备注,后期发现,此请求不需要,因为:我在保存筛选器结果的请求中,其实已经默认查询了系统数据的)所以此处可以不讲
步骤二:保存筛选器
抓包显示是post请求,有两个关键参数值:1、筛选器名称2、创建时间设置(起始时间,结束时间)
将起始时间和结束时间,根据函数获得,筛选器名称,【固定字符串+每日时间(起始时间)】
其中:起始时间和结束时间,(用户定义的变量中设置)
当日时间函数:${__time(yyyy-MM-dd,)}
当日时间的后一天函数:${__timeShift(yyyy-MM-dd,,P1D,,)
具体如下
保存筛选器请求实现如下:
备注:
1、内容编码utf-8不能少,否则会报错,
2、需要加一个htpp信息头管理器,放content-type(原因:请求是json),内容可以直接复制fiddler中获的(实战即可知)具体可百度
3. 1.2.3仪表盘中放数据+展示数据
每个筛选器都有个id,所以需要动态获取id。此处的id是根据筛选器获取的,因此在请求:保存筛选器中通过关联(正则表达式提取器)获得id值。
步骤一:获取id值
步骤二:仪表盘中放数据
(我设置了两个展示,一个是二维统计表,一个是明细(见文章最后展示部分,有两个展示数据)
步骤四:展示数据
只需要获取显示数据的请求即可
3. 1Jenkins+ant+jmeter集成
前置条件:防火墙需要关闭:systemctl stop firewalld
说明:我是参照如下链接实战的(感谢):
凌陽:https://www.jianshu.com/p/58f4116078e6(该文章还提供软件包,大家可以查看-比我的更详细)
linux环境中具体实现
3. 1.1软件安装
3. 1.1.1安装jdk
a.通过xftp上传jdk压缩包
(自选安装文件夹/usr/local/software)
b.解压jdk安装包
tar -zxvf jdk-8u162-linux-x64.tar.gz
c.配置jdk环境变量
vi /etc/profile
export JAVA_HOME=/usr/local/software/jdk1.8.0_222-ea-b03
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
d.刷新配置文件source /etc/profile
e.验证jdk
java -version
3. 1.1.2安装jmeter;
a.解压jmeter安装包
tar -zxvf apache-jmeter-5.0.tgz
b.配置环境变量
vim /etc/profile
在末尾添加如下内容
export JMETER_HOME=/usr/src/apache-jmeter-5.0
export CLASSPATH=$JMETER_HOME\lib:$CLASSPATH
export PATH=$PATH:$JMETER_HOME/bin
c.刷新配置文件
source /etc/profile
e.检查是否安装成功
jmeter -v
3. 1.1.3安装ant(步骤与jmeter一模一样)
3. 1.2 Ant配置jmeter
用ant构建命令来调动执行jmeter接口测试,并生成测试报告
3. 1.2 .1 配置库文件
将jmeter目录下的extras目录下的ant-jmeter-1.1.1.jar文件复制到ant目录下的lib文件夹中
3. 1.2.2 下载测试报告模板
将jmeter-results-shanhe-me.xsl上传至jmeter安装目录的extras文件夹下
3. 1.2.3 配置ant编译文件build.xml
将build.xml放至/root/jmeter中
需要修改的地方如下:
3. 1.2.4 配置jmeter. properties
jmeter.properties文件位于jmeter安装的bin目录下
1、jmeter默认保存的是csv格式的文件,需要修改成xml格式
2、针对Response的编码处理,需要修改统一为UTF-8,避免部分Reponse乱码问题
3、修改jtl报告文件需要存储的数据种类
3. 1.2.5 配置邮件
ant发送邮件功能,需要在ant的安装目录/lib目录下,添加jar包 mail.jar、activation.jar和commons-email-1.5.jar
password处填写的是授权码,不是邮箱密码,需要自行开启邮箱的SMTP功能
mail_to这里写要发送方的邮箱地址
授权码具体设置:
进入【QQ邮箱】,点击上面【设置】在【邮件设置】页面,点击【账户】,找到【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】,点击【开启】,然后根据提示,发短信,即可获得授权码
备注:具体可以百度搜索【qq邮箱授权码】
3. 1.3 Jenkins配置
3. 1.3.1 Jenkins全局配置
进入系统设置-- Global Tool Configuration,配置ant主目录
3. 1.3.2 Jenkins项目配置
a.新建一个自由风格的项目:jira-project
b.配置定时构建
参考此处:https://blog.csdn.net/u013250071/article/details/81000777
* * * * *五个位置,分别代表:分钟,小时,日期,月份,星期
*代表任意
例如:30 1 * * 代表:每天1点30分准时构建
c.配置ant的build文件
4 成果展示
4.1 仪表盘展示
4.2 邮件展示
感谢:
https://www.jianshu.com/p/58f4116078e6(该文中还提供软件包安装下载)
https://blog.csdn.net/u013250071/article/details/81000777
Jenkins+jmeter+ant自动化设置jira面板统计图每日更新相关推荐
- 手把手教你搭建Jenkins+Jmeter+Ant自动化集成环境
一.安装前准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-2.13 3.ANT工具:apache-ant-1.9.7-bin 4.jen ...
- 【二十二】win 10 :Jmeter 报告可视化 —— 配置 Jmeter 接口 HTML 可视化测试报告,Jenkins + Jmeter + Ant 自动化集成环境搭建
目录 一.环境搭建 二.文件下载 三.文件配置 四.本地调试 五.创建.bat文件 六.Jenkins配置邮件 七.配置测试项目 八.自动部署成功校检 九.jmeter仪表盘HTML报告自动化构建 一 ...
- 搭建Jenkins+Jmeter+Ant自动化集成环境
一.安装前准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-5.2 3.ANT工具:apache-ant-1.9.7-bin 4.jenk ...
- 转:Jenkins+Jmeter+ant接口自动化框架for Linux学习
Jenkins+Jmeter+ant接口自动化框架for Linux学习 2018年06月08日 17:55:31 杀生丸的玲 阅读数:1031 版权声明: https://blog.csdn.net ...
- jenkins + jmeter +ant 发送邮件失败
阿菠萝阿瑶 </div><!--end: blogTitle 博客的标题和副标题 --> <div id="navigator"> 博客园 首页 ...
- Jenkins+Jmeter+Ant接口用例执行情况监控
前言 Jenkins+Jmeter+Ant接口测试框架中,Jmeter脚本中有报错的用例,但是Jenkins的执行结果仍然是successful,无法触发"执行失败时发送邮件".原 ...
- jenkins+jmeter+ant+jmeter在Jenkins上报告
1.jmeter+ant 参考 http://www.cnblogs.com/dieyaxianju/p/8268802.html 2.在jenkins上配置 3.执行成功 4.配置报告 参考 下载 ...
- Jenkins+Jmeter+Ant 生成接口测试报告并发送邮件
Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作: Jmeter 可以做接口测试,也可以做压力测试,而且是开源软件: Ant 是基于Java的构建工具, ...
- 不写一行代码,搭建Jenkins+Jmeter+Ant接口自动化框架
1.安装jmeter,并确认你的jmeter脚本可以跑通,如图所示: 2.安装ant,从http://ant.apache.org/bindownload.cgi下载并确认ant安装成功 3.将Jme ...
最新文章
- 2021广西对口中职高考成绩查询,教育资讯:2021广西本科对口中职分数线公布时间 几号查分...
- 博世豪掷10亿欧元德国建半导体工厂,要掌握自动驾驶芯片化核心竞争力?
- echarts判断x轴是否展示的全_vue+echart前端可视化操作(装X必备)
- 【线段树】HDU 3397 Sequence operation 区间合并
- 聊聊python文件
- shell自动收集服务器硬件系统信息通过web页面显示
- 摩尔庄园同一服务器怎么显示好友,摩尔庄园手游怎么搜索别人搜索好友步骤详解...
- 自动驾驶传感器---毫米波雷达原理(测距、测速、角速度测量),毫米波雷达系统构成
- java之成员变量(实例成员变量和静态成员变量)
- 双绞线为什么要绞起来
- 计算机技术与软件专业技术资格(水平)考试岗位设置与描述
- 网络安全技术概论知识点
- JS 控制LPT1 直接打印!
- Python爬虫包 BeautifulSoup 递归抓取
- APOLLO UDACITY自动驾驶课程笔记——感知、预测
- 数据的写出(FileWriter)
- 操作系统实验——模拟动态分区首次适应分配和回收算法
- 左神算法中级班第三课[C++代码]
- 电子设计教程24:反相比例运算电路
- python交换两个变量的值(四种方法)
热门文章
- 什么是GAP(GlobalAverage Pooling)
- 最新最全论文合集——数据库与人工智能
- Verilog coding style
- 基于SSM的车辆出入系统
- 小白兔写话_小学二年级期末写话片段练习 可爱的小白兔
- 【TencentOS tiny】 超详细的TencentOS tiny移植到STM32F103全教程
- java 数字 字母 递增_JAVA流水号生成规则(按默认规则递增,数字不够添加字母递增,位数不够自动加1)...
- R语言完成1:N倾向性评分匹配PSM
- 简单处理GPM数据和风云四号卫星数据
- 小学期第一周:solidworks2019今日制造一级减速器