jenkins+ant+jmeter自动执行脚本环境搭建

it2024-04-21  9

1、工具下载 (1)ANT:http://ant.apache.org/bindownload.cgi 环境配置: 新建ANT_HOME路径:ANT_HOME:D:\ant\apache-ant-1.10.6 新建CLASSPATH路径:CLASSPATH:;%ANT_HOME%\lib 新建path路径:;%ANT_HOME%\bin 检测ant是否安装成功:cmd,输入ant -version (2)Jenkins:https://jenkins.io/download/ 默认端口号:8080 当端口号被占用的时候,修改jenkins 端口号,如下: 修改jenkins.xml文件 完成之后,在浏览器输入:http://localhost:8080/jenkins 完成Jenkins的配置等 (3)jmeter:http://www.downxia.com/downinfo/226434.html,下载安装

如果将ant、Jenkins关联起来? (1)将\apache-jmeter\extras下面的ant-jmeter-1.1.1的jar包复制到ant的lib目录下 (2)配置\apache-jmeter\extras下面的build.xml文件 如果要生成详细的报告可以修改以下地方:

<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="_yyyy_MMdd_HHmmss" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="D:\workTools\apache-jmeter-4.0" /> <property name="report.title" value="接口测试"/> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="D:\workTools\apache-jmeter-4.0\report" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="D:\workTools\apache-jmeter-4.0\report" /> <property name="detail" value="_detail" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="apiTest" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" /> <!-- 生成详细报告--> <property name="jmeter.result.jtlNameDetail" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" /> <property name="jmeter.result.htmlNameDetail" value="${jmeter.result.html.dir}/${ReportName}${detail}.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="D:\workTools\apache-jmeter-4.0\apiTestScript" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <target name="report"> <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></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="showData" expression="${show-data}"/> <param name="titleReport" expression="${report.title}"/> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlNameDetail}" out="${jmeter.result.htmlNameDetail}" style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl"> <param name="showData" expression="${show-data}"/> <param name="titleReport" expression="${detailReport.title}"/> <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)复制build.xml文件到ant的bin目录下,名字修改为build_jemter.xml在这里插入代码片 (4)将脚本放在自己配置的地方,我在jmeter 安装目录下新建了一个apiTestScript目录,例如:

如果配置jenkins? 生成的报告如下:

如果配置邮箱? 1、安装插件(email extension plugin) 2、预先配置全局变量

默认邮件内容:

${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志 本邮件由系统自动发出,无需回复! 各位同事,大家好,以下为${PROJECT_NAME }项目构建信息 构建结果 - ${BUILD_STATUS} 构建信息
项目名称 : ${PROJECT_NAME}构建编号 : 第${BUILD_NUMBER}次构建触发原因: ${CAUSE}构建状态: ${BUILD_STATUS}构建日志: ${BUILD_URL}console构建 Url : ${BUILD_URL}工作目录 : ${PROJECT_URL}ws项目 Url : ${PROJECT_URL}

失败用例


$FAILED_TESTS

最近提交(#$SVN_REVISION)


${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat=" %d [%a] %m"} 详细提交: ${PROJECT_URL}changes </td> </tr> </table>

3、每个项目内的配置:针对于每个项目需要不同的收件人

最新回复(0)