zoukankan      html  css  js  c++  java
  • 十、持续集成(Jenkins+Ant+Jmeter)

    前言:

    jmeter 是一个 java 开发的,apache 下的开源工具,常被用于做接口自动化和性能测试工具。因为他开源,入手也非常简单,所以越来越受测试人员青睐。

    ant 也是用 Java 开发的,apache 下的一个将代码编译、测试、部署等联系在一起加以自动化的开源工具。深受 java 开发人员欢迎。

    Jenkins 是一款开源的 CI/CD 软件,因为功能齐全,插件丰富,支持各种运行方式,使用也很简单,是持续集成方面的领导者。

    这样一个组合,就能让测试人员把 jmeter 编写的接口测试脚本,通过 Jenkins 持续集成编辑、测试,查看测试结果报告。

    环境配置 

    因为,jmeter、ant 都是 java 开发的,所以我们要有 java 运行环境安装 jre 或 jdk 

    一、安装与配置 jdk:

    1、下载 jdk 或 jre 安装包 

    2、安装 jdk 

    3、打开系统环境变量,在系统变量中, 

        ①、新增 JAVA_HOME 变量,路径为 jdk 安装路径, 

        ②、再在 PATH 变量值中插入%JAVA_HOME%in;%JAVA_HOME%jrein;

        ③、再在 CLASSPATH 变量值中插入%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar; 

    保存关闭环境变量窗口,在 dos 窗口中,输入 java -version, 如果返回了 java 的版 本,说明安装配置成功

    二、安装 jmeter:

    1、下载 jmeter 包 

    2、解压,进入解压路径的 .in 文件夹,双击 jmeter.bat文件(windows),即可启动 jmeter,编写接口测试脚本

     

     3.ant 安装与配置

    1、下载 ant 包,解压 

    2、打开系统环境变量,添加 ANT_HOME 为 ant 路径, 在$PATH 中添加%ANT_HOME%in

    3、修改 jmeter 的 jmeter.properties jmeter.save.saveservice.output_format=xml 

    4、jmeter 的 extras 文件夹中的 ant-jmeter.***.jar 拷贝到 ant 的 lib 文件夹中 用于发 邮件 

    5、验证环境配置:运行 cmd,输入ant -version

     

     6、修改 build.xml 文件 进入 jmeter 的 extras 文件夹,找到 build.xml 文件,修改该文件

      

     修改后的build文件:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project name="ant-jmeter-test" default="all" basedir=".">  
     3  <tstamp>
     4         <format property="time" pattern="yyyyMMddhhmm" />
     5     </tstamp>
     6     <property name="encoding" value="UTF-8" />
     7     <!-- 需要改成自己本地的 Jmeter 目录-->  
     8     <property name="jmeter.home" value="D:Program Files (x86)apache-jmeter-3.3" />
     9     <property name="report.title" value="接口性能监控"/>
    10     <!-- jmeter生成jtl格式的结果报告的路径--> 
    11     <property name="jmeter.result.jtl.dir" value="D:Program Files (x86)apache-jmeter-3.3
    eportjtl" />
    12     <!-- jmeter生成html格式的结果报告的路径-->
    13     <property name="jmeter.result.html.dir" value="D:Program Files (x86)apache-jmeter-3.3
    eporthtml" />
    14     <!-- 生成的报告的前缀-->  
    15     <property name="ReportName" value="TestReport" />
    16     <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    17     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
    18 
    19     <target name="all">
    20         <antcall target="test" />
    21         <antcall target="report" />
    22         <antcall target="mail" />
    23     </target>
    24     
    25     <target name="test">
    26         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
    27         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
    28             <!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->
    29             <testplans dir="D:Program Files (x86)apache-jmeter-3.3jmeter_scripts" includes="*.jmx" />
    30             
    31             <property name="jmeter.save.saveservice.output_format" value="xml"/>
    32         </jmeter>
    33     </target>
    34         
    35     <path id="xslt.classpath">
    36         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
    37         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    38     </path>
    39 
    40 
    41     <target name="report">
    42         <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
    43         <xslt 
    44               classpathref="xslt.classpath"
    45               force="true"
    46               in="${jmeter.result.jtlName}"
    47               out="${jmeter.result.htmlName}"
    48               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
    49 
    50               <param name="showData" expression="${show-data}"/>
    51 
    52               <param name="dateReport" expression="${report.datestamp}"/>
    53               <param name="titleReport" expression="${report.title}:${report.datestamp}"/>
    54 
    55        </xslt>
    56 
    57                 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
    58         <copy todir="${jmeter.result.html.dir}">
    59             <fileset dir="${jmeter.home}/extras">
    60                 <include name="collapse.png" />
    61                 <include name="expand.png" />
    62             </fileset>
    63         </copy>
    64     </target>
    65     <property name="mail_from" value="1054815898@qq.com" />
    66     <property name="password" value="grpmkerhjmtbbfae" />
    67     <!--mail_to:发送列表,多个之间逗号间隔 -->
    68     
    69     <property name="mail_to" value="1054815898@qq.com" /> 
    70     <property name="mailport" value="465" />
    71     <!--邮箱需要开通smtp服务-->
    72     <property name="mailhost" value="smtp.qq.com" />
    73 
    74     <target name="mail">
    75         
    76         <loadfile property="report" srcFile="${jmeter.result.htmlName}" encoding="${encoding}" />
    77         <mail from="1054815898@qq.com" tolist="1054815898@qq.com" mailport="587" mailhost="smtp.qq.com" user="1054815898@qq.com" password="grpmkerhjmtbbfae" subject="TestReport" messagemimetype="text/html">
    78             <message>
    79                                 本轮构建的结果如下:
    80                                 ${report}                               
    81                     </message>
    82         </mail>
    83     <delete file="${jmeter.result.htmlName}" />
    84     </target>
    85 </project>
    build.xmll

    注意:QQ邮箱的端口用587,不能使用465

    四、安装 jenkins:

    2种安装方式:1、war包安装 ;2、下载可执行文件msi安装

    war包安装并启动jenkins服务:

    --安装jdk1.8以上版本,并配置环境变量(将jdk的bin路径放在系统变量的PATH中,cmd中查看Java版本:java-version)

    --将.jenkins放在C:UsersAdministrator目录下

    --将jenkins.war包放在.jenkins下

    --进入C:UsersAdministrator.jenkins,在路径地址中输入cmd回车进入命令行

    --启动war包:java -jar jenkins.war  

    --显示: Jenkins is fully up and running,表示成功。 

    浏览器访问:

    --打开浏览器输入localhost:8080

      注意:如果开启jenkins服务的时候,出现端口被占用,需要修改端口java -jar jenkins.war --httpPort =5678

    --输入账户名、密码  (第一次启动在命令行日志中可查看初始密码)

    修改初始密码:可在C:UsersAdministrator.jenkinsusersadmin_3084889522813644434config.xml文件中修改密码

    #jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdS 

    安装插件并配置Ant

    --登 录 jenkins-> 进 入 系 统 管 理 ->pluginManager 管 理 插 件 安 装 AntPlugin 和PerformancePlugin 确认是否已经安装

    --系统管理-> GlobalTool Configuration 配置 Ant 路径

     
    6、 新建一个任务, 选择 freestyle project
    7、 在任务的‘构建’中, 选择 invoke ant ,targets 要填写 build.xml 中的 antcall 的值, 保存应用
     

    8.项目构建 

    9.邮箱信息

     转载:https://www.cnblogs.com/puresoul/p/4737716.html

     
     
     
  • 相关阅读:
    云产品-容器镜像服务(CR)
    mysql中写sql的好习惯
    关于Redis的一些问题
    解决zookeeper在windows下启动闪退的问题
    SQL-基于派生表的查询
    exec()内置方法
    CentOS 7使用yum无法安装htop等工具的解决办法
    CentOS7更换yum源为阿里云yum源
    坑(二十)——正则分组返回结果
    坑(十九)—— Git clone 时遇到fatal: protocol 'https' is not supported问题解决方案
  • 原文地址:https://www.cnblogs.com/zhangjx2457/p/13898685.html
Copyright © 2011-2022 走看看