JMeter+ant+jenkins自动化持续集成

一、ant安装配置

1.官网下载地址:http://ant.apache.org/bindownload.cgi

对应的操作系统选择对应的版本下载,本文以windows为列,下载后解压到本地

2.设置系统环境变量

ANT_HOME:  d:\apache-ant-1.9.7

path:     %ANT_HOME%\bin

classpath:   %ANT_HOME%\lib

设置完后在dos命令输入 ant -version后出现对应的ant版本即ok!

二、jmeter和Jenkins安装省略,请参考相关文档

三、集成相关步骤:

1.将jmeter目录extras目录下的ant-jmeter-1.1.1.jar复制到ant目录的lib目录下

2.复制一份jmeter目录下build.xml文件一份,对其进行配置,配置如下:

<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="E:\soft\apache-jmeter-3.0" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="E:\jmetertest\" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="E:\jmetertest\" />
    <!-- 生成的报告的前缀 -->
    <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" />
    <!-- 接收测试报告的邮箱 -->
    <property name="mail_to" value="[email protected]" />
    <!-- 电脑地址 -->
    <property name="ComputerName" value="jkqsh-l0285" />
    <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:\jmetertest\" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
            <property name="jmeter.save.saveservice.assertion_results" value="all"/>
            <property name="jmeter.save.saveservice.bytes" value="true"/>
            <property name="file_format.testlog" value="${format}"/>
            <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
        </jmeter>
    </target>
    <!--生成报告-->
    <target name="report">
        <xslt
            in="${jmeter.result.jtlName}"
            out="${jmeter.result.htmlName}"
            style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"/>

            <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
            <copy todir="${jmeter.result.html.dir}">
                <fileset dir="${jmeter.home}/extras">
                    <include name="collapse.png" />
                    <include name="expand.png" />
                </fileset>
            </copy>

    </target>
    <!-- 发送邮件 -->
</project>

build.xml文件内容的生成报到的部分:它的作用就是把生成的.jtl数据文件转换为.html格式的报告

具体属性的含义:

  • in:生成的.jtl文件的路径
  • out:生成的.html文件的路径
  • style:从.jtl转换成.html所使用的样式,这些文件也在extras目录下,这个是最重要的部分,如果我们想定制报告可以自行定义这个文件或者从网上找一些合适的文件。
  • param:参数,这几个参数可以在style中使用,下面会讲到

build.xml上面的有一处要注意:

此处这个文件是jmeter2*的文件,把此文件放到jmeter3.0目录下,如果用3.0自带的文件,Jenkins运行后生成报告会出错

2.把jmeter的脚步放到上面配置里写的E:\jmetertest\目录下

3.创建Jenkins一个job:

保存后立即构建后会在相应的目录下生成报告:

打开此报告会出现指标NaN,这是个坑,需要从Jmeter的lib包里把xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里。

重新构建后OK!

方法解决二:

在bulid.xml文件中添加path:添加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-detail-report_21.xsl">
              <param name="dateReport" expression="${report.datestamp}"/>
       </xslt>
时间: 2024-10-12 20:45:27

JMeter+ant+jenkins自动化持续集成的相关文章

Jmeter+Ant+Jenkins搭建持续集成的接口测试

前置条件:首先我们默认Jmeter脚本已经录制好了,并测试通过,存在如下脚本 一.Ant转换xml格式的聚合报告 前期条件:存在Jmeter聚合测试报告TestReport201510100244.jtl 1.Ant安装 下载ant地址 配置环境变量 命令行窗口输入ant 安装成功 2.将Jmeter保存的xml格式的聚合报告TestReport201510100244.jtl,放到相应的文件夹中 文件夹目录结构: D:\jemeterTest 3.编辑build.xml文件          

jmeter ant jenkins自动化构建

