通过前面的一系列文章,我的API自动化测试平台已经搭建成型,但是要投入具体项目使用时,还有以下几个问题需要优化。

还是接着以上一篇笔记中的“test_token”项目为例:

1、邮件通知问题

(1)问题

这里的主要问题是针对邮件中的附件(即测试报告),在前一篇配置邮件通知的文章,我对于附件的配置是这么说的:

如果你能够多触发几次构建就会发现问题,随着构建次数越来越多,产生的测试报告也越来越多,即.html文件会越来越多,而每次构建的邮件通知都会把所有的.html文件添加到附件,这样用户收到的自动化测试邮件里面,不仅能看到本次构建的测试报告,还可以看到之前所有构建的测试报告,体验非常不好。

(2)解决思路

在每次构建前删除掉上次构建产生的测试报告文件,使得添加附件时,只能在html文件夹中搜索到本次构建的测试报告。

(3)解决方案

方案一:

job->配置->构建->增加构建步骤

在Invoke Ant构建前,我们添加一个构建步骤“Execute shell”

增加了一个新的构建步骤,在构建ant任务之前,先在服务器上执行一段shell,功能是删除测试报告文件夹下所有的测试报告文件即可。shell脚本如下:

rm -f /var/lib/jenkins/workspace/test_token/html/*.html
rm -f /var/lib/jenkins/workspace/test_token/jtl/*.jtl

看一下构建日志发现shell脚本被成功执行:

方案二

job->配置->构建环境->Delete workspace before build starts

构建环境我勾选了"Delete workspace before build starts",在具体解释这一步配置之前,我先说一下workspace在目前这个平台中起到什么作用:

首先,我们在jenkins每创建一个新的job,系统就会在jenkins的安装目录下的workspace文件夹下创建一个以job name命名的文件夹;

接着,由于邮件通知添加附件的问题,我们手动把测试报告的输出位置移动到这个job name命名的文件夹下面,也就是经常提到的html文件夹的位置;

希望下面两张图能够加深对他的理解:

图一:workspace的目录树结构

图二:test_token项目下的工作空间目录

我们可以使用ANT语法指定一种模式来筛选出要被删除的文件:

(1)下拉选择框有两种模式Include和Exclude

Include模式:如果文件匹配语法要求删选条件,则文件会被移除

Exclude模式:如果文件匹配语法要求删选条件,则文件不会被移除

(2)规则只适用于文件,如果你想要适用于文件夹,请勾选Apply pattern also on directories参数

我这里填写的规则意思是,在workspace目录下的本项目中,筛选出所有以.html为后缀的文件并移除他们。

关于这个功能的配置大家还可以参考官方文档的原文https://wiki.jenkins.io/display/JENKINS/Workspace+Cleanup+Plugin

接下来看一下构建日志检查构建环境是否执行:

OK,以上两种方法都可以解决邮件通知附件的问题,大家可根据实际需要进行选择。

2、丢弃旧的构建

每次构建都会保存数据,所以需要定期的清除过期文件,这时就用到了“丢弃旧的构建”这个功能。

保持构建的天数:每个构建能保留多少天

保持构建的最大个数:最多保留多少个构建

好了,优化部分就到此为止。

Jenkins+Jmeter持续集成笔记(五:问题优化)的更多相关文章

  1. Jenkins+Jmeter持续集成笔记(四:定时任务和邮件通知)

    通过前几篇文章,jmeter+ant+jenkins自动化持续构建的测试平台基本成型.既然要自动化平台,最基本的肯定要实现不经过人工干预,平台会在特定的条件下自动运行测试脚本,并在脚本运行结束后,发送 ...

  2. Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)

    Jmeter接口测试脚本运行后生成的是jtl(xml)格式的文件,这些文件不具备可读性,所以我们要把他转化为可以阅读的html格式报告. Ant是一个功能强大的打包编译工具.我们使用他的目的是将xml ...

  3. Jenkins+Jmeter持续集成笔记(三:集成到Jenkins)

    上一篇笔记中已经实现了通过ant工具执行Jmeter测试脚本,并输出html格式测试报告到指定目录. 在本章中,将尝试把这个过程丢进jenkins去执行. 1.Jenkins全局工具配置 登录jenk ...

  4. Jenkins+Jmeter持续集成笔记(一:环境准备)

    整体思路: 通过Jmeter图形界面编写api测试脚本 ant 批量执行Jmeter脚本文件 将其集成到jenkins,设置执行频率与发送测试报告 运行环境 系统 配置 IP Centos7.1 1核 ...

  5. jenkins jmeter持续集成批处理jmx脚本

    这篇文章介绍jenkis jmeter的持续集成,利用jenkins定时任务去批处理执行jmeter的jmx脚本文件,并且生成测试报告 1:jmeter的安装这里我就不在赘述了,如有问题可参考我的jm ...

  6. RF+Jenkins构建持续集成

    引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成 ...

  7. 使用jenkins实现持续集成

    一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试.结果记录.测试统计等都是自动完成的,无需人工干预: 它需要有专门的集成服务器来执行集成构建: 它需要有代 ...

  8. [转]使用jenkins实现持续集成

    本文转自:https://www.cnblogs.com/zishengY/p/7170656.html 一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试 ...

  9. Jenkins的持续集成

    持续集成:不需要人工干预,持久化.重复的运行一个任务.将代码自动的更新到最新,然后自动运行. 新建项目之前要再Jenkins的全局工具配置里面把git的路径设置好.[全局工具配置]-->[Git ...

随机推荐

  1. flex使内部内容自适应宽度

  2. java基础学习总结——面向对象1

    目录 一.面向过程的思想和面向对象的思想 二.简单理解面向对象 三.面向对象的设计思想 四.对象和类的概念 五.如何抽象出一个类? 六.类(对象)之间的关系 七.Java与面向对象 八.为什么使用面向 ...

  3. CSS 实现左侧固定,右侧自适应两栏布局的方法

    "左边固定,右边自适应的两栏布局",其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与grid布局.并非所有的布局都会在开发中使用,但是其中也会涉及一些知识点 ...

  4. Linux 添加到环境变量

    在Linux下使用源码安装软件的时候,通常只能在软件安装目录下使用该软件命令,这样太麻烦,我们希望全局使用,可以将软件安装路径添加到系统环境变量里. 添加环境变量有2种方法: 1. 使用export命 ...

  5. sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError)

    在我学习flask建立网站时间碰到了一个棘手的问题,就是在我进行操作日志的更新时间,发现表格建立有点错误,导致表缺失,从而报了下面的错误 sqlalchemy.exc.ProgrammingError ...

  6. [MNIST数据集]输入图像的预处理

    因为MNIST数据是28*28的黑底白字图像,而且输入时要将其拉直,也就是可以看成1*784的二维张量(张量的值在0~1之间),所以我们要对图片进行预处理操作,是图片能被网络识别. 以下是代码部分 i ...

  7. 我的 FPGA 学习历程(02)—— 实验:点亮 LED 灯

    关于 Quartus 的操作可以使用 Quartus 自带的帮助,帮助中带有全套的操作教程. 中文网络教程链接(链接至 altera中文官网,点击观看) Quartus II 软件设计系列:基础 Qu ...

  8. (18)0907_CSS选择器详解

    选择器的优先级(决定那个样式生效): important: > 内联样式 > id选择器> 类和伪类 > 元素选择器 > 通配选择器> 继承样式无优先级 最大    ...

  9. 07_ for 练习 _ sumOfOdd

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. mobile_轮播图_style_left 版本

    mobile 轮播图 小圆点逻辑(排他) 1. 统一给所有 span 元素加 class=""; 2. 切换到谁,谁的 class="active"; 移动端轮 ...