精华内容
下载资源
问答
  • jmeter+ant+jenkins,输出测试报告
    千次阅读
    2021-12-16 16:35:44

       参考:JMeter(2) 集成jmeter+ant+jenkins - DaisyLinux - 博客园

                  Ant 介绍_w3cschool

                 Jenkins安装_w3cschool

    1、安装jmeter、ant、Jenkins

    配置环境变量classpath/path/xxx_home等,参考jmeter+ant+jenkins接口自动化测试框架 - 在树上唱歌w - 博客园

    jdk环境变量: 
    JAVA_HOME 为 C:\Program Files (x86)\Java\jdk1.8.0_171 (注意:java我是默认装的C盘)
      CLASSPATH为  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
      PATH为  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
    
    jmeter:
    JMETER_HOME 为 jemter安装路径
    CLASSPATH为 %JMETER_HOME%\lib
    PATH为%JMETER_HOME%\bin
    
    ANT_HOME 为 ant解压位置
    CLASSPATH为 %ANT_HOME%\lib;
    PATH为%ANT_HOME%\bin;
    

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

    cmd中分别输入jmeter -version ,ant -version 返回版本号即说明安装成功。

    2、解压ant时需要做以下操作

    build.xml文件参考(重点):

    参考:Ant 中的build.xml配置文件生成报告、发邮件完整版_染小诺的博客-CSDN博客

    我写的ant编译、打包、测试、测试报告生成和邮件发送模板_甘谷天蚕网络技术有限公司-CSDN博客

    <?xml version="1.0" encoding="UTF8"?>
    
    <project name="JmeterTest" default="all" basedir="."><!-- 原default="run"需要改为"all"-->
        <tstamp>
            <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/>
            <format property="time" pattern="yyyyMMddhhmm" />
         </tstamp>
    
         <!--jmeter的目录-->
         <property name="jmeter.home" value="D:\apache-jmeter-5.4.1\" /><!-- 需要改成自己本地的 Jmeter 目录-->
         <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-5.4.1\TestCase\jtl" /><!-- jmeter生成jtl格式的结果报告的路径-->
         <property name="jmeter.result.html.dir" value="D:\apache-jmeter-5.4.1\TestCase\html" /><!-- jmeter生成html格式的结果报告的路径-->
    
         <property name="ReportName" value="test_api_report_" />
         <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="mail_to" value="xxxx@163.com" />
    	 
        <target name="all"><!-- 原name="run"需要改为"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}">
                <testplans dir="D:\apache-jmeter-5.4.1\TestCase" includes="*.jmx" /><!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
                 <property name="jmeter.save.saveservice.output_format" value="xml"/>
             </jmeter>
         </target>
    
          <path id="xslt.classpath">   <!--jar路径 -->
               <fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
               <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
        </path>   
        
         <target name="report">
    
             <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="showData" expression="${show-data}"/>
    			<param name="titleReport" expression="${ReportName}${time}"/>
    			<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>
    

    发送邮件的配置,培训班视频参考:

    3、输出报告

    1)录制好jmeter脚本,输出jmx文件;

    2)查看结果树的输出文件参考如下,这个是和build.xml中相对应的:

    D:\apache-jmeter-5.4.1\TestCase\jtl\test_api_report_${__time(yyyymmddHHmm,)}.jtl

     3)jmeter无GUI页面输出报告命令为:

    在jmeter安装目录下的bin目录打开cmd,

    jmeter -n -t testfile.jmx -l xxxxx.jtl -e -o myreport/html

    (输出的jtl文件需要未存在,myreport/html需要为空目录,否则会报错。)

    4)用ant执行输出报告:

    在ant安装目录下的bin目录打开cmd,执行ant -buildfile build.xml

    4、安装Jenkins

    下载地址:Jenkins,一直下一步。安装推荐的插件即可。执行完毕验收报告即可。

        

    这里targets可写,也可不写;写的来源于build.xml文件中的antcall中的任一项,也可全部。

    定时构建执行:

    更多相关内容
  • 运动器材通信协议ANT+,压缩包内包含各种ANT+协议。各种运动器材,码表,心率带,速度踏频传感器等
  • 4、Jenkins 构建自动化平台、Jenkins 安装以及功能介绍、jenkins+ant+jmeter **整合,邮件服务通知设置。 5、本课程注重实践每一个知识点都有相对应的实例,本书覆盖的实例多达上百个,提高学员的动手能 力和解决...
  • 详细描述了centos7.4环境下Jenkins+ant+jmeter持续集成接口测试的环境搭建,并包含必要的jar包等资料
  • ANT +的node.js模块 先决条件 Libusb作为子模块包含在内。 在Linux上,您需要libudev来构建libusb。 在Ubuntu / Debian上: sudo apt-get install build-essential libudev-dev 视窗 使用为您的USB设备安装WinUSB...
  • jmter+ant+jenkins自动化测试pptjmter+ant+jenkins自动化测试pptjmter+ant+jenkins自动化测试ppt,个人总结
  • 性能自动化测试(基于jmeter+jenkins+ant+tomcat),亲测可以顺利完成
  • 这是一款适用于ANT +自行车速度和踏频(CSC)传感器,ANT +心率传感器以及基于ANT + Stride的速度和距离传感器的Ant + to BLE(蓝牙低能耗)桥接应用程序。 该应用程序将充当循环速度/节奏和/或HR BLE传感器和/或BLE...
  • 通过集成jmeter,ant和jenkins,实现自动化接口测试框架。自动执行测试,自动生成报告以及持续集成
  • JUnit+Ant+Jacoco整合 一个小Demo源码,亲测通过,可以作为入门资源。
  • Nordic Semiconductor推出全球首款ANT+与蓝牙低功耗(BLE)整合芯片.pdf
  • 这个是亲测,一步一步部署jmeter+ant+jenkins项目,以前从来没弄过。完全可以从0开始的。抄袭网上很多人的经验最后一步一步记录下来的
  • Jmeter+ant+Jenkins集成接口自动化测试详细说明
  • ant+ivy+nexus的使用

    2019-08-08 01:25:11
    NULL 博文链接:https://shihuan830619.iteye.com/blog/2162206
  • jmeter连接JDBC 百度网盘地址 ...提取码:apia 一、安装jdk 请参考: ...二、安装jmeter 1、解压jmeter配置环境变量到bin目录下详情参考jdk 2、windows+r输入cmd进入控制台输入jmeter -v出现一下画面表示配置...1、解压ant

    百度网盘地址

    链接:https://pan.baidu.com/s/1vit5y3kNMY7zsFLOmIzeCw
    提取码:apia

    一、安装jdk

    请参考:
    https://blog.csdn.net/m0_46627257/article/details/123087497

    二、安装jmeter

    1、解压jmeter配置环境变量到bin目录下详情参考jdk
    2、windows+r输入cmd进入控制台输入jmeter -v出现一下画面表示配置成功
    在这里插入图片描述

    三、安装ant

    1、解压ant配置环境变量配置到bin目录下
    2、windows+r输入cmd进入控制台输入ant -v出现一下画面表示配置成功
    在这里插入图片描述

    四、修改配置文件

    1、将jmeter目录下extras文件夹下的ant-jmeter-1.1.1.jar复制到ant中\lib目录下
    2、修改jmeter中bin目录下的jmeter.properties
    在这里插入图片描述
    3、修改jmeter中extras目录下的build.xml文件,复制如下内容替换自己的build.xml文件即可,脚本路径自己修改

    <?xml version="1.0" encoding="UTF-8"?>
        <format property="time" pattern="_yyyy_MMdd_HHmmss" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="D:\apache-jmeter-5.4.1" />
    <property name="report.title" value="接口测试"/>
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-5.4.1\test" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="D:\apache-jmeter-5.4.1\test" />
    <property name="detail" value="_detail" />
    <!-- 生成的报告的前缀-->  
    <property name="ReportName" value="SmokeReport" />
    <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 name="run">
        <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:\apache-jmeter-5.4.1\test" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
    <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="showData" expression="${show-data}"/>
              <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>
    
    3、在jmeter目录下创建test文件夹,把自己的jmx接口脚本放入其中

    在这里插入图片描述
    4、验证dos窗口 进入输入ant -buildfile build.xml 按回车执行build文件出现如下内容证明成功:
    在这里插入图片描述
    这时候在jmeter新建的test文件下就会生成对应的HTML
    在这里插入图片描述

    五、安装jenkins

    1、进入官网:https://jenkins.io/zh/download/ 下载对应平台的安装包
    初学者请选择长期支持版本,这个稳定的版本。 (直接百度云盘下载也可以)
    如:你的操作系统是 windows,就选择对应的 windows 版本。

    在这里插入图片描述
    接下来配置 Jenkins 首先会提示你输入密钥(对应去文件夹里面寻找)
    在这里插入图片描述
    在这里插入图片描述
    新手入门过程会很慢,且加载的东西会有失败的,有些插件加载失败没事,别慌,后面还可点击重试
    在这里插入图片描述
    创建用户名和密码,保存并完成。自己记住哈
    在这里插入图片描述
    在这里插入图片描述
    配置完成,重启
    在这里插入图片描述
    重启完成进行登录,输入刚刚设置的账号密码
    在这里插入图片描述
    接下来创建一个新任务
    在这里插入图片描述
    输入任务名称,对应选择下面选项
    在这里插入图片描述
    选择构建环境,增加构建步骤,构建选择 Invoke Ant
    在这里插入图片描述
    选择高级
    在这里插入图片描述
    填写ant信息
    在这里插入图片描述
    保存成功,面板点击构建
    在这里插入图片描述
    在这里插入图片描述
    Jenkins设置定时任务
    如何设置定时任务,即让脚本每天每个小时,或者按照要求设定它的执行频率和时间?
    首先进入test01设置
    在这里插入图片描述
    构建触发器,build 两分钟执行一次
    在这里插入图片描述
    在这里插入图片描述

    六、Jenkins连接钉钉机器人发送构建消息

    1、新建钉钉机器人,群管理有个智能群助手,添加机器人
    在这里插入图片描述
    选择自定义机器人
    在这里插入图片描述
    点击添加机器人
    在这里插入图片描述
    2、钉钉机器人安全文档https://developers.dingtalk.com/document/robots/customize-robot-security-settings
    最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。
    例如添加了一个自定义关键词:监控报警,则这个机器人所发送的消息,必须包含监控报警这个词,才能发送成功。
    在这里插入图片描述
    添加机器人成功,就会生成一个key,切记这个key,后面会用到,没有这个key就白费。
    在这里插入图片描述
    3、进入系统设置,下载钉钉插件
    在这里插入图片描述
    搜索dingding插件
    在这里插入图片描述
    安装完成查看
    在这里插入图片描述
    4、安装完成记得重启Jenkins程序
    下载没有问题,进入Jenkins系统设置
    在这里插入图片描述
    在这里插入图片描述
    回到登录账号里面填写手机号码
    在这里插入图片描述
    5、进入新建的项目里面,设置钉钉机器人
    在这里插入图片描述
    点击构建,见证时刻
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 本次JMeter+ant+git+jenkins在已搭建好java、Jmeter、ant环境的基础上进行配置。环境配置如下: export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home export JAVA_HOME=$JAVA_...

    1.前提条件

    本次环境搭建记录针对于mac环境。

    本次JMeter+ant+git+jenkins在已搭建好java、Jmeter、ant环境的基础上进行配置。环境配置如下:

    export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
    
    export JAVA_HOME=$JAVA_8_HOME 
    
    export PATH=$JAVA_HOME/bin:$PATH:. 
    
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    export JMETER_HOME=/Users/cady/apache-jmeter-4.0
    
    export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
    
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar
    
    export ANT_HOME=/Users/cady/apache-ant-1.10.7
    
    export PATH=$PATH:.:${ANT_HOME}/bin

    2.JMeter+ant+git

    2.1 1.将 /Users/cady/apache-jmeter-4.0/extras文件夹下的ant-jmeter-1.1.1.jar这个jar包复制到 /Users/cady/apache-ant-1.10.7/lib文件夹下

    复制:

    黏贴至:

    2.2 build.xml文件修改

    1.配置和文件生成目录等相关修改(红框)

    2.初始化方法(蓝框,不是必须)

    3.git脚本文件路径(橙框):路径只需要写对于项目工作目录的相对路径即可

    整个build.xml文档如下,供参考

    <?xml version="1.0"?>
    <!--
       Licensed to the Apache Software Foundation (ASF) under one or more
       contributor license agreements.  See the NOTICE file distributed with
       this work for additional information regarding copyright ownership.
       The ASF licenses this file to You under the Apache License, Version 2.0
       (the "License"); you may not use this file except in compliance with
       the License.  You may obtain a copy of the License at
        
           http://www.apache.org/licenses/LICENSE-2.0
        
       Unless required by applicable law or agreed to in writing, software
       distributed under the License is distributed on an "AS IS" BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       See the License for the specific language governing permissions and
       limitations under the License.
    -->
    <project name="ant-jmeter-test" default="run" basedir=".">
      <tstamp>
          <!-- <format property="time" pattern="yyyy-MM-dd-HH-mm-ss" /> -->
      </tstamp>
        
    <!--<property name="testpath" value="${user.dir}"/> --><!-- jmeter的存放路径-->
    <property name="jmeter.home" value="/Users/cady/apache-jmeter-4.0"/>
      <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="./TestReport/jtl" />
    
    
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="./TestReport/html" />
    
    <!-- 生成的报告的前缀-->
    <!-- <param name="time" expression="${ReportTime}"/>  -->
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
    
    <!-- 输出生成的报告名称和存放路径-->
     <echo message="${jmeter.result.jtlName}"/>
    <echo message="${jmeter.result.htmlName}"/>
    <echo message="${jmeter.result.html.dir}"/>
    
    
    <target name="run">
      <antcall target="init" />
      <antcall target="test"/>
      <antcall target="report"/>
     </target>
    
      <!--加载jar包,解决显示时间问题 -->  
     <path id="xslt.classpath">  
          <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
       <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
     </path> 
     
    <target name="init">
     <mkdir dir="${jmeter.result.jtl.dir}" />      
     <mkdir dir="${jmeter.result.html.dir}" />      
    </target>
     
     
    <target name="test">
         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            <!--添加Git后,修改路径,默认运行的脚本从Jenkins的workspace根目录拉取-->
             <testplans dir="./" includes="*.jmx" />
             <property name="jmeter.save.saveservice.output_format" value="xml"/>
         </jmeter>
     </target>
      
     <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">
                  <!--显示dateReport的时间--> 
                 <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>

    3.JMeter+ant+git+Jenkins

    3.1 项目 -- 配置 -- 源码管理 -- git 配置git仓库url和添加账户密码 

    3.2 Jenkins -- Manage Jenkins -- global tool configuration

    配置jdk和ant

     

    3.3 项目 -- 配置 -- 构建环境 -- with ant 配置选择3.1配置的环境

    *3.2和3.3 这两步在windows上没有配置也可以运行,但是在mac上好像是一定要设置 不然报错:

    ERROR: command execution failed.Maybe you need to configure the job to choose one of your Ant installations? Finished: FAILURE

    3.4 在Jenkins用户中配置环境变量

    这一步参考:https://blog.csdn.net/qq_23114525/article/details/83110145

    没有配置这一步可能会导致控制台报错:you must set jemeterhome to your jmeter install directory

    *这一步windows应该也不需要配置,但mac会出现问题

    *3.5 在JMeter的lib目录下添加脚本相关jar包和安装相关插件

    *这一步如果是本地搭建的话基本不需要,因为肯定之前都加过了。但如果是给公司项目搭建的话,是相对于比较干净的环境,所以需要检查一下脚本相关需要用到的jar包(比如连接数据库、websocket等),添加一下。

    比如没有连接数据库相关jar包可能会导致控制台报错:Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'

    3.6  项目 -- 配置 -- 构建 

    在构建中添加“Invoke Ant” 选择对应的ant环境并填写targets(这里的target如果不填写就是脚本中默认target);这里的任务都是按照顺序执行的,如果要在构建中添加其他任务或脚本等,只需要按照执行顺序摆放就可以了。

    比如在图中,我在ant构建之前先使用脚本删除之前的报告,在ant构建后加上测试报告的失败断言判断,关联构建结果。

     3.7 项目 -- 配置 -- 构建后操作 添加publish html reports(需要先安装该插件) 

    这样配置后,在item执行完后就可以在jenkins上看到测试报告的入口了

    入口效果:

    3.8  项目 -- 配置 -- 构建后操作 添加groovy postbuild(需要先安装该插件) 

    在3.7步骤完成后会发现报告的样式出现问题,所以要在3.7:publish html reports前,在添加一个构建后操作“groovy postbuild”,同样也需要先安装插件

    *除了groovy postbuild还有两种解决方法,我在本地jenkins上测试可行,参考地址:https://www.cnblogs.com/yoyoketang/p/7518351.html,但因为我不清楚公司电脑上是怎么搭建jenkins的,所以使用了groovy postbuild这个方法。

     

    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

    到这步,整个jmeter+ant+git+jenkin就配置完毕了,接下来,如果需要配置邮件发送,还需要如下配置。

    4.邮件配置

    4.1 Jenkins -- Manage Jenkins -- configure system配置邮箱基本配置

    以下是QQ邮箱的配置方法,需要注意:这里的密码不是QQ邮箱的密码,是你邮箱的授权码。配置完毕后,点击“通过发送测试邮件测试配置” 发一封邮件给自己,看一下配置是否有问题。

    如何获得授权码:

    登录QQ邮箱-设置-账户,先开启IMAP/SMTP服务,再点击下面温馨提示里的【生成授权码】获得这个密码

    4.2  Jenkins -- Manage Jenkins -- Extended E-mail Notification配置

    在4.1没有邮件发送没有问题后,将基本配置信息复制到Extended E-mail Notification相同的选项里,这里的配置都是和刚刚一样的;Default Recipients中配置默认收件人的邮箱地址。

    下面的一些配置不需要改动,在这个配置的最右下角有一个【default trigger】按钮,点开可以对触发条件进行配置。

    4.3   项目 -- 配置 -- 构建后操作 添加 Editable Email Notification(需要先安装插件)

    1.Content Type 选择 “HTML”

    2.Default Content 填入报告模版

    3.Attachments 可填入报告路径(选填)

    在右下角点击【Advanced Settings】

    确认该项目的触发条件和对应发送的人!这里有个坑,当失败的时候他会默认发送给开发者列表,但一般我们刚配置的时候里面可能还没有人,所以会收不到邮件,控制台log:An attempt to send an e-mail to empty list of recipients, ignored.

    所以Send To请手动加上“Recipient List”项。

    HTML报告模版 供参考(“构建概览信息”中包含了正则匹配,不需要请删除):

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>${PROJECT_NAME}-第${BUILD_NUMBER}次构建日志</title>
    </head>
     
    <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
        offset="0">
        <table width="95%" cellpadding="0" cellspacing="0"
            style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
            <tr>
                <td>(本邮件是程序自动下发的,请勿回复!)<br/></td>
            </tr>
            <tr>
                <td><h2>
                        <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
                    </h2></td>
            </tr>
            <tr>
                <td><br />
                <b><font color="#0B610B">构建信息</font></b>
                <hr size="2" width="100%" align="center" /></td>
            </tr>
            <tr>
                <td>
                    <ul>
                        <li>项目名称 : ${PROJECT_NAME}</li>
                        <li>构建编号 : 第${BUILD_NUMBER}次构建</li>
                        <li>触发原因: ${CAUSE}</li>
                        <li>构建日志: <a href=" ">${BUILD_URL}console</a ></li>
                        <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a ></li>
                        <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a ></li>
                        <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a ></li>
                    </ul>
                </td>
            </tr>
            <tr>
                <td><b><font color="#0B610B">Changes Since Last Successful Build:</font></b>
                <hr size="2" width="100%" align="center" /></td>
            </tr>
            <tr>
                <td>
                    <ul>
                        <li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a ></li>
                    </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="    %p"}
                </td>
            </tr>
            <tr>
                <td> <hr size="2" width="100%" align="center" /></td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td><b><font color="#0B610B">构建情况总览:</font></b>${TEST_COUNTS,var="fail"}<br/>
                <hr size="2" width="100%" align="center" /></td>
            </tr>
            <tr>
                <td><textarea cols="80" rows="30" readonly="readonly"
                        style="font-family: Courier New">${BUILD_LOG_REGEX, regex="Executing test plan(.*?)jtl|summary (.*)" }</textarea>
                </td>
            </tr>
        </table>
    </body>
    </html>

    以上是Jenkins所有配置过程,希望能够对有需要的人有所帮助。 

     

    展开全文
  • 引言 为什么要持续集成? 1、减少风险 2、减少假定 3、减少重复过程 4、增强项目的可见性 5、持续集成可以带来两点积极效果: (1)有效决策:持续集成系统为项目构建状态和品质...一、配置jmeter、Ant、jenkins环境 下...

    引言

    为什么要持续集成?

    1、减少风险

    2、减少假定

    3、减少重复过程

    4、增强项目的可见性

    5、持续集成可以带来两点积极效果:

    (1)有效决策:持续集成系统为项目构建状态和品质指标提供了及时的信息,有些持续集成系统可以报告功能完成度和缺陷率。

    (2)注意到趋势:由于经常集成,我们可以看到一些趋势,如构建成功或失败、总体品质以及其它的项目信息。

    一、配置jmeter、Ant、jenkins环境

    下载Jmeter工具:

    Jmeter官网
    在这里插入图片描述

    <1> 下载jdk:
    链接: https://pan.baidu.com/s/1yJX_2P5Y115bJqQKqkpQCg 提取码: 1ps4

    <2>配置环境变量:
    新建JMETER_HOME: 值为安装jmeter的根目录
    在这里插入图片描述
    新建JAVA_HOME: 值为JDK安装目录
    在这里插入图片描述
    新建CLASSPATH: 值为
    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar

    在PATH里添加三行:
    1)、jdk的安装目录到bin(注意,安装jdk后,会默认写上一个jdk路径,如果和本机安装不对应,需要手动更改)
    2)、;%JAVA_HOME%\bin;
    3)、%JMETER_HOME%\bin

    在这里插入图片描述
    <3>验证配置好的jdk环境
    打开cmd,输入java -version/javac/java

    在这里插入图片描述
    <4>验证jmeter

    打开cmd,输入jmeter

    在这里插入图片描述
    弹出jmeter工具既表示配置环境成功

    <5> 下载ant工具

    方式一:
    ant官网下载地址
    在这里插入图片描述

    方式二 百度网盘获取下载:
    链接:https://pan.baidu.com/s/1QitunpZiJB9NA-F18TXxeQ
    提取码:d7fn

    下载好后安装

    <6> 配置ant环境变量

    新建ANT_HOME,值为安装ant的绝对路径
    在这里插入图片描述

    在PATH中加入安装ant 的绝对路径到bin
    在这里插入图片描述

    在CLASSPATH中加入安装ant的绝对路径到lib,记得用半角;号隔开

    在这里插入图片描述
    <7> 验证ant环境
    打开cmd,输入:ant -version,出现ant版本既配置成功

    在这里插入图片描述

    <8> 下载jenkins并安装

    Jenkins官网:
    https://jenkins.io/

    Jenkins(百度网盘):
    链接地址:https://pan.baidu.com/s/1hWC5vmglb9WNYFTQIlnDcw
    提取码: apeg

    之后按照提示安装就行,出现选择插件安装方式,一种为默认的一种为手动,这里我们选择默认

    在这里插入图片描述
    安装好以后,如果有失败的插件,不要紧,因为很正常,我们点击继续就行

    会出现配置jenkins的url,这里默认就行(默认的话端口号是8080)

    创建用户(账号、密码)、点击开始,按提示走就可以

    <9>验证jenkins安装完毕

    打开任意一个浏览器,输入localhost:8080(就是一开始的默认jenkins端口号 )

    在这里插入图片描述

    到此,ant、jmeter、jenkins全部安装好并配完相关环境

    二、联合使用(ant+jmeter+jenkins)搭建自动化接口测试框架

    1、先编写好一个jmeter的脚本,并在jmeter上跑通

    这里我就用了一个登录接口,做示例
    

    在这里插入图片描述
    通过后导入,并保存为.jmx文件

    在这里插入图片描述
    在这里插入图片描述
    2、在桌面创建好一个空的文件夹,用于ant执行,并在内部创建好三类文件夹(result、scrpit、html)

    在这里插入图片描述
    result = 存放执行后的jmx文件结果
    html = 存放将jmx执行结果进行转换为html格式文件
    scrpit = 存放jmx脚本

    在这里我们把刚才跑通的jmx文件放到scrpit中

    在这里插入图片描述

    3、准备一个build.xml脚本,并把他放到我们刚才创建的文件夹的根目录

    在这里插入图片描述

    需要注意的是,build文件名不可被修改,只允许叫build.xml

    <?xml version="1.0" encoding="GBK"?>
    
    <project name="ant-jmeter-test" default="run" basedir=".">
        <tstamp>
            <format property="time" pattern="yyyyMMddhhmm" />
        </tstamp>
      
        <target name="run">
        	   <antcall target="clear1" />
    	<antcall target="test1" />
          	  <antcall target="report1" />
    	<antcall target="sendmail1" />
        </target>
    	
        <target name="test1">
    		  <echo message="开始执行jmeter脚本..."></echo>
            <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
            <jmeter jmeterhome="jmeter家目录" resultlog="jtl路径\1.jtl">
                 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
                <testplans dir="脚本路径" includes="脚本名称" />
    		<property name="jmeter.save.saveservice.output_format" value="xml"/>
            </jmeter>
        </target>
             <path id="xslt.classpath">
             <fileset dir="jmeter中lib路径" includes="xalan*.jar"/>
             <fileset dir="jmeter中lib路径" includes="serializer*.jar"/>
        </path>
    	
        <target name="report1">
    	<echo message="开始转换执行结果..."></echo>
    	<tstamp> <format property="time" pattern="yyyy/MM/dd HH:mm" /></tstamp>
            <xslt classpathref="xslt.classpath"
                  force="true"
    	 in="jtl路径\1.jtl"
                  out="html路径\1.html"
                  style="jmeter中exaters的路径+jmeter-results-detail-report_21的名称">
    				<param name="titleReport" expression="xxxxx"/> 
    				<param name="dateReport" expression="${time}"/>  
           </xslt>  
       	             <!-- jmeter-results-detail-report_21  因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝--> 
               <copy todir="html的路径">
                <fileset dir="jmeter中exaters的路径">
                    <include name="collapse.png" />
                    <include name="expand.png" />
                </fileset>
            </copy>			
        </target>
    
    		<target name="clear1">
    	<!-- 每次执行前先删除清空jtl和html文件夹,释放空间 -->
    		<echo message="释放空间,清空jtl和html文件夹中 ..."></echo>
    		<delete dir="jtl的路径" />
    		<delete dir="html的路径" />
    		<!-- 删除单个文件-- >
    		<delete file="jtl的路径\1.jtl" />
    		<sleep seconds="2"/>  
    		<echo message="释放完成 ..."></echo>
    	</target>
    
    
    	<target name="sendmail1">
    	<!--把报告进行压缩打包-->
    	<jar jarfile="report的路径.rar" basedir="html的路径"/>
    	<!--把文件贴到邮件正文-->
    	<loadfile property="html" srcFile="html的路径\1.html" encoding="UTF-8">
    	<filterchain>
    			<expandproperties />
    		</filterchain>
    	</loadfile>
    	
    	<mail mailhost="smtp.126.com" 
    	mailport="25" subject="邮件标题" 
    	messagemimetype="text/html" tolist="norma_bai@163.com"
    	user="norma_bai@163.com" password="bj900420">
    	<from address="norma_bai@163.com"/>
    	<!--发送附件-->
    	<fileset dir="在jmeter中创建的文件夹">
       		 <include name="report.rar"/>
      	 </fileset>
    	<message><![CDATA[ 
    	<p>维度电影项目组收:</p>
    	<pre> ${html} </pre>
    	<p>自定义邮件内文字</p>
    	]]></message>
    	</mail>
    	</target>
    </project>
    
    

    对这个build内容进行填充

    <?xml version="1.0" encoding="GBK"?>
    
    <project name="ant-jmeter-test" default="run" basedir=".">
        <tstamp>
            <format property="time" pattern="yyyyMMddhhmm" />
        </tstamp>
      
        <target name="run">
        	   <antcall target="clear1" />
    	<antcall target="test1" />
          	  <antcall target="report1" />
    	<antcall target="sendmail1" />
        </target>
    	
        <target name="test1">
    		  <echo message="开始执行jmeter脚本..."></echo>
            <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
            <jmeter jmeterhome="E:\apache-jmeter-5.2.1" resultlog="C:\Users\Administrator\Desktop\ant\result\1.jtl">
                 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
                <testplans dir="C:\Users\Administrator\Desktop\ant\script" includes="*.jmx" />
    		<property name="jmeter.save.saveservice.output_format" value="xml"/>
            </jmeter>
        </target>
    		
             <path id="xslt.classpath">
            <fileset dir="E:\apache-jmeter-5.2.1\lib" includes="xalan*.jar"/>
            <fileset dir="E:\apache-jmeter-5.2.1\lib" includes="serializer*.jar"/>
        </path>
    	
        <target name="report1">
    	<echo message="开始转换执行结果..."></echo>
    	<tstamp> <format property="time" pattern="yyyy/MM/dd HH:mm" /></tstamp>
            <xslt classpathref="xslt.classpath"
                  force="true"
    	 in="C:\Users\Administrator\Desktop\ant\result\1.jtl"
                  out="C:\Users\Administrator\Desktop\ant\html\1.html"
                  style="E:\apache-jmeter-5.2.1\extras\jmeter-results-detail-report_21.xsl">
    				<param name="titleReport" expression="测试报告"/> 
    				<param name="dateReport" expression="${time}"/>  
           </xslt>  
       	             <!-- jmeter-results-detail-report_21  因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝--> 
            <copy todir="C:\Users\Administrator\Desktop\ant\html">
                <fileset dir="E:\apache-jmeter-5.2.1\extras">
                    <include name="collapse.png" />
                    <include name="expand.png" />
                </fileset>
            </copy>			
        </target>
    
    		<target name="clear1">
    	<!-- 每次执行前先删除清空jtl和html文件夹,释放空间 -->
    		<echo message="释放空间,清空jtl和html文件夹中 ..."></echo>
    		<delete dir="C:\Users\Administrator\Desktop\ant\result" />
    		<delete dir="C:\Users\Administrator\Desktop\ant\html" />
    		<!-- 删除单个文件-->
    		<delete file="C:\Users\Administrator\Desktop\ant\1.rar" />
    		<sleep seconds="2"/>  
    		<echo message="释放完成 ..."></echo>
    	</target>
    
    
    	<target name="sendmail1">
    	<!--把报告进行压缩打包-->
    	<jar jarfile="C:\Users\Administrator\Desktop\ant\1.rar" basedir="C:\Users\Administrator\Desktop\ant\html"/>
    	<!--把文件贴到邮件正文-->
    	<loadfile property="html" srcFile="C:\Users\Administrator\Desktop\ant\html\1.html" encoding="UTF-8">
    	<filterchain>
    			<expandproperties />
    		</filterchain>
    	</loadfile>
    	
    	<mail mailhost="smtp.qq.com" 
    	mailport="25" subject="测试结果" 
    	messagemimetype="text/html" tolist="1429622029@qq.com"
    	user="1429622029@qq.com" password="邮箱授权码">
    	<from address="1429622029@qq.com"/>
    	<!--发送附件-->
    	<fileset dir="C:\Users\Administrator\Desktop\ant">
       		 <include name="1.rar"/>
      	 </fileset>
    	<message><![CDATA[ 
    	<p>项目组收:</p>
    	<pre> ${html} </pre>
    	<p>自定义邮件内文字</p>
    	]]></message>
    	</mail>
    	</target>
    </project>
    
    

    我们来跑一下这个build,看能否跑通

    打开cmd

    cd到我们项目的文件夹中
    在这里插入图片描述

    然后输入:ant
    在这里插入图片描述
    接下来就开始执行,但是后来发现到了sendmail方法就止住不动了,并报错:

    在这里插入图片描述
    经过我网上搜索答案,发现在安装ant的目录下的lib中缺少jar包(activation.jar、commons-lang3-3.8.1.jar、mail.jar),后来又去下载,前前后后浪费了大量的时间,这里把百度链接发给大家,如果出现这类错误,直接下载然后丢到ant目录中的lib目录就可以
    链接: https://pan.baidu.com/s/18BWUMrW7ABfBlvU_b3Mppw 提取码: 8jk4
    在这里插入图片描述
    在这里插入图片描述

    继续执行文件

    在这里插入图片描述

    发现这次成功了,而且邮箱也收到了报告

    在这里插入图片描述
    正文是这样的:

    在这里插入图片描述
    并且带有附件(把html报告的目录压缩):
    在这里插入图片描述

    那么我们就可以进入jenkins构建中了(其实每次不一定非要跑通,只要我们第一次ant成功了,那么后续只需要更改jmx文件就行或者不需要更改,在原先的jmx上重命名替换也是可以的)

    build文件下载地址(百度网盘):

    链接: https://pan.baidu.com/s/1oW047bCE7DB7wDdDWPp8Lg 提取码: smev

    4、jenkins构建任务

    打开任意一个浏览器,输入:localhost:8080,进入jenkins中

    在这里插入图片描述
    突然发现jenkins也启动不了了? 赶忙又去找解决办法,

    1)打开Windows的cmd命令窗口,将路径切换到Jenkins安装目录文件下

    2)在cmd窗口输入java -jar jenkins.war --httpPort=9000

    3)打开浏览器,输入http://localhost:9000/,进入Jenkins界面

    转载博客:https://blog.csdn.net/you23hai45/article/details/79644176

    弄好了以后再次打开

    在这里插入图片描述
    这次成功进去了,下面开始在jenkins中配置Ant
    在这里插入图片描述
    点击系统管理,进入后,下拉,找到全局工具配置

    在这里插入图片描述
    进入后,新增ant,添加ant安装路径并应用、保存
    在这里插入图片描述
    如果没有Ant怎么办? 说明你没有安装相关插件,要去官网下载
    官网链接:https://updates.jenkins-ci.org/download/plugins/
    打开后,在搜索框中输入你要下载的插件名就可以

    配置好ant后,点击新建任务,创建一个新项目

    在这里插入图片描述

    在这里插入图片描述
    勾选构建中的定时建构,可以按照规定的时间有规律性的建构,勾选后面的?号可以查看构建的命令规格
    在这里插入图片描述
    勾选建立中的调用蚂蚁(注意,我用的是谷歌翻译后的,大家可以按照对应的位置去选择)

    在这里插入图片描述

    点击高级

    在这里插入图片描述
    填写我们上述创建的文件夹路径(也就是需要持续集成的jmx文件),后面跟上build.xml
    在这里插入图片描述

    然后应用、保存
    在这里插入图片描述

    最后构建下

    在这里插入图片描述
    可以看到,本次构建成功了
    在这里插入图片描述
    最后看下控制台输出:

    在这里插入图片描述
    这样下来,自动化接口测试框架就已经搭建好了,可以开展持续集成的工作

    有问题博客下方留言

    展开全文
  • 配置文档+build.xml+jmeter-result-detail-report_21.xsl jmeter.result.shahe.me.xsl(优化)
  • jenkins + ant + testng + reportng自动集成测试操作手册,该手册是小兔自己编写的,写的不明白的地方,请大家多多指正
  • ANT+ 自行车车灯介绍

    千次阅读 2020-03-27 11:20:21
    ANT+受管网络由一组使用ANT无线电协议和ANT+设备配置文件确定和标准化各个设备之间的无线通信的设备组成。设备通信特性的这种管理提供了ANT+网络中设备之间的互操作性。 ANT无线电协议是专为超低功耗应用开发的,可...
  • 【JMeter 菜鸟实操之五】ant+jenkins 完善html结果报告-附件资源
  • detail-report_21 要么模版名字不变,修改build.xml文件 第二种部署jenkins+ant+jmeter整体思路: 1、安装apache-tomcat,下载jenkins.war包,将jenkins.war包放到tomcat的webapps下 2、启动tomcat 3、我们就可以访问...
  • Jmeter+Ant+Jenkins

    2017-11-02 11:01:49
    用Jmeter编写接口测试用例,把用例保存到svn中,利用Jenkins上实现持续集成,Jenkins中用Ant进行构建操作,Jenkins中加入HTML报告、性能报告、邮件发送等功能。
  • jmeter+ant+Jenkins搭建接口自动化测试,可以三体集成实现一键自动;
  • 1、安装jmeter 添加链接描述 2、安装jdk 3、ant 下载地址 配置环境变量 ANT_HOME 为 ant解压位置 ...将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中 配置ant的编译文件
  • jmeter+ant+jenkins环境安装与配置

    千次阅读 2022-04-07 14:09:46
    环境准备: jdk安装 ...1.下载ant(找到jdk1.8以上版本对应的zip包) 2.解压并配置环境变量 3.安装验证 ant -v 配置: 1.将jmeter中的jmeter.properties文件的jmeter.save.saveservice.output_format..
  • 小科普:说说ANT+和蓝牙4.0的那些事

    千次阅读 2019-05-24 17:16:51
    这几年,运动自行车玩家激增,各种相关的电子传感器如功率计,心率计,速度踏频传感器,电变等等以及各种高端表头成为每个车友的标配,ANT+和蓝牙4.0这些本来仅会从IT人士口中说出的词汇,也变成了车友,跑友们的...
  •  之前介绍过ANT通道配置的基本参数,在一个ANT+网络中,对于特定的应用,其通道配置参数都各不相同。HRM设备类型参数则专门定义为 120 (0x78)。RF频率被限定为2.457GHz上。我们知道2.4GHz的ISM频段,其范围通常是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 229,313
精华内容 91,725
关键字:

ant+

友情链接: SocketOPCService (1).rar