jmeter-ant-jenkins轻量级接口自动化测试

jmeter-ant-jenkins轻量级接口自动化测试

安装的工具:

jdk1.8   
Jmeter4.0    
ant1.9(蚂蚁)    
jenkins2.1(詹金斯)

windows安装Ant

下载安装包:https://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.9.15-bin.zip

image-20200907103212716

解压到非中文路径:

image-20200907103300231

配置环境变量:

ANT_HOME	E:\install\apache-ant-1.9.14
path	E:\install\apache-ant-1.9.14\bin
classpath	E:\install\apache-ant-1.9.14\lib

验证是否成功安装ant

image-20200907103642345

ant安装完成了,接下来做antjmeter的集成:

ant与jmeter的集成

JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下。

image-20200907104415345

修改jmeter目录下的bin/jmeter.properties,找到jmeter.save.saveservice.output_format,去掉注释并设置为xml

image-20200907104513034

image-20200907104602587

本地新建一个英文文件夹testcases,包含reportscript两个文件夹:

image-20200908194900270

report目录下,创建两个文件夹htmljtl

image-20200908195138296

创建一个build.xml文件:

image-20200909002745282

打开build.xml文件,添加文件内容:(不要去修改jmeter安装目录下的build.xml文件,要自己建

img

image-20200908200646987

image-20200908200429572

测试报告的格式有多样性的,如果jmeter安装目录extras中测试报告名称改了,一定要到build.xml文件中把报告名称改为和extras中的一致。

jmeter.results.shanhe.me.xsl下载链接:http://shanhe.me/download.php?file=jmeter.results.shanhe.me.xsl

build.xml的完整内容可如下:

<?xml version="1.0" encoding="utf-8"?>
<project name="jmeter_test" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="E:\install\jmeter\apache-jmeter-5.3\apache-jmeter-5.3" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="E:\testcases\report\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="E:\testcases\report\html" />
    <!-- 生成的报告的前缀 -->
    <property name="ReportName" value="TestReport_jimmy" />
    <!-- 生成各种文件-->
	<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
	<!--<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />-->
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
	<!-- <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />-->

    <!-- 接收测试报告的邮箱 -->
<!--    <property name="mail_to" value="whweia@vip.qq.com" />-->
    <!-- 电脑地址 -->
<!--    <property name="ComputerName" value="xiaoqiang" />-->

	<!-- 解决不显示 Min/Max 统计时间的问题。同时把下面的两个jar文件copy到ant的lib包中-->
	<path id="xslt.classpath">
	<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.1.jar"/>
	<fileset dir="${jmeter.home}/lib" includes="serializer-2.7.1.jar"/>
	</path>

    <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="E:\testcases\script" includes="*.jmx" />
        </jmeter>
    </target>
	<!-- jmeter-results-detail-report_21.xsl   or    jmeter.results.shanhe.me.xsl-->
    <target name="report">
		<!-- 解决不显示时间的问题-->
		<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
        <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.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>
</project>

ant运行jmeter脚本

接下来可以使用ant运行jmeter脚本并生成报告了。

随便复制一个可以使用的jmx格式脚本到之前自己创建的script目录下:

image-20200908202546896

进入cmdcdtestcases目录:

image-20200909003114956

查看生成的测试报告:

image-20200908203148748

image-20200908203254767

双击打开html报告,内容如下:

image-20200909003241595

jenkins安装

jenkins可以直接安装,也可以使用tomcat来安装,下面使用tomcat来安装:

下载tomcatwindows安装包:https://tomcat.apache.org/download-70.cgi

image-20200908203742823

解压tomcat安装包到无英文路径:

image-20200908204211469

进入bin目录,双击startup.bat批处理文件,看tomcat是否安装成功:

image-20200908204632396

jenkins.war文件放到tomcatwebapp目录中,然后重启tomcat (bin目录中 shutdown.bat关闭),然后再启动tomcat

jenkins.war包下载链接:http://mirrors.jenkins-ci.org/war/latest/jenkins.war

image-20200908212717868

在浏览器中输入 http://127.0.0.1:8080/jenkins/ 访问:

有可能会出现下面这个页面,要加载一会:

image-20200909005818398

Jenkins加载完毕后,输入密码解锁:

image-20200908183320405

查看文件:C:\Users\Administrator\.jenkins\secrets\initialAdminPassword来获取密码。

输入密码,回车:

为避免出错,打开链接:http://127.0.0.1:8080/jenkins/pluginManager/advanced

修改内容:将https改为http

image-20200908184456143

image-20200908184504567

修改后,重新访问路径:http://127.0.0.1:8080/jenkins/ ,选择推荐安装:

image-20200908184553026

image-20200908184724454

敲黑板:Jenkins插件下载速度慢、经常安装失败。启动后先不要安装插件,先替换文件再安装插件,

解决办法:替换所有插件下载的url,替换连接测试url。修改C盘的default.json文件的内容,default.json的路径可以从解锁那一步知道,在C:\Users\Administrator\.jenkins\updates下:

google.com修改为baidu.com:

image-20200909011339307

image-20200909011621463

配置完成后重启jenkins,后缀加上restart

img

如果还是下载插件失败的话,停止tomcat,删除war包,删除.jenkins的文件,然后再把war包上传,启动tomcat,多试试几次。或者可以重启电脑

安装完插件后要设置自己的账号密码,务必记住:

krystal
krystal123

邮箱设置建议使用126或163邮箱。

登陆后,页面如下:

image-20200909012018354

如果登录后页面空白,那么进行以下操作:没有空白页的就不要这一步操作

进入.jenkins的目录,修改conf.xml文件

img

然后重启jenkins

8、新建自由风格的项目

image-20200909012135685

选择第一个自由风格,然后点击OK按钮

image-20200909013208648

配置ant,增加build路径

image-20200909013257003

image-20200909013120424

注意点:

img

点击保存之后,继续配置测试报告

如果没有安装推荐的插件在这里需要下载一个插件Public HTML reports

Manage Jenkins---》Manage Plugins----》可选插件 输入HTML Publisher 进行查询并进行安装

image-20200909012840096

image-20200909012938505

接下来继续配置报告

点击增加构建后操作步骤 并点击Public HTML reports

image-20200909013401266

image-20200909013429527

image-20200909013549899

 并点击保存按钮 好了 现在我们报告也配置好了 ,现在进行jenkins构建下吧

image-20200909013617988

image-20200909013646899

查看输出:

image-20200909013802330

image-20200909013915085

  好了到了这一步 已经构建成功了,Success !

  我们在jenkins下面看下HTML 报告

IMG_265

img

img

之后可以用jenkins定时器定时执行jmeter脚本,也可以批量执行jmeter脚本。

posted @ 2020-08-30 23:07  Whatever_It_Takes  阅读(259)  评论(0编辑  收藏  举报