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面板统计图每日更新相关推荐

  1. 手把手教你搭建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 ...

  2. 【二十二】win 10 :Jmeter 报告可视化 —— 配置 Jmeter 接口 HTML 可视化测试报告,Jenkins + Jmeter + Ant 自动化集成环境搭建

    目录 一.环境搭建 二.文件下载 三.文件配置 四.本地调试 五.创建.bat文件 六.Jenkins配置邮件 七.配置测试项目 八.自动部署成功校检 九.jmeter仪表盘HTML报告自动化构建 一 ...

  3. 搭建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 ...

  4. 转:Jenkins+Jmeter+ant接口自动化框架for Linux学习

    Jenkins+Jmeter+ant接口自动化框架for Linux学习 2018年06月08日 17:55:31 杀生丸的玲 阅读数:1031 版权声明: https://blog.csdn.net ...

  5. jenkins + jmeter +ant 发送邮件失败

    阿菠萝阿瑶 </div><!--end: blogTitle 博客的标题和副标题 --> <div id="navigator"> 博客园 首页 ...

  6. Jenkins+Jmeter+Ant接口用例执行情况监控

    前言 Jenkins+Jmeter+Ant接口测试框架中,Jmeter脚本中有报错的用例,但是Jenkins的执行结果仍然是successful,无法触发"执行失败时发送邮件".原 ...

  7. jenkins+jmeter+ant+jmeter在Jenkins上报告

    1.jmeter+ant 参考 http://www.cnblogs.com/dieyaxianju/p/8268802.html 2.在jenkins上配置 3.执行成功 4.配置报告  参考 下载 ...

  8. Jenkins+Jmeter+Ant 生成接口测试报告并发送邮件

    Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作: Jmeter 可以做接口测试,也可以做压力测试,而且是开源软件: Ant 是基于Java的构建工具, ...

  9. 不写一行代码,搭建Jenkins+Jmeter+Ant接口自动化框架

    1.安装jmeter,并确认你的jmeter脚本可以跑通,如图所示: 2.安装ant,从http://ant.apache.org/bindownload.cgi下载并确认ant安装成功 3.将Jme ...

最新文章

  1. 2021广西对口中职高考成绩查询,教育资讯:2021广西本科对口中职分数线公布时间 几号查分...
  2. 博世豪掷10亿欧元德国建半导体工厂,要掌握自动驾驶芯片化核心竞争力?
  3. echarts判断x轴是否展示的全_vue+echart前端可视化操作(装X必备)
  4. 【线段树】HDU 3397 Sequence operation 区间合并
  5. 聊聊python文件
  6. shell自动收集服务器硬件系统信息通过web页面显示
  7. 摩尔庄园同一服务器怎么显示好友,摩尔庄园手游怎么搜索别人搜索好友步骤详解...
  8. 自动驾驶传感器---毫米波雷达原理(测距、测速、角速度测量),毫米波雷达系统构成
  9. java之成员变量(实例成员变量和静态成员变量)
  10. 双绞线为什么要绞起来
  11. 计算机技术与软件专业技术资格(水平)考试岗位设置与描述
  12. 网络安全技术概论知识点
  13. JS 控制LPT1 直接打印!
  14. Python爬虫包 BeautifulSoup 递归抓取
  15. APOLLO UDACITY自动驾驶课程笔记——感知、预测
  16. 数据的写出(FileWriter)
  17. 操作系统实验——模拟动态分区首次适应分配和回收算法
  18. 左神算法中级班第三课[C++代码]
  19. 电子设计教程24:反相比例运算电路
  20. python交换两个变量的值(四种方法)

热门文章

  1. 什么是GAP(GlobalAverage Pooling)
  2. 最新最全论文合集——数据库与人工智能
  3. Verilog coding style
  4. 基于SSM的车辆出入系统
  5. 小白兔写话_小学二年级期末写话片段练习 可爱的小白兔
  6. 【TencentOS tiny】 超详细的TencentOS tiny移植到STM32F103全教程
  7. java 数字 字母 递增_JAVA流水号生成规则(按默认规则递增,数字不够添加字母递增,位数不够自动加1)...
  8. R语言完成1:N倾向性评分匹配PSM
  9. 简单处理GPM数据和风云四号卫星数据
  10. 小学期第一周:solidworks2019今日制造一级减速器