jenkin运行jmeter自动化脚本(jenkins+jmeter+ant)

欢迎大家加群,共同讨论测试自动化,qq群:436370465
写了jmeter脚本后使用jenkins来构建,使用ant来集成
1.服务器安装jenkins+jmeter+ant+jdk 并且配置环境变量
2.设置slave节点(运行job的节点)
配置目录地址(按照jenkins安装目录)
运行job数量(按照机器资源设置)
启动方式(通过agent.jar),拿到agent.jar 放到准备好的节点机上(可以与jenkins部署机器是同一个机器)启动即可
nohup ******* &(*****为节点自动生成)

3.配置job
新建项目,选择自由风格项目,或者copy现有job




pwd
cd $WORKSPACE/Helios_JP_API/05JP_StageIterativeRequirements
pwd
/opt/autoTest/apache-ant-1.9.14/bin/ant run -f build_${file}.xml -DprotocolV=${protocol} -Dhostname=${serviceURL} -Dlogin1=${username1} -Dcompany1=${companyCode1} -Dcompany9=${companyCode9} -Dpw=${password}

<html> <head> <meta charset="UTF-8"> <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title> </head>
<!-- 电脑地址 -->
<property name="ComputerName" value="LAPTOP-VJV4S5M8" />

<target name="show-test-properties">
    <echo>JMETER_HOME				: ${jmeter.home}</echo>
    <echo>TEST_PATH				: ${test.plan.path}</echo>
    <echo>THREADGROUP_COUNT			: ${threadgroup.count}</echo>
    <echo>THREADGROUP_RAMPUP			: ${threadgroup.rampup}</echo>
    <echo>THREADGROUP_DURATION		: ${threadgroup.duration}</echo>
</target>

<target name="run" depends="show-test-properties">
    <antcall target="delete" />
    <antcall target="run_jmeter" />
    <antcall target="report" />
    <!--antcall target="sendEmail" /-->
</target>

<target name="run_jmeter">
    <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
    <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}" jmeterlogfile="${jmeter.result.log}">
        <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
		<!--<testplans dir="${basedir}\TestSuite\001_basicData" includes="*.jmx" />-->
		<testplans dir="${basedir}\TestSuite\001_basicData" includes="P1_*.jmx" />
    <property name="protocol" value="${protocolV}"/>
    <property name="serverUrl" value="${hostname}"/>
    <property name="user1" value="${login1}"/>
	<property name="user10" value="${login10}"/>
	<property name="companyCode1" value="${company1}"/>
	<property name="companyCode9" value="${company9}"/>
    <property name="password" value="${pw}"/>
    <property name="host" value="HuiLianYIproducts"/>
    </jmeter>
</target>
<target name="report">
    <path id="xslt.classpath">
        <fileset dir="${lib.dir}" includes="xalan*.jar"/>
        <fileset dir="${lib.dir}" includes="serializer*.jar"/>
    </path>
    <tstamp><format property="show-data" pattern="'n'"/></tstamp>
    <tstamp><format property="report.title" pattern="'HuiLianYi-Interface Test Results'"/></tstamp>
    <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.shanhe.xh.xsl">
        <param name="showData" expression="${show-data}"/>
        <param name="titleReport" expression="${report.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>
    <copy todir="${jmeter.history.dir}">
        <fileset dir="${jmeter.result.html.dir}">
            <include name="${ReportName}${time}.html" />
        </fileset>
    </copy>
</target>
<target name ="delete">
    <delete includeEmptyDirs="true">
        <fileset dir="${jmeter.result.html.dir}" includes="**/*"/>
    </delete>
</target>
本邮件由程序自动下发,请勿回复!


***************版本迭代需求API测试结果***********
构建信息
  • 项目名称:${PROJECT_NAME}
  • 环境信息:${protocol}://${serviceURL}
  • GIT路径:${GIT_URL}
  • 构建日志:${BUILD_URL}console
  • 测试报告:详细报告请双击附件查看!
变更信息:
    ${JELLY_SCRIPT,template="html"}
posted @ 2020-11-15 12:40  小黑ようちょう  阅读(337)  评论(0)    收藏  举报