您的位置:首页 > 其它

接口测试持续构建实例(jmeter+ant+jenkins)

2016-08-23 22:37 260 查看
一、使用jmeter编写接口测试脚本

1.编写接口请求

2.对接口的返回结果进行断言

二、ant配置

1.安装ant
http://ant.apache.org/bindownload.cgi
下载zip格式文件到任意目录;

2.环境变量配置

获取root权限:sudo -s

修改bashrc的读写权限:chmod +w /etc/bashrc

修改basic文件:vi /etc/bashrc

=> export ANT_HOME=/Applications/TestTools/apache-ant-1.9.7

       export PATH=${PATH}:${ANT_HOME}/bin

3.验证配置

命令行:1).切换到该目录下;2).输入“ant -v”显示版本号信息,如

三、使用ant执行jmeter脚本

1.新建存放通过ant自动执行测试的“脚本、报告”等文件之文件夹,如:

在jmeter文件夹下新建父文件夹“testLtc”,再新建子文件夹“report(jul、html)、result、script”。

2.将jmeter安装包extras文件夹里ant-jemter-1.1.1.jar 复制到ant\lib下=>

   进入到jmeter安装包extras文件夹,ant后测试下能否生成test.jtl和test.html?

3.将jmeter安装包extras文件夹下build.xml和collapse.png、expand.png、jmeter-results-detail-report_21.xsl复制到bin目录下;

编写build.xml文件,如下:

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
<!-- <project name="ant-jmeter" default="all"> -->
<tstamp>
<format property="time" pattern="yyyyMMddhhmmss" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="/Applications/TestTools/apache-jmeter-2.13" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="/Applications/TestTools/apache-jmeter-2.13/testLtc/report/jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="/Applications/TestTools/apache-jmeter-2.13/testLtc/report/html" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />

<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>

<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="/Applications/TestTools/apache-jmeter-2.13/testLtc/script" includes="*.jmx" />
</jmeter>
</target>

<!-- 解决Summary里的字段Min Time和Max Time显示的是NaN,没有显示正确时间的问题。 -->
<path id="xslt.classpath">  <!-- jar的路径 -->
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>

<!-- 把生成的.jtl数据文件转换成.html格式的报告 -->
<target name="report">
<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm:ss" /></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>

<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>


3.运行脚本

命令行:a.进入build.xml所在目录;b.输入“ant 或 ant run(run为build.xml中的task名)”;

执行后的结果为:

[bin] $ /Applications/TestTools/apache-ant-1.9.7/bin/ant -file build.xml
Buildfile: /Applications/TestTools/apache-jmeter-2.13/bin/build.xml

run:

test:
[jmeter] Executing test plan: /Applications/TestTools/apache-jmeter-2.13/testLtc/script/fee.jmx ==> /Applications/TestTools/apache-jmeter-2.13/testLtc/report/jtl/TestReport20160823080138.jtl
[jmeter] Creating summariser <summary>
[jmeter] Created the tree successfully using /Applications/TestTools/apache-jmeter-2.13/testLtc/script/fee.jmx
[jmeter] Starting the test @ Tue Aug 23 20:01:38 CST 2016 (1471953698959)
[jmeter] Waiting for possible shutdown message on port 4445
[jmeter] summary =      1 in     1s =    1.4/s Avg:   411 Min:   411 Max:   411 Err:     0 (0.00%)
[jmeter] Tidying up ...    @ Tue Aug 23 20:01:39 CST 2016 (1471953699767)
[jmeter] ... end of run

report:
[xslt] Processing /Applications/TestTools/apache-jmeter-2.13/testLtc/report/jtl/TestReport20160823080138.jtl to /Applications/TestTools/apache-jmeter-2.13/testLtc/report/html/TestReport20160823080138.html
[xslt] Loading stylesheet /Applications/TestTools/apache-jmeter-2.13/extras/jmeter-results-detail-report_21.xsl

BUILD SUCCESSFUL
Total time: 2 seconds


4.测试报告目录:第一步中新建的html文件夹。

四、jenkins配置(需安装配置JDK)

1.下载jenkins.war,放入任意目录;

2.进入jenkins所在目录,启动jenkins:执行java -jar jenkins.war;

2.浏览器输入localhost:8080进入管理界面;

4.系统管理-> Global Tool Configuration->Ant

->管理插件

HTML Publisher plugin、Performance Publisher plugin

5.新建job:

1).点击新建;

2).输入项目名称,如:interface_test;

3).选择构建一个自由风格的软件项目,点击OK;

6.配置job:

1).General->使用自定义的工作空间目录,如:/Applications/TestTools/apache-jmeter-2.13/bin;

2).构建->invoke ant:

Ant Version=Ant;

Build File=/Applications/TestTools/apache-jmeter-2.13/bin/build.xml;

3).构建后操作->Publish HTML reports:

->Publish Performance test result report

->Editable Email Notification

6.立即构建

1)构建成功;

2)报告生成成功;

测试报告目录:/Users/当前用户名/.jenkins/jobs/interface_test/htmlreports/接口测试报告

3)邮件发送成功;

注意:

1.build文件需放到workspace目录下;

2.build.xml文件中加入<property name="jmeter.save.saveservice.output_format" value="xml"/>,或ant配置文件中更改value值为xml;

3.〜〜

参考:http://www.cnblogs.com/puresoul/p/5053035.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: