配置Ant,Jenkins时遇到的几个问题总结

来源:互联网 发布:37大闹天宫进阶数据 编辑:程序博客网 时间:2024/05/16 09:31
一、JMeter

下载JMeter(官网链接:http://jmeter.apache.org/),配置环境变量(只有配置正确一般不会有什么问题),之后打开jmeter.bat文件。

具体步骤:

1、安装配置JDK环境(不详细说了)

2、新建JMETER系统变量  变量名:JMETER_HOME, 变量值:具体安装路径

3、编辑CLASSPATH变量  加上:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;


二、Ant

1、前提:在JMeter中录制脚本且测试通过,下载地址:http://ant.apache.org/

2、将JMeter中extras目录里的ant-JMeter-1.1.1.jar复制到Ant子目录lib之下

3、找到JMeter目下bin/jmeter.properties里的“ jmeter.save.saveservice.output_format=csv”,修改为“ jmeter.save.saveservice.output_format=xml”

4、找到JMeter中extras目录下的build.xml文件,配置build.xml,具体代码如下:

<?xml version="1.0"?><project name="ant-jmeter" default="all">    <tstamp>        <format property="time" pattern="yyyyMMddhhmm" />    </tstamp>    <!-- 需要改成自己本地的 Jmeter 目录-->    <property name="jmeter.home" value="D:\work\JMeter\apache-jmeter-3.2" />    <!-- jmeter生成jtl格式的结果报告的路径-->    <property name="jmeter.result.jtl.dir" value="D:\jmeter-auto\resultLog\jtl" />    <!-- jmeter生成html格式的结果报告的路径-->    <property name="jmeter.result.html.dir" value="D:\jmeter-auto\resultLog\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="yaya.feng@ximalaya.com" />    <!-- 电脑地址 -->    <property name="ComputerName" value="yaya.feng" />    <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="D:\jmeter-auto\script" includes="*.jmx" />            <property name="jmeter.save.saveservice.output_format" value="xml"/>        </jmeter>    </target>    <!-- 解决date report not defined的问题-->    <path id="xslt.classpath">        <fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>    </path>    <target name="report">    <!--解决html中min和max为NaN的情况 -->    <xslt           classpathref="xslt.classpath"          force="true"            in="${jmeter.result.jtlName}"          out="${jmeter.result.htmlName}"          style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >      <!-- 解决date report not defined的问题-->          <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>    <!-- 发送邮件 --></project>

5、配置完后将build.xml复制到jmeter生成路径中。进入cmd,切换至本地jmeter生成路径,运行ant,如图所示运行成功。

1)如果出现ant不是内部命令的错误,考虑环境变量没有配置成功;

2)如果没有生成需要的文件(比如html文件),需要去排查build.xml是否配置成正确。


6、查看生成的html文件:

如图所示:

1)date report not defined

2)min time,max time为NaN


在上面build.xml文件中已经解决了这两个问题,具体可以看注释内容。


三、Jenkins

1、下载地址:https://jenkins.io/

2、下载完毕后解压打开,根据步骤配置,安装时可以选择默认安装

3、注意,之后打开时,需要在cmd启动jenkins服务,net start Jenkins

4、安装完毕后,点击新建,创建一个自由风格的软件项目,并输入构建名



4、general里设置是否要丢弃旧的构建(关于其他参数感兴趣的话可以自行学习哈)



5、构建里面选择invoke ant,并填写build file,为之前设置的报告生成路径下的build.xml



6、填写完毕后保存,点击构建,之前配置都没问题,这次我出了一个问题:



7、实际上ant已经配置过环境变量了,但是在Jenkins中报错,提示不是内容命令,查阅资料后解决办法如下:

在系统管理中找到Global Tool Configuration



8、填写具体的ant、jdk绝对路径




9、之后进入刚刚配置的构建中,填写ant version,选中刚刚设置的那个name,OK这个问题解决。


10、关于后面生成的报告优化等问题,就是后话啦,这个有时间再更新哈~~