编者按:html
ant有两个分支版本:1.9x支持的是java5,1.10.x支持的是java8的版本。
这里咱们选择apache-ant-1.10.1-bin.tar.gz
的版本。java
cd /usr/local/src wget http://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.10.1-bin.tar.gz tar -zxf apache-ant-1.10.1-bin.tar.gz mv apache-ant-1.10.1 /data/app/ ln -s /data/app/apache-ant-1.10.1 /data/app/ant ### 增长环境变量 cat >>/etc/bashrc<<EOF export ANT_HOME=/data/app/ant export PATH=$ANT_HOME/bin/:$PATH EOF source /etc/bashrc
检查node
ant -v Apache Ant(TM) version 1.10.1 compiled on February 2 2017 Trying the default build file: build.xml Buildfile: build.xml does not exist! Build failed
cd /usr/local/src wget http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-3.3.tgz tar -zxf apache-jmeter-3.3.tgz mv apache-jmeter-3.3 /data/app/ ln -s /data/app/apache-jmeter-3.3 /data/app/jmeter ### 配置环境变量 cat >> /etc/bashrc<<EOF export JMETER_HOME=/data/app/jmeter export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH export PATH=$JMETER_HOME/bin/:$PATH EOF
cp /data/app/jmeter/lib/serializer-2.7.2.jar /data/app/ant/lib/ cp /data/app/jmeter/lib/xalan-2.7.2.jar /data/app/ant/lib/
taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found using the classloader AntClassLoader[]
解决办法:git
cp /data/app/jmeter/extras/ant-jmeter-1.1.1.jar /data/app/ant/lib/
jmeter-log.log
的日志文件,日志文件配置在/data/app/jmeter/bin/log4j2.xml
。解决办法:shell
touch /data/app/jmeter/bin/jmeter.log
chown -R jenkins.jenkins /data/app/ant/* chown -R jenkins.jenkins /data/app/jmeter/*
cd /data/app/jmeter/build/ vim build.xml
<?xml version="1.0" encoding="utf-8"?> <project name="Ant-Jmeter-Test" default="all" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 须要改为本身本地的 Jmeter 目录--> <property name="jmeter.home" value="/data/app/jmeter" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="/data/app/jmeter/report/jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="/data/app/jmeter/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" /> <!-- 接收测试报告的邮箱 --> <property name="mail_to" value="niuhengbo@sina.cn" /> <!-- 电脑地址 --> <property name="ComputerName" value="test.niu" /> <target name="all"> <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="/data/db/jenkins/workspace/jm" includes="*.jmx" /> </jmeter> </target> <target name="report"> <!-- <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /> --> <xslt 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> <!-- 发送邮件 --> </project>
jmeter-results-detail-report_21.xsl
是默认的报告模板因为信息不全,推荐更换成jmeter.results.shanhe.me.xsl
下载地址在文章最后。/data/app/jmeter/bin/jmeter.properties
。jmeter.save.saveservice.output_format=csv
: 将csv更改成xml。在文件的末尾增长如何优化配置apache
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 # Report more error info message jmeter.save.saveservice.assertion_results_failure_message=true 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
cd /data/app/jmeter/build/ ant
Buildfile: /data/app/apache-jmeter-3.3/build/build.xml all: test: [jmeter] Executing test plan: /data/db/jenkins/workspace/jm/test.jmx ==> /data/app/jmeter/report/jtl/TestReport201801250234.jtl [jmeter] Creating summariser <summary> [jmeter] Created the tree successfully using /data/db/jenkins/workspace/jm/test.jmx [jmeter] Starting the test @ Thu Jan 25 14:34:18 CST 2018 (1516862058701) [jmeter] Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445 [jmeter] summary = 4 in 00:00:01 = 6.9/s Avg: 96 Min: 28 Max: 239 Err: 0 (0.00%) [jmeter] Tidying up ... @ Thu Jan 25 14:34:20 CST 2018 (1516862060127) [jmeter] ... end of run report: [xslt] Processing /data/app/jmeter/report/jtl/TestReport201801250234.jtl to /data/app/jmeter/report/html/TestReport201801250234.html [xslt] Loading stylesheet /data/app/jmeter/extras/jmeter.results.shanhe.me.xsl BUILD SUCCESSFUL Total time: 4 seconds
jenkins的安装我就不说了,能够参考之前我写的文章。vim
第一步:配置ant路径位置
位置:全局配置 --> Global Tool Configuration
bash
建立一个自由风格的软件项目
服务器
将jmeter的测试文件放置在git仓库中。
app
增长一个ant构建项目:
执行构建查看输出结果
jmeter.results.shanhe.me.xsl-下载地址
接口自动化-步骤、遇到的问题及解决方法
jmeter学习笔记(一)-jmeter html测试报告
taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found using the classloader AntClassLoader[]
解决办法
cp /data/app/jmeter/extras/ant-jmeter-1.1.1.jar /data/app/ant/lib/