1)ant安装配置
下载链接:http://ant.apache.org/bindownload.cgi
环境变量配置:ANT_HOME: D:\apache-ant-1.9.15 CLASSPATH: %ANT_HOME%\lib path: %ANT_HOME%\bin
验证安装结果:
2)jenkins安装配置
下载链接:http://jenkins-ci.org
解压后放在磁盘空间较大的盘,浏览器访问http://localhost:8080/(如果8080端口被占用,修改jenkins目录下jenkins.xml文件端口号)
3)录制jmeter脚本
4)将 jmeter\extras 目录下的 ant-jmeter-1.1.1.jar 放到 D:\apache-ant-1.9.15\lib 目录下
5)配置jmeter的build.xml文件
<?xml version="1.0"?> <project name="ant-jmeter" default="all" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <property name="testpath" value="${user.dir}"/> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="D:\apache-jmeter-3.3" /> <!-- 需要改成自己本地的 Jmeter 中demo的目录--> <property name="test.dir" value="D:\apache-jmeter-3.3\xinguangtest\test" /> <!-- jmeter生成测试报告的title名称--> <property name="report.title" value="Jmeter Test Results"/> <!-- jmeter生成jtl、html格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-3.3\xinguangtest\test\report\jtl" /> <property name="jmeter.result.html.dir" value="D:\apache-jmeter-3.3\xinguangtest\test\report\html" /> <!-- 测试报告名称--> <property name="ReportName" value="Load Test Report" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/index.html" /> <target name="all"> <echo message="start..."/> <!--<antcall target="clean" /> --> <antcall target="run" /> <antcall target="xslt-report" /> </target> <!-- Name of test (without .jmx) --> <property name="test" value="Test"/> <!-- Should report include response data for failures? --> <property name="show-data" value="n"/> <property name="format" value="2.1"/> <condition property="style_version" value=""> <equals arg1="${format}" arg2="2.0"/> </condition> <condition property="style_version" value="_21"> <equals arg1="${format}" arg2="2.1"/> </condition> <condition property="funcMode"> <equals arg1="${show-data}" arg2="y"/> </condition> <condition property="funcMode" value="false"> <not> <equals arg1="${show-data}" arg2="y"/> </not> </condition> <!-- Allow jar to be picked up locally --> <path id="jmeter.classpath"> <fileset dir="${basedir}"> <include name="ant-jmeter*.jar"/> </fileset> </path> <taskdef name="jmeter" classpathref="jmeter.classpath" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> <target name="run"> <echo>funcMode = ${funcMode}</echo> <delete file="${testpath}/${test}.html"/> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 执行这个目录下边所有以.jmx结尾文件 --> <testplans dir="${test.dir}" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> <property name="jmeter.save.saveservice.assertion_results" value="all"/> <property name="jmeter.save.saveservice.bytes" value="true"/> <property name="file_format.testlog" value="${format}"/> <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/> <jvmarg value="-Xincgc"/> <jvmarg value="-Xmx128m"/> <jvmarg value="-Dproperty=value"/> <jmeterarg value="-qextra.properties"/> </jmeter> </target> <property name="lib.dir" value="${jmeter.home}/lib"/> <!-- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ --> <path id="xslt.classpath"> <fileset dir="${lib.dir}" includes="xalan*.jar"/> <fileset dir="${lib.dir}" includes="serializer*.jar"/> </path> <target name="xslt-report" depends="_message_xalan"> <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="showData" expression="${show-data}"/> <param name="titleReport" expression="${ReportName}${time}"/> <param name="dateReport" expression="${ReportName}${time}"/> </xslt> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> <target name="verify-images"> <condition property="samepath"> <equals arg1="${testpath}" arg2="${basedir}" /> </condition> </target> <!-- Check that the xalan libraries are present --> <condition property="xalan.present"> <and> <!-- No need to check all jars; just check a few --> <available classpathref="xslt.classpath" classname="org.apache.xalan.processor.TransformerFactoryImpl"/> <available classpathref="xslt.classpath" classname="org.apache.xml.serializer.ExtendedContentHandler"/> </and> </condition> <target name="_message_xalan" unless="xalan.present"> <echo>Cannot find all xalan and/or serialiser jars</echo> <echo>The XSLT formatting may not work correctly.</echo> <echo>Check you have xalan and serializer jars in ${lib.dir}</echo> </target> </project>
切到 build.xml 所在的目录下,使用 ant 编译 build.xml,验证是否可以正常编译(成功结果如下)
6)部署 jenkins 平台
配置 item 信息
立即构建,运行测试脚本
运行成功,生成测试报告(report目录没有的话会自动创建)
原文:https://www.cnblogs.com/yi-ying/p/14087431.html