JMeter+ant+git+jenkins+邮件持续集成环境搭建
1.前提条件
本次环境搭建记录针对于mac环境。
本次JMeter+ant+git+jenkins在已搭建好java、Jmeter、ant环境的基础上进⾏配置。环境配置如下:
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
export JAVA_HOME=$JAVA_8_HOME
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JMETER_HOME=/Users/cady/apache-jmeter-4.0
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/Apa
cheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMET export ANT_HOME=/Users/cady/apache-ant-1.10.7
export PATH=$PATH:.:${ANT_HOME}/bin
2.JMeter+ant+git
2.1 1.将 /Users/cady/apache-jmeter-4.0/extras⽂件夹下的ant-jmeter-1.1.1.jar这个jar包复制到 /Users/cady/apache-ant-
1.10.7/lib⽂件夹下
复制:
黏贴⾄:
2.l⽂件修改
1.配置和⽂件⽣成⽬录等相关修改(红框)
2.初始化⽅法(蓝框,不是必须)
3.git脚本⽂件路径(橙框):路径只需要写对于项⽬⼯作⽬录的相对路径即可
整个l⽂档如下,供参考
<?xml version="1.0"?>
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<!-- <format property="time" pattern="yyyy-MM-dd-HH-mm-ss" /> -->
</tstamp>
<!--<property name="testpath" value="${user.dir}"/> --><!-- jmeter的存放路径-->
<property name="jmeter.home" value="/Users/cady/apache-jmeter-4.0"/>
<!-- jmeter⽣成jtl格式的结果报告的路径-->
<property name="sult.jtl.dir" value="./TestReport/jtl" />
<!-- jmeter⽣成html格式的结果报告的路径-->
<property name="sult.html.dir" value="./TestReport/html" />
<!-- ⽣成的报告的前缀-->
<!-- <param name="time" expression="${ReportTime}"/> -->
<property name="ReportName" value="TestReport" />
<property name="sult.jtlName" value="${sult.jtl.dir}/${ReportName}.jtl" />
<property name="sult.htmlName" value="${sult.html.dir}/${ReportName}.html" />
<!-- 输出⽣成的报告名称和存放路径-->
<echo message="${sult.jtlName}"/>
<echo message="${sult.htmlName}"/>
<echo message="${sult.html.dir}"/>
<target name="run">
<antcall target="init" />
<antcall target="test"/>
<antcall target="report"/>
</target>
<!--加载jar包,解决显⽰时间问题 -->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="init">
<mkdir dir="${sult.jtl.dir}" />
<mkdir dir="${sult.html.dir}" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${sult.jtlName}">
<!--添加Git后,修改路径,默认运⾏的脚本从Jenkins的workspace根⽬录拉取-->
<testplans dir="./" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<target name="report">
<tstamp> <format property="report.datestamp" pattern="yyyy-MM-dd HH:mm" /></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${sult.jtlName}"
out="${sult.htmlName}"
>
<!--显⽰dateReport的时间-->
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<!-- 因为上⾯⽣成报告的时候,不会将相关的图⽚也⼀起拷贝⾄⽬标⽬录,所以,需要⼿动拷贝 --> <copy todir="${sult.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
3.JMeter+ant+git+Jenkins
3.1 项⽬ -- 配置 -- 源码管理 -- git 配置git仓库url和添加账户密码
3.2 Jenkins -- Manage Jenkins -- global tool configuration
配置jdk和ant
3.3 项⽬ -- 配置 -- 构建环境 -- with ant 配置选择3.1配置的环境
*3.2和3.3 这两步在windows上没有配置也可以运⾏,但是在mac上好像是⼀定要设置 不然报错:
ERROR: command execution failed.Maybe you need to configure the job to choose one of your Ant installations? Finished: FAILURE
3.4 在Jenkins⽤户中配置环境变量
没有配置这⼀步可能会导致控制台报错:you must set jemeterhome to your jmeter install directory
*这⼀步windows应该也不需要配置,但mac会出现问题
*3.5 在JMeter的lib⽬录下添加脚本相关jar包和安装相关插件
*这⼀步如果是本地搭建的话基本不需要,因为肯定之前都加过了。但如果是给公司项⽬搭建的话,是相对于⽐较⼲净的环境,所以需要检查⼀下脚本相关需要⽤到的jar包(⽐如连接数据库、websocket等),添加⼀下。
ant安装包⽐如没有连接数据库相关jar包可能会导致控制台报错:Cannot load JDBC driver class
'com.microsoft.sqlserver.jdbc.SQLServerDriver'
3.6 项⽬ -- 配置 -- 构建
在构建中添加“Invoke Ant” 选择对应的ant环境并填写targets(这⾥的target如果不填写就是脚本中默认target);这⾥的任务都是按照顺序执⾏的,如果要在构建中添加其他任务或脚本等,只需要按照执⾏顺序摆放就可以了。
⽐如在图中,我在ant构建之前先使⽤脚本删除之前的报告,在ant构建后加上测试报告的失败断⾔判断,关联构建结果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论