Jmeter3.1, Ant, Jenkins automation platform configuration interfaces

See mounting operation: https://www.cnblogs.com/jxba/p/9218407.html

Configuration Reference article:

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

jmeter

\ Bin to your path environment variable later, dos jmeter entered under additional jmeter installation directory, windows will open directly jmeter

 

 

 

 

 data preparation

1, the script storage path: D: \ 01Test \ 02Jmeter \ scripts

 

 


Such as:

2, build executable file exists D: \ 01Test \ 02Jmeter \ scripts \ reports, named: build_report_module.xml. (Note: General build files are stored in ant / bin directory, I use test, each project build files do not have to be consistent, so here is stored in the file can be any storage, with its long time to fill in the correct directory )

Under the results of future test report jmx also be placed in this directory D: \ 01Test \ 02Jmeter \ scripts \ reports (in the build configuration file, as follows)

 

 

 

<?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:\01Test\02Jmeter\apache-jmeter-3.1" />
    <property name="report.title" value="接口测试"/>
    <!-- jmeter生成jtl格式的结果报告的路径,路径根据自己情况更改--> 
    <property name="jmeter.result.jtl.dir" value="D:\01Test\02Jmeter\scripts\reports" />
    <!-- jmeter生成html格式的结果报告的路径,路径根据自己情况更改-->
    <property name="jmeter.result.html.dir" value="D:\01Test\02Jmeter\scripts\reports" />
    <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:\01Test\02Jmeter\scripts\test3N" includes="*.jmx" />
            <testplans dir="D:\01Test\02Jmeter\scripts\test3" includes="*.jmx" />
            <testplans dir="D:\01Test\02Jmeter\scripts\test2" includes="*.jmx" />
            <testplans dir="D:\01Test\02Jmeter\scripts\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>


<!-- 生成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:\01Test\02Jmeter\scripts\reports下

 

 

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

publish HTML reports 

注:

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

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

 

 

 publish performance test result report

Source data files (autodetects format):是指需要jenkins加载在jenkins上的jtl文件所在的路径,这些jtl文件为我们执行自动化测试后生成的文件,该路径为工作区的相对路径,工作区的设置见上面。如本人工作区路径为:D:\01Test\02Jmeter\scripts,ant执行后生成的jtl文件存放路径是在在build文件中配置,将存放在D:\01Test\02Jmeter\scripts\reports下,也就是本插件所用到的jtl文件将在D:\01Test\02Jmeter\scripts\reports下生成,所以直接写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

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

 

 

 

 

 

 

 

 

 

Guess you like

Origin www.cnblogs.com/jxba/p/11824182.html