最近项目组涉及到接口测试,然后自己想着如何输出接口测试的报告,经过自己的了解,发现测试行业中每个公司每个测试人员输出的方式都不一样的。常规的有以下几种

  • 使用表格的形式,手动去写,以总结的形式,给到测试 leader
  • 使用 python+requests 第三方库 去编写.py脚本,然后使用allure生成报告
  • 使用 ant + jmeter 去生成 html网页 报告,以邮件的形式发送给leader
  • 使用命令 jmeter -n -t 执行的 jmx 文件 -e 去生成一个 dashboard 给到 leader

除了上面几种方式以外,还有很多,我个人比较看好的是使用 ant 的方式,因为生成的接口测试报告更加的全面,如下图,具体的学习步骤如下

一、环境的搭建,所使用的工具

  • jdk的安装-环境的配置
  • jmeter的安装
  • ant的安装-环境的配置

1.jdk 的环境的安装与配置,根据自己的电脑系统去下载对应的版本,最好使用 java1.8 的版本

推荐下载的地址:Java Downloads | Oracle

-下载好了,然后默认一直下一步就可以了,这个没有什么技术含量的。安装好了,就配置环境变量。先使用 vim 命令去打开.bash_profile 然后去做如下配置

export JAVA_HOME=/Library/Java/本机安装jdk位置路径
export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

- 补充 windows 的 环境变量配置的内容,如下图

- 然后按ESC,输入:wq,然后输入命令:source .bash_profile 去激活这个环境变量的文件,这个很好理解,你做了改动,肯定要激活一下,才能够让你配置的环境变量生效

- 然后打开你的电脑终端输入命令:java -version,出现如下信息就代表你已经安装jdk并配置环境变量成功了

2.jmeter的安装,

有同学问,为什么不直接安装jmeter呢?非要先安装 java

因为 jmeter 的运行环境依赖 java 的运行环境,jmeter就是使用java语言进行编写的,这样去想,非常的好理解

- jmeter的下载地址如下

Apache JMeter - Download Apache JMeter

- 根据自己的电脑系统去下载对应的系统版本就可以了,如下图

安装好了,先使用cd命令,cd到你安装的 jmeter 的 bin 目录下,然后输入命令:jmeter 就可以打开了,如下图

当然这里你可以在选项-选择语言-中文,然后系统界面打开就是中文的了

当 jmeter 安装好了后就可以去编写你的接口测试的脚本,这里我提前已经编写好了,如下图

3.当你已经编写好了一个简单的 jmeter 脚本后,然后就可以去安装 ant 工具,这里 ant 工具你可以简单理解成一个编译和打包工具,有了它就可以将普通的文件,以网页的形式展示出来。

ant 的安装也非常的简单,下载地址如下

Apache Ant - Binary Distributions

- 配置 ant 的环境变量和 上面配置 java 的环境变量类似的。先使用 vim 命令打开 .bash_profile

vim .bash_profile

- 然后输入如下配置,同理编辑添加好了 ant 的环境变量后,按ESC,输入:wq 保存并退出,然后输入命令 source .bash_profile 进行激活生效

export ANT_HOME=/Users/chenzilong/Applications/apache-ant-1.10.12
export PATH=$ANT_HOME/bin:$PATH

- 下载和配置环境变量好了,在终端输入命令:ant -version 有如下内容就说名安装配置成功了

到这里你的jmeter、java、ant 以及编写的jmeter脚本好了,现在我们配置输出的邮件的格式以及展示出来的html网页的格式,如下步骤

二、配置输出的邮件格式和 html 网页展示的样式

- 在你的 jmeter 目录下 创建一个文件夹 叫做:TestCase,然后在TestCase目录下分别创建 三个文件夹,具体如下图

- 三个文件夹的作用分别如下

  • html :存放生成的html网页
  • jtl :执行jmeter的脚本生成的结果保存到 .jtl 文件中,放在这个 jtl 文件夹内
  • scrpit :存放 jmeter 执行的脚本,将你要执行的 jmeter 脚本提前放到这个文件下,就是:.jmx 结尾的文件

