Jmeter + Ant + Jenkins构建接口自动化测试平台---Windows环境

Jmeter + Ant + Jenkins构建接口自动化测试平台—windows环境

一、环境准备

1. 安装JDK

(一) 下载地址:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在这里插入图片描述

(二) 配置环境变量:
  1. Windows10 此电脑>>>右键菜单>>>【属性】>>>【高级系统设置】>>>【环境变量】
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 打开的环境变量弹窗的“系统变量”>>>【新建】>>>输入变量名、变量值>>>【确定】
    变量名:JAVA_HOME
    变量值:C:\Program Files\Java\jdk1.8.0_201
    备注:变量值填写JDK的安装位置
    在这里插入图片描述
    在这里插入图片描述
  3. “系统变量”>>>【新建】>>>输入变量名、变量值>>>【确定】
    变量名:CLASSPATH
    变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  4. “系统变量”>>>Path【编辑】>>>【新建】>>>输入变量值>>>【确定】
    变量值:
    %JAVA_HOME%\bin
    %JAVA_HOME%\jre\bin
    在这里插入图片描述
  5. Win+R >>>运行中输入cmd >>>输入javac >>>输入Java –version
    在这里插入图片描述
    在这里插入图片描述

2. 安装Jmeter

(一) 下载地址:

http://jmeter.apache.org/download_jmeter.cgi
在这里插入图片描述

(二) 配置环境变量:
  1. windows环境 此电脑(我的电脑)>>>右键菜单>>>【属性】>>>【高级系统设置】>>>【环境变量】

  2. 打开的环境变量弹窗的“系统变量”>>>【新建】>>>输入变量名、变量值>>>【确定】
    变量名:JMETER_HOME
    变量值:G:\apache-jmeter-5.0
    备注:变量值填写JMETER的安装位置,免安装版的就是其解压位置

  3. “系统变量”>>>CLASSPATH【编辑】>>>输入变量值>>>【确定】
    变量值:
    %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;
    %JMETER_HOME%\lib\jorphan.jar;

    在这里插入图片描述

  4. “系统变量”>>>Path【编辑】>>>【新建】>>>输入变量值>>>【确定】
    变量值:%JMETER_HOME%\bin
    在这里插入图片描述

  5. Win+R >>>运行中输入cmd >>>输入jmeter
    在这里插入图片描述

3. 安装Ant

(一) 下载地址:

https://ant.apache.org/bindownload.cgi
在这里插入图片描述

(二) 配置环境变量:
  1. windows环境 此电脑(我的电脑)>>>右键菜单>>>【属性】>>>【高级系统设置】>>>【环境变量】
  2. 打开的环境变量弹窗的“系统变量”>>>【新建】>>>输入变量名、变量值>>>【确定】
    变量名:ANT_HOME
    变量值:G:\apache-ant-1.10.7
    备注:变量值填写ANT的安装位置,免安装版的就是其解压位置
  3. “系统变量”>>>CLASSPATH【编辑】>>>输入变量值>>>【确定】
    变量值:%ANT_HOME%\lib;
    在这里插入图片描述
  4. “系统变量”>>>Path【编辑】>>>【新建】>>>输入变量值>>>【确定】
    变量值:%ANT_HOME%\bin
    在这里插入图片描述
  5. Win+R >>>运行中输入cmd >>>输入ant 再次输入 ant –version
    在这里插入图片描述

4. 安装Tomcat配置Jenkins

(一) 下载地址:

A. Tomcat下载地址:
https://tomcat.apache.org/download-90.cgi
在这里插入图片描述
B. Jenkins下载地址:
https://jenkins.io/zh/download/
在这里插入图片描述

(二) 配置环境变量:
  1. windows环境 此电脑(我的电脑)>>>右键菜单>>>【属性】>>>【高级系统设置】>>>【环境变量】
  2. 打开的环境变量弹窗的“系统变量”>>>【新建】>>>输入变量名、变量值>>>【确定】
    变量名:CATALINA_BASE
    变量值:G:\apache-tomcat-9.0.26
    备注:变量值填写Tomcat的安装位置,免安装版的就是其解压位置
    在这里插入图片描述
  3. 打开的环境变量弹窗的“系统变量”>>>【新建】>>>输入变量名、变量值>>>【确定】
    变量名:CATALINA_HOME
    变量值:G:\apache-tomcat-9.0.26
    备注:变量值填写Tomcat的安装位置,免安装版的就是其解压位置
    在这里插入图片描述
  4. “系统变量”>>>Path【编辑】>>>输入变量值>>>【确定】
    变量值:
    %CATALINA_HOME%\bin
    %CATALINA_HOME%\lib
    在这里插入图片描述
  5. Win+R >>>运行中输入cmd >>>输入startup
    或者 进入Tomcat安装目录bin下,运行startup.bat
    在这里插入图片描述
  6. 测试Tomcat是否启动成功:
    在地址栏输入http://locathost:8080/
    在这里插入图片描述
  7. 关闭Tomcat,进入Tomcat安装目录bin下,运行shutdown.bat
    在这里插入图片描述
