通过前面的一系列文章,我的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、丢弃旧的构建

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

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

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

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

最新文章

  1. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
  2. NodeJS+Express下构建后端MVC文件结构
  3. mybatis 3.x 缓存Cache的使用
  4. GitHub访问速度慢的解决方法
  5. 【JVM学习笔记一】JVM内存分布
  6. Python文件格式化写入
  7. Commons-Collections
  8. mysql怎么让一个存储过程定时执行
  9. JUnit 4 使用 Java 5 中的注解(annotation)
  10. 继续畅通工程(kruskal prim)
  11. Monad
  12. B/S 獲取客戶端Mac地址
  13. shonc项目中的设计资讯模块 php 字符串操作与正则表达式 strip_tags preg_match
  14. 虎记:强大的nth-child(n)伪类选择器玩法
  15. SSIS: 使用最大ID和最大日期来增量更新表
  16. .net Ajax与后台一般处理程序(ashx) 交互
  17. 后台程序处理(二) python threading - queue 模块使用
  18. StringBuffer 清空StringBuffer的实例的三种方法
  19. GPIO实验
  20. 好汉两个半第十二季/全集Two and a Half Men迅雷下载

热门文章

  1. Python-Django 视图层
  2. Datagrip连接Mysql 和Hive
  3. Java:Spring @Transactional工作原理
  4. 03.Regression
  5. 利用NSE脚本检测域传送和证书透明度滥用
  6. 基于IPv6的数据包分析
  7. 2019-2-21.NET中异常类(Exception)
  8. Python requests--初识接口自动化
  9. Tarjan求割点(割顶) 割边(桥)
  10. Yii2 验证规则