jmeter实战:jmeter+ant+jenkins轻量级接口自动化测试(windows)

Posted 说笑谈古松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter实战:jmeter+ant+jenkins轻量级接口自动化测试(windows)相关的知识,希望对你有一定的参考价值。

杀猪不用牛刀,工具没有牛逼高大尚之分,每个工具都有存在的理由;关键是看会不会用,怎么用,有没有用在合适的地方。需要安装的工具:
jdk1.8
Jmeter4.0
ant1.9(蚂蚁)
jenkins2.1(詹金斯)

1、环境配置

1、windows安装jdk:https://blog.csdn.net/qq_40468470/article/details/116940914
2、Windowsan安装jmeter:可以自己取下载一个无需安装的jmeter。但是需要配置一下环境变量:
在系统变量中添加俩个属性
① JMETER_HOME=D:\\apache-jmetes\\apache-jmeter-4.0 (就是jmeter保存的路径)
② CLASSPATH=%JMETER_HOME%\\lib\\ext\\ApacheJMeter_core.jar; %JMETER_HOME%\\lib\\jorphan.jar;
(这个复制上去就ok) CLASSPATH变量如果存在就直接在后面加变量,如果没有就新建一个,注意每个变量 ; 隔开
( 3 ) 在用系统变量path后面加上 ;%JMETER_HOME%\\bin 注意是系统变量

3、windows安装tomcat:https://blog.csdn.net/qq_40468470/article/details/117824576
4、windows安装ant:https://blog.csdn.net/qq_40468470/article/details/117825203
5、Windows配置jenkins:https://blog.csdn.net/qq_40468470/article/details/117825441
以上环境全部安装好,检查都ok。

到这里,也可以用ant去运行jmeter脚本了,只不过没实现自动化-----------
步骤:
1、在任意位置新建一个testcases文件夹,(注意:文件夹的位置路径中建议不要有中文目录)
2、在testcases文件夹下新建一个cases文件夹存放线程组,(这时你就可以放一个正确地线程组在里面,用于接下来的演示)
在这里插入图片描述
3、在testcases文件夹下新建一个report文件夹,文件夹下再分别新建一个jtl文件夹存放日志报告,新建一个html文件夹存放运行报告。
在这里插入图片描述
4、将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下。
在这里插入图片描述

5、修改jmeter目录下的bin/jmeter.properties,找到
jmeter.save.saveservice.output_format,去掉注释并设置为xml。
在这里插入图片描述
用notepad++打开:
在这里插入图片描述
6、在testcases文件夹新建一个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:\\ouyang_study\\接口测试\\一\\apache-jmeter-5.2" />#重要
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="E:\\ouyang_study\\接口测试\\一\\apache-jmeter-5.2\\result\\jtl" />#重要
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="E:\\ouyang_study\\接口测试\\一\\apache-jmeter-5.2\\result\\html" />#重要
    <!-- 生成的报告的前缀 -->
    <property name="ReportName" value="TestReport_whweia" />
    <!-- 生成各种文件-->
	<!--<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="D:\\testcases\\cases" 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>

在这里插入图片描述
在这里插入图片描述
第五个重要的内容是jmeter-results-detail-report_21.xsl:
在这里插入图片描述
7、查看结果,那么现在就可以运行ant试试了
那么怎么运行呢:
到刚才本地新建的文件夹下运行ant
在这里插入图片描述
输入cmd回车
在这里插入图片描述
看到成功了 就是ok了
在这里插入图片描述
在这里打开报告:
在这里插入图片描述
8、那么不想手动 想自动化运行,怎么办。。就用jenkins-------
前面我在浏览器的地址栏输入:http://127.0.0.1:8080/jenkins 或者 http://localhost:8080/jenkins 已经进入了jenkins的初始界面,稍等加载一下就会出现下面的场景:
在这里插入图片描述
windows中有时是一个地址,cmd无法到达,可以在文件夹中自己找,最后的initialAdminPassword文件中就存放着密码。
填写账号资料后进入下面场景:
在这里插入图片描述
选择安装推荐的插件。
账号密码自己设置,要记住。登录进来后是这个样子。
在这里插入图片描述
9、新建自由风格的项目
在这里插入图片描述
确认后:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
注意点:
在这里插入图片描述
点击保存之后,继续配置测试报告
如果没有安装推荐的插件在这里需要下载一个插件Public HTML reports
系统管理----》管理插件----》可选插件 输入HTML Publisher 进行查询并进行安装
在这里插入图片描述
在这里插入图片描述
接下来继续配置报告:
在这里插入图片描述
选择报告生成地址(前面的build.xml已经有生成位置了,这不可以省略):
在这里插入图片描述
接下来的才是重点(设置自动执行时间):
在这里插入图片描述
日程表填写内容:

每隔5分钟构建一次
H/5 * * * *
每两小时构建一次
H H/2 * * *
每天中午12点定时构建一次
H 12 * * *
每天下午18点定时构建一次
H 18 * * *
在每个小时的前半个小时内的每10分钟
H(0-29)/10 * * * *
每两小时45分钟,从上午9:45开始,每天下午3:45结束
45 9-16/2 * * 1-5
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
H H(9-16)/2 * * 1-5

点击保存之后:
在这里插入图片描述
查看构建情况:
在这里插入图片描述
在这里插入图片描述
如果你填写了构建后操作的内容那就可以在下面这个位置查看报告:
在这里插入图片描述
没有的话你可以在你新建的testcases\\report\\html目录下查看报告:
在这里插入图片描述
在这里插入图片描述
知识补充:
my-views里的操作:
在这里插入图片描述
生成的报告样式:
在这里插入图片描述

以上是关于jmeter实战:jmeter+ant+jenkins轻量级接口自动化测试(windows)的主要内容,如果未能解决你的问题,请参考以下文章

ant+jmeter+Jenkins接口自动化测试实战

此处有干货~jmeter+ant+jenkins持续集成配置及过程中问题解决思路

jenkins,jmeter,ant

Jmeter-Ant 生成测试报告配置步骤

ANT / JMeter - 长时间运行的测试 - 停止写入摘要结果

Ant+Jmeter+Jenkins集成