补充:

遇到的小坑,Tomcat日志的中文显示乱码问题。
解决办法:修改注册表(win+R,输入regedit)
1、 进入HKEY_CURRENT_USER\Console\Tomcat,如果没有Tomcat则新建。按照下图新建CodePage项,输入值fde9(十六进制)
备注:参见 内码表;一般默认936(十进制)
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、 进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor,按照下图新建CodePage项,输入值fde9(十六进制)
在这里插入图片描述
3、 设置cmd属性,进入
HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe,新建CodePage项,输入值fde9(十六进制)
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

(三) 配置Jenkins
  1. 下载的jenkins.war放在tomcat中webapps目录下
    在这里插入图片描述
  2. 在tomcat中bin下双击startup.bat启动tomcat; 浏览器中输入:http://localhost:8080/jenkins/ 进入jenkins (备注:如8080端口被占用,请自行百度修改端口)
    在这里插入图片描述
  3. Jenkins默认会生成一个admin账户以及密码,按照上图中提示的位置找到密码贴入文本框并继续。新手选择默认安装推荐的插件。按照下图一步步配置完成后,重新启动Tomcat,浏览器输入 http://localhost:8080/jenkins/
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、 Ant配置Jmeter并输出html报告

用ant构建命令来调动执行jmeter接口测试,并生成测试报告

  1. 将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录的lib文件夹中
    在这里插入图片描述
    在这里插入图片描述
  2. 在Jmeter安装目录下,新建TestCase文件夹(也可在其他目录下创建,该文件夹下必须放置接口测试的*.jmx文件,配置build.xml中.jmx的路径时,需指向具体的.jmx文件放置路径)
  3. 在TestCase文件夹下,新建report文件夹(也可在其他目录下创建,配置build.xml中html、jtl的路径时,需指向具体的html、jtl文件放置的路径)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 新建Ant的build.xml文件。
 <?xml version="1.0" encoding="UTF-8"?>

 <project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMdd" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="G:\apache-jmeter-5.0" />
    <property name="report.title" value="接口运行报告"/>  

    <!-- QQ邮箱配置参数-->
    <property name="mail_host" value="smtp.qq.com"/>
    <property name="mail_port" value="465"/>
    <property name="username" value="XXXXXX@qq.com"/>
    <property name="password" value="XXXXXX"/>   <!--- QQ邮箱开通smtp服务时,提供的授权码 -->
    <property name="mail_from" value="XXXXXX@qq.com"/>  <!-- 发件人 -->
    <property name="mail_to" value="XXXXXX"/>   <!-- 收件人 -->
    <property name="mailsubject" value="jmeter_${report.title}${time}"/>  <!-- 邮件主题 -->
    
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="G:\apache-jmeter-5.0\TestCase\report\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="G:\apache-jmeter-5.0\TestCase\report\html" />	
	<!-- jmeter生成txt格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="G:\apache-jmeter-5.0\TestCase\report\txt" />
    <!-- 生成的报告的前缀-->  
	<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" />
	
    <!-- 输出生成的报告名称和存放路径-->
    <echo message="${jmeter.result.jtlName}"/>
    <echo message="${jmeter.result.htmlName}"/>
    <echo message="${jmeter.result.html.dir}"/>

    <!--定义次build.xml要执行全部的任务-->  
    <target name="run">
        <antcall target="test" />
        <antcall target="report" />
        <antcall target="mail" />  
    </target>
	
    <!--加载jar包,解决显示时间问题-->
    <path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path> 

     <!--第一个任务,执行test-->
    <target name="test">
	    <echo>执行接口自动化测试用例</echo>
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
            <testplans dir="G:\apache-jmeter-5.0\TestCase" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>

    <!--执行第二个任务,生成报告-->
    <target name="report">
	    <echo>生成接口自动化测试报告</echo>
        <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="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>   	
    </target>
	
    <!--执行第三个任务,发送邮件-->
    <target name="mail">
	    <echo>发送测试报告</echo>
		<loadfile property="output" srcFile="${jmeter.result.htmlName}" encoding="UTF-8"/>		
        <mail mailhost="${mail_host}" ssl="true" user="${username}" password="${password}" mailport="${mail_port}" subject="${mailsubject}" tolist="${mail_to}" messagemimetype="text/html" >
			<from address="${mail_from}" />             
			<attachments>
				<fileset dir="${jmeter.result.html.dir}">
					<include name="${ReportName}${time}.html" />
					<include name="*.png" />    
				</fileset>
			</attachments> 				
			<!-- 这是用Ant自动发送的测试报告-->
			<message>  
				${
   output}
				&lt;br /&gt;
				This email was sent automatically by ANT. &lt;br /&gt;				
				Please check the automation test report.  &lt;br /&gt;				
				If there are any questions, please contact with XXX Thank you!  &lt;br /&gt;&lt;br /&gt;			
			</message> 
        </mail>
    </target> 
<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值