- 对如下三个文件的内容作出更改,这一步很重要

- (重要)将 jmeter 下的 extras 的名字叫 ant-jmeter-1.1.1.jar 的jar包给复制粘贴到 ant 的 lib 目录下,这一步很重要,ant 就是通过这个 jar 包来驱动 jmeter 去执行我们的测试的脚本

- (重要)将jmeter 下的 bin 目录下的 jmeter.properties 使用编辑工具进行编辑,将如下的值进行更改

jmeter.save.saveservice.output_format=csv

改称如下的结果

jmeter.save.saveservice.output_format=xml

-(重要)将jmeter bin 目录下的 jmeter.properties 使用编辑工具进行编辑,将如下的值全部改为true,注意这里一定要全部改为 true

jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true

- (重要) 想要成功发送邮件,还需要将 [ activation.jar、commons-lang3-3.8.1.jar、mail.jar ] 这几个 jar 放到你的 ant 下 lib 目录下,这样才可以成功发送邮件,下载的链接:https://pan.baidu.com/s/18BWUMrW7ABfBlvU_b3Mppw 密码是:8jk4 

三、编辑你的 build.xml 文件以及输出的模版

- 在你的TestCase文件名目录下新建一个叫做:build.xml 的文件,如下图

- 然后使用编辑工具打开 build.xml 进行编辑输入如下内容,注意,将下面的相关信息全部换成你自己的。这里我都添加了注释,根据注释的地方填写你的信息就可以了,没有注释的地方就不用去更改,之前学习的时候,这里踩了很多坑, 都不知道哪些地方要改,哪些地方不改,这里踩了很多坑。真的,如果大家不确定的,也可以留言这边会给予帮助的

这里以qq邮箱为例

<?xml version="1.0" encoding="UTF8"?><project name="ant-jmeter-test" default="run" basedir=".">
<!--这个位置:填写你的 jmeter 所在的目录,这里要改-->
<property name="jmeterPath" value="/Users/chenhao/apache-jmeter-5.4.3"/>
<!--这个位置:填写你想要发送的邮箱的 smtp 服务器,这里要改-->
<property name="mailhost" value="smtp.qq.com"/>
<!--这个位置:填写你的qq邮箱,这里要改-->
<property name="username" value="248542954@qq.com"/>
<!--这个位置:填写你的qq邮箱的授权码,这里要改,继续看我下面的文章会讲,如何获取-->
<property name="password" value="bomwpltsannkbgdi"/>
<!--这个位置:填写发送的邮箱,建议也先填你自己的,这里要改-->
<property name="mailfrom" value="248542954@qq.com"/>
<!--这个位置:填写邮件到的邮箱账号,这里建议也先填你自己的邮箱,这里要改-->
<property name="mail_to" value="248542954@qq.com"/>
<!--这个位置:这里你自定义就好了,就是一个邮件里面的内容,影响不大,这里可以改-->
<property name="mailsubject" value="接口自动化测试报告"/>
<!--这个位置:这里填写你的邮箱的端口,qq邮箱是25 -->
<property name="mail_port" value="25"/>
<!--这个位置:这里是邮件的一个说明,可以自定义,这里要改-->
<property name="message" value="Hello!请查收下,这是我的接口自动化测试报告,如有任何疑问,请联系我,谢谢!"/><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><property name="jmeter.home" value="${jmeterPath}" />
<!--这个位置:这里要改成你自己的 jtl 所在的目录,jmeterpath前面已经填写好了,只需要将剩余目录写好就可以了,这里要改--><property name="jmeter.result.jtl.dir" value="${jmeterPath}/bin/TestCase/jtl" />
<!--这个位置:这里要改成你自己的 html 所在的目录,jmeterpath前面已经填写好了,只需要将剩余目录写好就可以了,这里要改--><property name="jmeter.result.html.dir" value="${jmeterPath}/bin/TestCase/html" /><property name="htmlReportNameSummary" value="TestReport" /><property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${htmlReportNameSummary}${time}.jtl" /><property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.html" /><target name="run"><antcall target="test" /><antcall target="report" /><antcall target="sendEmail" /></target><!--执行接口测试--><target name="test"><echo>执行接口自动化测试</echo><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"><!--要执行的测试脚本--><testplans dir="${jmeterPath}/bin/TestCase/scrpit" includes="*.jmx" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><!--解决报告中NAN字段显示问题--><path id="xslt.classpath"><fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/><fileset dir="${jmeter.home}/lib" includes="serializer-2.7.2.jar"/></path><!--生成HTML测试报告--><target name="report"><echo>生成接口自动测试报告</echo><xslt classpathref="xslt.classpath"force="true"in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl"  /><!--复制图片--><copy todir="${jmeter.result.html.dir}"><fileset dir="${jmeter.home}/extras"><include name="collapse.png" /><include name="expand.png" /></fileset></copy></target><!--自动发送邮件--><target name="sendEmail"><echo>发送自动化测试报告</echo><mail mailhost="${mailhost}"ssl="ture"user="${username}"password="${password}"mailport="${mail_port}"subject="${mailsubject}"messagemimetype="text/html"tolist="${mail_to}"><from address="${mailfrom}" /><attachments><fileset dir="${jmeter.result.html.dir}"><include name="${htmlReportNameSummary}${time}.html"/><include name="collapse.png" /><include name="expand.png" /></fileset></attachments><message>${message}</message></mail></target></project>

