Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环境,实现接口自动化测试,本文章环境搭建使用的是Mac系统。
1、安装jmeter
1.1、下载安装包(过程略过,自己找安装包,随便装在哪个目录下)
1.2、配置环境变量
Windows:
右键计算机属性---》高级系统设置---》环境变量---》
变量名: JMETER_HOME 变量值: C:\Program Files\apache-jmeter-3.2
变量名: Path (在后面添加以下变量值) 变量值:;%JMETER_HOME%\bin;
变量名: CLASSPATH 变量值: %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
Mac:
export JMETER_HOME=JMETER_HOME 为 jemter安装路径;
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-
2.0.jar
1.3、安装验证
在命令窗口中输入jmeter -v回车,能出现jmeter版本则说明配置成功

可以直接在命令窗口输入jmeter回车后启动jmeter;也可以在点击jmeter.bat文件启动jmeter

接口调试请自行使用jmeter进行调试,调试成功之后保存测试计划即可
2、安装jdk
2.1、下载安装包(我使用的是jdk1.8版本,自行下载)
2.2、配置环境变量
Windows
右键计算机属性---》高级系统设置---》环境变量---》
变量名: JAVA_HOME变量值: C:\Program Files\Java\jdk1.8.0_91 (即jdk安装的位置)
变量名: Path (这个变量名已在系统变量中存在,现只需在这个值的后面添加以下变量值就可以了)变量值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
变量名: CLASSPATH变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(记住前面的.)
打开cmd,输入java -version 回车,如果输出版本信息则安装成功,提示不是内部或外部命令则表示没有安装成功,可留言或自行百度解决。
Mac
export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home'
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
打开终端,输入java -version 回车,如果输出版本信息则安装成功,提示不是内部或外部命令则表示没有安装成功,可留言或自行百度解决。
2.3、安装验证
在命令窗口中输入java -version 回车,能出现java版本则说明配置成功

3、安装Ant
3.1、安装包下载
下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可
Mac:
export ANT_HOME=/Applications/apache-ant-1.10.5export PATH=$ANT_HOME/bin:$PATH
Windows:
ANT_HOME=ant解压位置
CLASSPATH=%ANT_HOME%\lib;
PATH=%ANT_HOME%\bin;
检查是否安装成功
验证安装结果,命令行输入ant -version,出现版本信息则安装成功

将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中
为什么要拷贝这个文件?不拷贝这个文件会报错找不到JMeterTask,如下图,拷贝过去后就能解决这个问题。

配置ant的编译文件build.xml
新建的txt文件,并将此文件改名为build.xml,修改文档里的内容
注意:jmeter的extras文件下也有个build.xml文档,不要用这个文档来改,是两回事,这里的build文档是自己新建。
按实际情况修改如下文档:

C. 修改更新jmeter.properties文档
进入jmeter安装目录/bin目录下打开jmeter.properties文件
jmeter.save.saveservice.output_format=csv jmeter.save.saveservice.output_format=xml
并去掉前面的注释符号#

验证配置,执行构建测试
将之前的jmeter的脚本保存,并将build.xml配置文件放在与测试脚本相同的目录下,我的目录如下:

进入命令行输入ant 执行测试

4.6查看测试报告
在报告输出存放路径下查看是否有jtl和html结果报告,存放路径在build文档中也有


打开html文档,测试结果展现了执行的用例名称、成功率、用例执行时间等结果参数


Jenkins配置持续集成
配置git

配置每次构建删除之前旧的文件,不然发邮件的时候会把之前的文件也发送出去

构建

构建后发送邮件

邮件模版




按照以上配置,即可完成接口自动化构建。
网友评论