Jmeter3.1AntJenkins接口自动化平台配置

Posted jxba

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter3.1AntJenkins接口自动化平台配置相关的知识,希望对你有一定的参考价值。

安装操作详见:https://www.cnblogs.com/jxba/p/9218407.html

本文配置参考:

https://testerhome.com/topics/13389 等

jmeter

追加jmeter安装目录下的in到path环境变量后,dos中输入jmeter,windows会直接打开jmeter

技术图片

 

技术图片

 

 

 

 数据准备

1、脚本存放路径:D:1Test2Jmeterscripts

 技术图片

 


如:
技术图片

2、build执行文件存在了D:1Test2Jmeterscripts eports,命名为:build_report_module.xml。(注:一般build文件存放在ant/bin目录下,本人测试使用,每个项目build文件不一定要一致,所以存放在此处,该文件可任意存放,只要用的时候其目录填写正确即可)

未来test下jmx的执行结果报告也将存放在此目录D:1Test2Jmeterscripts eports(在build文件中配置,内容如下)

技术图片

 

 

 

技术图片
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
      <tstamp>
        <format property="time" pattern="_yyyyMMdd_HHmmss" />
    </tstamp>
    <!-- 需要改成自己本地的Jmeter路径,路径根据自己情况更改-->  
    <property name="jmeter.home" value="D:1Test2Jmeterapache-jmeter-3.1" />
    <property name="report.title" value="接口测试"/>
    <!-- jmeter生成jtl格式的结果报告的路径,路径根据自己情况更改--> 
    <property name="jmeter.result.jtl.dir" value="D:1Test2Jmeterscripts
eports" />
    <!-- jmeter生成html格式的结果报告的路径,路径根据自己情况更改-->
    <property name="jmeter.result.html.dir" value="D:1Test2Jmeterscripts
eports" />
    <property name="detail" value="_detail" />
    <!-- 生成的报告的前缀-->  
    <property name="ReportName" value="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}${time}.html" />
    
    <property name="jmeter.result.jtlNamedetail" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    <property name="jmeter.result.htmlNamedetail" value="${jmeter.result.html.dir}/${ReportName}${time}${detail}.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"指包含以下路径下的所有jmx,如需执行多路径下的脚本,则将路径分别加载testplans里,路径根据自己情况更改-->
            <testplans dir="D:1Test2Jmeterscripts	est3N" includes="*.jmx" />
            <testplans dir="D:1Test2Jmeterscripts	est3" includes="*.jmx" />
            <testplans dir="D:1Test2Jmeterscripts	est2" includes="*.jmx" />
            <testplans dir="D:1Test2Jmeterscripts	est" 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>


<!-- 生成2个报告,一个概要的,一个详细的 --> 
       <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>
   <xslt 
          classpathref="xslt.classpath"
          force="true"
          in="${jmeter.result.jtlNamedetail}"
          out="${jmeter.result.htmlNamedetail}"
          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>
build_report_module.xml

 

jenkins插件下载

需要下载的插件,包括但不不限于以下:

Localization: Chinese (Simplified)            中文显示

Ant Plugin

Email Extension Plugin

Build Pipeline Plugin 

Performance Plugin

HTML Publisher plugin

Groovy

Groovy Postbuild 

Groovy Remote Control Plugin

系统管理--系统设置

配置如下信息信息配置

技术图片

 

 

 该邮箱地址需要记住,job中的邮件配置会用到

技术图片

 

 

 技术图片

 

 

 以上配置中的密码非邮箱登录密码,而是QQ邮箱的授权码,

SMTP服务开启操作见:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=166&&id=28

QQ邮箱授权码查看:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28

jenkins创建job

job名字自定义,选择自由风格软件项目

本人命名为:HTTP_baidu

配置job

工作区

在general-高级中设置,(下面的构建后操作的配置需要用到,本项目所有的脚本、报告、执行文件都将在该目录下存放和生成)

技术图片

 

 

 

构建触发器

根据操作说明(点击?可查看)编写,如定时任务

技术图片

 

 

 

构建信息

build file:build文件的路径,本人build文件命名为:build_report_module.xml,存放在:D:1Test2Jmeterscripts eports下

技术图片

 

 

 构建后操作(如果没有,需要下载插件)

publish HTML reports 

注:

HTML directory to archive:是指需要jenkins加载在jenkins上的html文件所在的路径,这些html文件为我们执行自动化测试后生成的reports文件,该路径为工作区的相对路径,工作区的设置见上面。如本人工作区路径为:D:1Test2Jmeterscripts,ant执行后生成的report文件存放路径是在在build文件中配置,将存放在D:1Test2Jmeterscripts eports下,也就是本插件所用到的html文件将在D:1Test2Jmeterscripts eports下生成,所以直接写reports即可。(这些目录需提前建好)

Index page[s]:*。html,即将所有的html文件加载在jenkins的页面上。

技术图片

 

 

 publish performance test result report

Source data files (autodetects format):是指需要jenkins加载在jenkins上的jtl文件所在的路径,这些jtl文件为我们执行自动化测试后生成的文件,该路径为工作区的相对路径,工作区的设置见上面。如本人工作区路径为:D:1Test2Jmeterscripts,ant执行后生成的jtl文件存放路径是在在build文件中配置,将存放在D:1Test2Jmeterscripts eports下,也就是本插件所用到的jtl文件将在D:1Test2Jmeterscripts eports下生成,所以直接写reports*jtl即可。(这些目录需提前建好)

其他配置信息默认~

技术图片

 

 

 

Editable Email Notification

技术图片

 

 default content内容如下

技术图片
<!DOCTYPE html>  
<html>  
  
<body>  
    <h3>以下是Jenkins自动发送的邮件,请勿回复!</h3> 
  </body>  
</html>
<hr/
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
default content

Editable Email Notification中点击高级,设置发送邮件触发器

技术图片

 

 job保存,配置完成

另一个前置的job

因为jenkins加载的html会出现显示不正常的现象,所以创建另一个job,名字随意命名(本人命名:Build when job nodes start),配置其构建条件和构建执行的脚本即可。

脚本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

技术图片

 

 

构建

 

选择创建的job,选择构建

 首次构建先执行前置job:Build when job nodes start (以后都不用执行了~)

再执行本次测试job:HTTP_baidu

构建成功,自动发送测试报告邮件

截图如下

技术图片

 

 

至此,over

一路上遇到很多拦路虎,不过按照这样设置,应该不会再有问题了~,拦路虎以后有时间再梳理。

 

 

 

 

 

 

 

 

 

以上是关于Jmeter3.1AntJenkins接口自动化平台配置的主要内容,如果未能解决你的问题,请参考以下文章

从BNBUNI到AAB:交易所平台币101

求集合竞价规则选股方法的策略源码

如何为 Alpine 编译 python?

yapi平台--接口自动化实施

怎么做接口自动化的?

接口自动化测试怎么做的