- 授权码 ,以qq邮箱为例,先打开网页,进入你的qq邮箱,进入到如下页面

- 进入到设置-账户-往下翻-点击 【生成授权码】选项

- 会有一个安全校验,然后发送短信,获取成功后填入到上面 build.xml 所在位置的 password 也就是你自己的qq邮箱的授权码

- 除此以外,还需要将有一个 stlye 模版下载并放到你 jmeter 下的 extras 目录下,因为你直接去执行的话生成的模版就是这样的,信息不全。不好看,没有响应头哪些,如下图

- 下载的地址:百度网盘 请输入提取码

密码为:ne14

-这个 jmeter.results.shanhe.me.xsl 文件在build.xml 文件内容中的这个位置进行使用,如下图

四、构建代码,输出接口测试的报告

- 先切换到你的 jmeter 下的TestCase目录下,使用你的终端,然后在终端输入如下命令

ant

- 这个时候,如果看到 BUILD SUCCESSFUL 就代表成功了,同时看到 Send email with 1 attachment,就代表成功发送了一封邮件,然后你可以去你邮件进行查看,如下图

- 这个时候,你的老板或者你的 leader 打开文件,一看,有哪些接口,对吧,你现在做的接口测试,请求信息,请求的参数,响应的时间,响应信息,什么东西都可以一目了然,这不比手写的香香了吗,给人妥妥的一种高级感,你做了接口 测试结束后,你的 leader 就回收到一封,里面包含了所有的测试结果,哈哈哈哈哈哈~

- 两个字:真好

今日的分享,到此结束,感谢,fighting!加油,加油,加油