搭建环境(此篇blog编写时候的搭建环境,目前云盘已经上传JDK.Ant.Jmeter.Jenkin最近版本): JDK:jdk1.7.0_79 Ant:apache-ant-1.9.7 Jmeter: apache-jmeter-2.13 Jenkins: jenkins-1.651.1 以上安装包以及相关工具,jmeter常用插件下载地址: http://pan.baidu.com/s/1pKWPi5d JDK安装: 双击JDK安装包,选择安装路径(为了节省C盘系统盘空间,不建议选择默认路径

window下jenkins自动化持续集成报告查看配置,基于python语言(2)

1.网上百度下载python2.x的测试模板HTMLTestRunner,放在python2.x的lib----->site-packages,目录下 2.pycharm导入HTMLTestRunner测试模板,然后编写自动生成测试报告. 3.本地测试成功后用git 提交gitthup上. 4.配置jenkins. 4.1.插件下载HTML Publisher plugin 4.2 .配置项目 4.3 在这里,因为我生成的测试报告名字为report.html,  jenkins在构建代码时把ht

使用jenkins实现持续集成

一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试.结果记录.测试统计等都是自动完成的,无需人工干预,有利于减少重复过程以节省时间.费用和工作量: 它需要有专门的集成服务器来执行集成构建: 它需要有代码托管工具支持,比如SVN: 官网地址地址:https://jenkins.io Jenkins的主要目标是监控软件开发流程,快速显示问题: jenkins持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,所以它有利于减少重复过程以节省时间.费用

[转]使用jenkins实现持续集成

本文转自:https://www.cnblogs.com/zishengY/p/7170656.html 一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试.结果记录.测试统计等都是自动完成的,无需人工干预,有利于减少重复过程以节省时间.费用和工作量: 它需要有专门的集成服务器来执行集成构建: 它需要有代码托管工具支持,比如SVN: 官网地址地址:https://jenkins.io Jenkins的主要目标是监控软件开发流程,快速显示问题: jenk

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

本人是一枚工作近三年的小测试,大学正好专业为软件测试,在工作中用到最多的是功能测试.接口测试.压力测试.偶尔会涉及到性能测试......(小白,很多观念技术跟大佬差距太大,勿喷) 在接口测试过程当中,如果后面需要回归接口,本人采用的是jmeter+ant+jenkins进行自动化构建,在构建失败的情况下,会用过邮箱提醒的方式告知: 强烈给大家推荐一本<全栈性能测试修炼宝典 JMeter实战 pdf >,里面内容很齐全,对于测试本身还是挺有帮助的. 切入正题: 环境配置分为三部分: 第一:jme

Meter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第1部分

目标: 创建包含性能测试流程的持续交付管道, 以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段.因此,即使QA对构建进行了认证,代码也可能无法在特定负载下按预期工作,而这些负载只能在Staging环境中找到.此性能问题需要再次进行代码更改 - >构建 - > QA验证,这可能会推迟您的生产推送! 那么,我们能否将性能测试融入现有的持续开发和测试流程中,以尽早发现性能问题? 是! 我们绝对

Docker——Jenkins + Git + Registry构建自动化持续集成环境(CI/CD)

前言 在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署.交付(CD). 本文基于Jenkins+Docker+Git\Svn实现一套CI自动化发布流程,同时支持撤回. 一.发布流程设计 工作流程: 开发人员提交代码到Git或Svn版本仓库: Jenkins人工/定时触发项目构建: Jenkins拉取代码.代码编码.打包镜像.推送到镜像仓库: Jenkins在Docker主机创建容器并发布. 二.环境设计 1.

Jmeter+Ant+Jenkins框架搭建

为什么要做自动化测试 什么项目适合做自动化测试 选择UI自动化还是接口自动化 接口自动化工具对比 Jmeter+Ant+jekins框架搭建 一.为什么要做自动化测试? 假设半月迭代一次,每次迭代需要5轮测试,人工回归一次需要5个小时,最终确定一年下来,自动化为你省去600个小时,也就是75个工作日,同时也省去了测试旧功能要吐的烦恼以及人疲惫下产生的错误. 有点:提高效率.质量 自动化测试:人为驱动的测试行为转化为机器执行过程(在手工基础上) 二.什么项目适合做自动化测试? 1.什么项目适合?