性能测试持续集成 CICD:JMeter+Jenkins+Ant+jmx

Java JDK 

C:\Users\Tommy>java -version
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)

Apache Tomcat+Jenkins.war

Apache Tomcat/9.0.65

https://tomcat.apache.org/download-90.cgi


jenkins.war 2.99

https://get.jenkins.io/war/2.367/jenkins.war

jenkins安装方法和初始化配置

1.将下载好的jenkins.war包,放入tomcat文件夹下的webapps,war包不需要单独解压

 2.返回到上一层目录找到tomcat文件夹下的bin目录,运行startup.bat启动tomcat服务,启动时,jenkins.war会自动解压并生成一个jenkins文件夹

3.服务启动后,浏览器输入:http://你的ip:8080/jenkins,大概会有1-2分钟左右的空白页面,稍等一下如出现下图则表示启动服务并进入jenkins成功

 4.输入jenkins生成的密码,密码在红色文件夹路径中可以查看,输入后并进入,稍等数秒后,选择插件来安装

如果网速比较好可以选择安装推荐的插件,因为外国服务,大部分插件都会安装异常或者网络异常

这里我们先安装Ant插件就可以了

 5.安装后检查ant插件是否安装成功,在jenkins首页,插件管理入口(Manage Plugins)

在已安装页面,输入插件名称,看见有uninstall,说明已经安装过

 在本地电脑如何安装Ant插件

1.比如安装目录为盘F:XXX文件夹即可 

2.返回到jenkins页面,点击全局工具配置(Global Tool Configuration)

找到Ant入口,如果没有看见ant,说明还没有成功安装ant插件

 输入一个自定义ant名称(后面,构建build配置需要使用),并输入指定路径,应用保存即可

jmx脚本

1.在jenkins配置任务,新建item

 必须选择 Freestyle project,OK

2.进入构建页面

Build-Build-Invoke Ant-Advanced(高级设置)

targets就是等于xml模板中的任务名,如果不填,则按照xml文件default处理,否则按照填写的处理

设置build文件路径,就是jmeter生成报告的模板,可以自行修改或自行下载即可

点击 应用 apply 和 保存 save

JMeter中build.xml模板文件简单说明

build.xml文件,执行jmx的时候性能场景+生成性能场景测试报告+发送邮件通知

default="all" :所有<target></target>标签的任务

<project name="Jmeter-CICD" default="all" basedir="."> 

xml中多个变量引用,一开始就是为变量创建其中

定义:property name="jmeter.home"

引用:value="${jmeter.home}

<property name="jmeter.home" value="C:\apache-jmeter-5.3" />
    <property name="report.title" value="JMeter_Testing_Report_CICD"/>
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="${jmeter.home}\worklogs\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="${jmeter.home}\worklogs\html" />
    <!-- 生成的报告的前缀-->  
    <property name="ReportName" value="PerformReport" />
    <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" />

 其中target有,test,report,mail三个任务,每个target都有自己独立的name

    <target name="all">
        <antcall target="test" />
        <antcall target="report" />
		<antcall target="mail" />
    </target>

假设jmeter脚本里面

有多个程组会并行执行,除非在测试计划(Test Plan)勾选"独立运行每一个线程组";

有线程组1,2,3,其中3号禁用,只会执行1,2;

<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="${jmeter.home}\bin\testcase" includes="kyj_project.jmx" />
            <!-- 输出格式为:xml-->
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>

jenkins 构建生成报告

回到jenkins中进入项目build now 一下,等待报告生成

 查看构建的详细信息,以及报告位置

 报告模板的大致内容如下

jmeter全部失败报错

jmeter全部正确无报错

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值