MAC jmeter+ant 实现接口测试并将接口测试报告以邮件的形式发出-超详细相关推荐

  1. mac 下安装java, jmeter, ant, jenkins,使用jmeter+ant+jenkins 接口测试集成工具,发送html报告到邮箱中

    涉及到的参考文档,如果有侵权,可以告知,立即删除. 一.全部小工具的安装 1.mac下安装java,jmeter 参考文档:https://www.jianshu.com/p/bce9077d883c ...

  2. jmeter——jmeter+ant生成优化的HTML接口自动化测试报告

    jmeter+ant生成优化的HTML测试报告 一.最终实现效果展示 二.实现方式 1.环境搭建 2.实现原理 3.报告生成方式 三.实现步骤 1.jar包转移:实现ant调用jmeter脚本 2.j ...

  3. Http调用第三方接口的两种方式实例《超详细!!!》***

    Http调用第三方接口的两种方式<超详细!!!>* 最近在公司做一些调用第三方接口的工作,查阅了一部分的资料和向前辈以及朋友请教,完成了第三方接口的调用,其实主要是通过第三方提供的文档,完 ...

  4. 【接口测试】Jenkins+ant+jmeter接口自动化测试及邮件发送

    引言 在前一篇博文里,我介绍了关于Jmeter+ant的接口测试,详见链接Jmeter+ant.本文将在上一个文章基础上,讲解Jenkins的安装及使用(全程Windows环境下).         ...

  5. Jmeter+Ant 接口自动化环境配置指南

    一 .Jmeter安装与配置(以下为个人CSDN博客老文章) https://blog.csdn.net/tester_sc/article/details/80746405 注:Jmeter5.0+ ...

  6. macbook重装系统 选择方案_超详细的mac重装系统教程

    最新的macOS系统具有稳定,安全,长时间使用不卡顿等等很多的优点.而Windows电脑重装系统则是非常常见的事情.不过就算再稳定的系统也难免有需要重装的时候.mac重装系统相对来说还是比较简单的,不 ...

  7. 【全栈接口测试进阶系列教程】入门到入职的jmeter接口测试工具实战,接口测试步骤,正则表达式jsonpath,断言,接口加密,beanshell,jdbc,jmeter+ant+jenkins

    目录 [本文简介看之前请详细的看完介绍] 本文是全网首发的[全栈接口测试进阶系列教程]jmeter接口测试工具从入门到入职, 接口系列包含 接口测试系列包含所有的接口测试工具入门到入职,如果你喜欢的话 ...

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

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

  9. 最新出炉 csdn最牛最全JMeter+Ant+Jenkins接口自动化测试框架(Windows)

    一:简介 大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起 ...

最新文章

  1. Linux搭建BT下载服务器,linux下搭建bt服务器–xbt篇
  2. w10安装ubuntu_Win10 + Ubuntu 16.04双系统完美安装教程【详细】
  3. ORACLE11G RAC 在 centeros5.5 的安装日志
  4. RabbitMQ原理讲解
  5. [渝粤教育] 中国矿业大学 恋爱心理学 参考 资料
  6. 动画原理——绘制正弦函数环绕运动椭圆运动
  7. Bootstrap 可切换的标签导航
  8. leetcode题库--63不同路径 II
  9. android微信第三方登录怎么通过code获取openid?
  10. 【转】兄弟俩玩的2000亿美元的公司,盖茨与鲍尔默:微软双雄上演终极接力
  11. 计算机学业水平考试反思总结8百,考试反思与总结
  12. 从飞猪智能酒店到优酷视频,探索阿里智能研发协同流程
  13. 面试大厂被MyBatis问到“哑口无言”?这份MyBatis源码笔记助你吊打面试官!
  14. sparkStreaming+kafka+redis小项目实战
  15. Linux-Shell脚本练习
  16. 麦克风声源定位原理_一种利用麦克风阵列进行声源定位的方法与流程
  17. samba共享文件时端口问题
  18. 前端动画渲染引擎pixi.js系列(5)Text文本和Graphics画笔工具
  19. 重测信度及常见评价方法
  20. 内置函数 匿名函数 eval exec execute compile sorted map filter等常见函数 repr chr ord...

热门文章

  1. C语言初阶——5.字符串
  2. 2018 iPad pro 11停用,DFU模式刷机指南
  3. 计算机零基础速学,教你零基础学习电脑绘画!
  4. 第8节 蒙卡模拟计算美式期权价格(a)
  5. JITStack超融合一体机_高性能分布式存储_面向企业私有云
  6. 论文浏览(27) Long-Term Feature Banks for Detailed Video Understanding
  7. Java 实现重试机制
  8. ppc64le处理器国产power8服务器CentOS7.2安装open-jdk
  9. python-networkx库的使用1
  10. 利用QT5.9创建并调用DLL(基于Visual Studio 2015)