jmeter接口自动化环境搭建--svn+jenkins+ant+jmeter(二)

之前的文章记录了如何安装jdk、jmeter以及配置其环境变量。然后安装jenkins。我把jenkins安装在服务器上,方便共享。
通过xshell连接到服务器,输入命令

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

安装后,在浏览器输入jenkins(https://服务器地址:port)地址,进入页面。此时系统提示你解锁,填写密码即可。
在这里插入图片描述
然后安装插件。我选择安装系统推荐插件,安装时间稍长。
在这里插入图片描述
接着设置登陆账号和密码,默认admin即可。
在这里插入图片描述

创建后,见到下图,代表jenkins安装成功了。
在这里插入图片描述
jenkins安装完毕后,继续安装ant。

https://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.10.8-bin.zip

解压安装

unzip apache-ant-1.10.8-bin.zip

配置环境变量

vi /etc/profile
export ANT_HOME=/usr/bin/apache-ant-1.10.8
export PATH= A N T H O M E / b i n : ANT_HOME/bin: ANTHOME/bin:PATH

重启配置文件: source /etc/profile
接下来安装jmeter。
解压安装

unzip apache-jmeter-5.2.1.zip

安装完成后,配置jmeter。在Jmeter主目录下创建一个reports文件夹,然后在reports下创建三个文件夹jtl、html(存放测试报告目录)、test_scripts(存放测试脚本目录).

mkdir jtl html test_scripts

j接着把jmeter目录下的extras目录下的ant-jmeter-1.1.1.jar文件复制到ant目录下的lib文件夹中

cp /data/jmeter/apache-jmeter-5.2.1/extras/ant-jmeter-1.1.1.jar /usr/bin/apache-ant-1.10.8/lib

创建一个build.xml文件,添加如下内容:

<?xml version="1.0" encoding="UTF-8"?>

 

<project name="ant-jmeter-test" default="run" basedir=".">

    <tstamp>

        <format property="time" pattern="yyyyMMddhhmm" />

    </tstamp>

    <!-- 需要改成自己本地的 Jmeter 目录-->  

    <property name="jmeter.home" value="/data/jmeter/apache-jmeter-5.2.1" />

	<!-- 发送给哪些人-->

<property name="mail_to" value="XXXX@163.com"/>  

    <!-- 抄送给哪些人,多个用逗号隔开/-->

    <!--property name="mail_cc" value="XXXX@163.com,XXXX@qq.com"/-->

<property name="report.title" value="接口测试报告"/>  

    <!-- jmeter生成jtl格式的结果报告的路径--> 

    <property name="jmeter.result.jtl.dir" value="/data/jmeter/apache-jmeter-5.2.1/reports/jtl/" />

    <!-- jmeter生成html格式的结果报告的路径-->

    <property name="jmeter.result.html.dir" value="/data/jmeter/apache-jmeter-5.2.1/reports/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" />

    

	<!--定义次build.xml要执行全部的任务-->  

    <target name="run">

        <antcall target="test" />

        <antcall target="report" />

		<antcall target="mail" />  

    </target>

    

	 <!--第一个任务,执行test-->

    <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="/data/jmeter/apache-jmeter-5.2.1/reports/test_scripts/" includes="*.jmx" />

           <property name="jmeter.save.saveservice.output_format" value="xml"/>

        </jmeter>

    </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="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-report_21.xsl">

              <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>

	

	  <!--将控制台输出到文本中-->

  <record name="${jmeter.result.html.dir}/${ReportName}${time}.txt" loglevel="info" append="no" action="start"/>

  

 

      <!--执行第三个任务,发送邮件-->

	<target name="mail">

	<!--读取输出的控制台日志文件并写入邮件正文-->

	<loadfile property="email_content" srcFile="${jmeter.result.html.dir}/${ReportName}${time}.txt" encoding="UTF-8"/>

	<loadfile property="output" srcFile="${jmeter.result.html.dir}/${ReportName}${time}.html" encoding="UTF-8"/>

	  <!-- 此处配置SMTP服务器   POP3授权码   发送邮箱地址   端口  发送邮箱主题-->

<mail tolist="${mail_to}"  mailhost="smtp.163.com" mailport="465"          

      user="XXXX@163.com"  password="XXXX " ssl="true" subject="jmeter 测试报告 ${ReportName}${time}" 

 

messagemimetype="text/html">

<from address="XXXX@163.com" />

 

 <fileset dir="${jmeter.result.html.dir}">

 

    <include name="${ReportName}${time}.html"/>

 

   </fileset>

<message>  

  这是用Ant自动发送的测试报告

   ${ReportName}${time}

   ${output}

  请勿回复,如有问题,请联系呀呀呀呀

</message>  

</mail>  

</target>  

</project>



配置jmeter.properties文件。

vi /data/jmeter/apache-jmeter-5.2.1/bin/jmeter.properties

将jmeter.save.saveservice.output_format=csv 改为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#。
导入javax.mail 的jar包支持发送email。下载地址:https://www.oracle.com/java/technologies/java-archive-eepla-downloads.html#license-lightbox
把下载好的jar包上传到/usr/bin/apache-ant-1.10.8//lib目录下。

最后Jenkins配置jdk、ant路径
在这里插入图片描述
配置jdk:
jdk别名任意取。java_home填写服务器的路径。
在这里插入图片描述

配置ant::
name随便取。ant_home填写服务器的路径。
在这里插入图片描述

新建Jenkins任务并执行

输入任意任务名称,选择第一个任务类型,点击确定。
在这里插入图片描述
选择构建触发器–增加构建步骤 选择invoke Ant。
在这里插入图片描述
Ant Version 不要用default,Targets 填写run。 Build File 填入在linux的build.xml路径, 填写完成后应用保存。
在这里插入图片描述
开始构建
在这里插入图片描述
至此svn+jmeter+ant+jenkins自动化环境搭建完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值