• Jmeter集成到jenkins


    Jmeter集成到Jenkins

    Jmeter集成到Jenkins. 1

    软件下载... 4

    一:环境配置... 4

    1.JDK安装:... 4

    配置JDK环境变量... 5

    2.Jmeter安装:... 5

    配置jmeter环境变量... 6

    3.安装Ant 7

    配置Ant环境变量... 7

    4.Git安装:... 8

    配置git环境变量... 9

    5.Github设置... 11

    创建github账号... 11

    创建组织... 12

    创建Repositories. 14

    二:Eclipse操作使用github. 16

    1.Eclipse连接github. 16

    1.1创建本地Branch. 20

    1.2 Eclipse创建项目... 21

    1.3 Share项目... 22

    1.4上传项目到github. 25

    1.5提交文件... 25

    三:Jenkins相关配置... 30

    1.安装Jenkins: 30

    2.Jenkins插件安装:... 32

    3.Jenkins系统配置... 34

    3.1 Jenkins邮件配置... 34

    3.2 Git工具配置... 35

    3.3 Github相关帐户配置... 36

    4.配置测试项目... 37

    4.1新建测试项目... 37

    4.2项目源码管理配置... 38

    4.3项目构建配置... 38

    4.4测试报告插件配置... 39

    4.5邮件发送配置... 41

    四:Jmeter构建说明... 43

    1.目录详解... 43

    2.build说明详解... 44

    3.执行jenkins之前动作... 46

    软件下载

    JDK  http://java.sun.com/javase/downloads/index.jsp

    jmeter  http://jmeter.apache.org/download_jmeter.cgi

    搭建环境:

    JDKjdk1.7.0_79

    Antapache-ant-1.9.7

    Jmeter: apache-jmeter-2.13

    Jenkins: jenkins-1.651.1

    Git tool

    Github管理资源库

    以上安装包以及相关工具下载地址:

    Jenkins_Jmeter_Ant_免费高速下载|百度网盘-分享无限制

    一:环境配置

    1.JDK安装:

    1.双击JDK安装包,选择安装路径(为了节省C盘系统盘空间,不建议选择默认路径。本人所有相关软件全部安装在 D:\Progrom Files目录下,例如Jdk安装在D:\Progrom Files\Java\jdk1.7.0_79路径下);

    配置JDK环境变量

    1)系统变量新建 JAVA_HOME 变量

    变量值填写jdk的安装目录(本人是 D:\Progrom Files\Java\jdk1.7.0_79)

    2)系统变量寻找 Path 变量编辑

    在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

    3)系统变量新建 CLASSPATH 变量

    变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)

    系统变量配置完毕

    4)检验是否配置成功 运行cmd 输入 java -version java -version 之间有空格)

    若如图所示 显示版本信息 则说明安装和配置成功。

    2.Jmeter安装:

    1. 解压apache-jmeter-2.13.zip到D:\Progrom Files目录下。

    2.Jmeter插件的安装。解压JMeterPlugins-Extras-1.3.0.zipJMeterPlugins-Standard-1.3.0.zip,将对应ext目录下的文件拷贝到D:\Progrom Files\apache-jmeter-2.13\lib\ext目录下

    配置jmeter环境变量

    1. 设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\Progrom Files\apache-jmeter-2.13,点击确定即可。
    2. 在环境变量CLASSPATH中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 在环境变量Path中添加%JMETER_HOME%\bin
    3. 检验是否配置成功 运行cmd 输入 jmeter -v jmeter -v 之间有空格)
    4. 若如图所示 显示版本信息 则说明安装和配置成功。

    3.安装Ant

    1. 解压apache-ant-1.9.7-bin.zip到D:\Progrom Files目录下;

    配置Ant环境变量

    1. 新建以下环境变量:

    ANT_HOMED:\Progrom Files\apache-ant-1.9.7,此为你的ANT安装路径;

    设置完成后,点击"确认"来保存。

         2.在环境变量PATH的最后面添加一下内容:

    ;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。

    ​​​​​​​​​​​​​​        3.进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了.

    1. 本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;
      1. jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
      2. 将apache-jmeter-2.13\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.7\lib目录下;
      3. 在\apache-jmeter-2.13\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件。

    若构建失败,请分析cmd打印的日志消息,定位问题;

    3.    记得把jmeterextras目录下的ant-jmeter-1.1.1.jar拷贝到antlib目录下

    4.Git安装:

    1. 安装git

    git下载下来后直接安装运行就行。

    配置git环境变量

    添加path:例如:G:\git\Git\cmd 

    然后打开cmd,运行:git

    5.Github设置

    创建github就是为了使用jmeter相关东西,像构建里面的path就可以配置成相对路径

    创建github账号

      Sign in to GitHub · GitHub

    账号创建按照github要求创建

    创建组织

      1. 登录github创建team,也可以创建,后边建项目时直接建在登录账号下,如果要对项目权限访问更细那就建议建一个

    点击右上角的+,点击new organization创建一个组织机构名

    创建Repositories

    你可以选择公共的还是私有的

    创建完成之后如下图

    创建完成之后就可以连接到该库了,也可以把一些代码上传到这个上面,后面会把jmeter相关的传到这个上面

    如图中的地址就是项目的地址,你可以在eclipse里面直接连接

    二:Eclipse操作使用github

    1.Eclipse连接github

    可以在Eclipse中上传jmeter相关到github

    首先需要安装github插件到Eclipse中,这个就不细说了,网上搜一下安装就行

    1. Eclipse连接到github

    连接的URL\就是你刚才建好的项目的URL,直接复制就行,你复制后回到Eclipse页面后对应信息会自动填入,然后你输入帐户,密码就可以了,下一步直到完成

    如上图,我的项目就是Autotest这个,如果新建的项目还没有上传任何东西时只有一个master分支。如下图

    1.1创建本地Branch

    先建一个本地仓库的branch,后面提交东西可以提交到这个分支上。创建好了之后切换到java窗口,新建一个项目

    1.2 Eclipse创建项目

    1.3 Share项目

    完成项目创建之后,选中项目点击右键 ,有看到一个team的功能嘛,点击share project

    1.4上传项目到github

    然后把你下载下来的包含jmeter的那个project信息放进去,上传,鼠标右键点击team→commit,如果是新上传的,需要勾选,如果是更新什么的就只需要选中那些要更新的然后点击这个就行,会自动帮你勾选上的

    这里操作上传之前一定要记得选择一个分支,也就是之前建立的那个branch

    1.5提交文件

    提交文件操作时,勾选要上传的文件,有全选和去掉全选按钮的,然后写上提交的备注信息

    然后点击commit之后就可以看到branch有提交记录,然后这个才是提交到本地仓库,如果要提交到远程,则还需要操作一步

    选择刚才提交上去信息的branch,比如我的是init-branch,右键选择pull branch

    Heads后面那个是你要提交的分支名字

    refs/heads/master

    如图,这个就是提交成功以后的页面,然后可以到github上面看下你提交的东西是否上去了

    如下图所示,就是我已经上传好的信息了

    三:Jenkins相关配置

    1.安装Jenkins:

    1. 安装的是jenkins-1.651.1.msi安装版,也可自行选择安装Jenkins其他版本;
    2. 双击jenkins.msi启动安装,安装目录选择D:\Progrom Files\Jenkins,然后启动成功。
    3. Jenkins服务默认端口为8080,如与其他服务冲突,可在..\Jenkins\jenkins.xml中修改默认端口,如我这里修改为--httpPort=7033;

    1. Jenkins服务默认是自动启动的,如果想修改为手动启动,请自行管理->服务,找到Jenkins服务,修改为手动启动即可。

    1. 打开Jenkins,首次进入会默认让你选择安装插件(此处如果完全不清楚自己需要什么插件,建议全选)。插件安装完成之后,需要设置登录用户,按照自己喜好设置即可。
    2. 这样jenkins就安装成功了。然后我们打开一个浏览器,输入localhost:8080(默认路径是这个,如果你修改了端口号,那就换成你改的端口号) 就会弹出jenkins的web界面。如下图: 

    3.进入Jenkins主页:(我本机的jenkins地址是:http://localhost:8090/)

    2.Jenkins插件安装:

    系统设置->管理插件->可选插件,搜索插件,安装插件;

    1.Jmeter报告性能的插件(Performance plugin

    2.用作展示在jenkinsjobhtml报告插件(HTML Publisher plugin

    1. git插件Git plugin

    执行连接github资源库

    1. github插件GitHub plugin

    1. Email插件Email Extension Plugin   Email Ext Recipients Column Plugin

    注:另外一些其他用的插件,如果需要可以使用jenkins plugins里面的。

    3.Jenkins系统配置

    Jenkins系统配置以及工具配置

    3.1 Jenkins邮件配置

    (系统配置系统设置)

    如下图,配置邮件服务信息,用户名以及密码,SMTP端口,配置完成之后可以,点击通过发送测试邮件测试配置

          点击测试邮件后如果看到如下图的信息,说明配置成功

    3.2 Git工具配置

    (系统配置→Global Tool Configuration

    1. Ant,jdk,maven配置(有些可能用不到)

    3.3 Github相关帐户配置

    设置连接github的帐户,可以使用用户名和密码,id可以为空,添加后自动生成的

    4.配置测试项目

    4.1新建测试项目

    a、在Jenkins首页左边 点击新建 -> 选择"构建一个自由风格的软件项目",输入Item名称(中英文不限,建议使用英文) –> 点击OK,进入你新建的测试项目的配置页面;

    b、丢弃旧的构建:这里勾选上,为了避免多余的构建日志、临时文件占磁盘空间,需要定期的清除过期文件。例如这里选择保存3天之内的构建文件,最大保存N个构建项目的文件;

    具体设置如下图所示:

    4.2项目源码管理配置

    源码管理,选择git

    如图所示,填写源码地址,选择连接帐户,还有分支信息

    4.3项目构建配置

    jmeter -n -t Testcase/test.jmx -l JmeterResult/TestReport.jtl

    这个是jmeter的执行命令,为了执行jmeter脚本生成jtl文件,用作转换成html

    项目配置步骤:

    Ant Version:选择配置的ant的信息

    Targets:配置build.xml中的target信息,比如reportfile

    Build file:指定build文件的路径信息

    4.4测试报告插件配置

    配置Publish Performance test result report

    首先设置要展示成jenkins这个插件的reportjtl信息,如下图

    要展示的性能信息的一些配置参数

      1. 项目配置步骤

    配置展示在jenkinsjob的一个html信息

    参数解释,网上搜到,可以看你用哪个

    下面我解释一下常用的属性。

    •  ${FILE,path="PATH"} 包括指定文件(路径)的含量相对于工作空间根目录。
      • path文件路径,注意:是工作区目录的相对路径。
    •  ${BUILD_NUMBER} 显示当前构建的编号。
    •  ${JOB_DESCRIPTION} 显示项目描述。
    •  ${SVN_REVISION} 显示svn版本号。还支持Subversion插件出口SVN_REVISION_n版本。
    •  ${CAUSE} 显示谁、通过什么渠道触发这次构建。
    •  ${CHANGES } -显示上一次构建之后的变化。
      • showPaths 如果为 true,显示提交修改后的地址。默认false
      • showDependencies 如果为true显示项目构建依赖。默认为false
      • format 遍历提交信息,一个包含%X的字符串,其中%a表示作者,%d表示日期,%m表示消息,%p表示路径,%r表示版本。注意,并不是所有的版本系统都支持%d%r。如果指定showPaths将被忽略。默认“[%a] %m\\n”
      • pathFormat 一个包含“%p”的字符串,用来标示怎么打印路径。
    •  ${BUILD_ID}显示当前构建生成的ID
    •  ${PROJECT_NAME} 显示项目的全名。(见AbstractProject.getFullDisplayName
    •  ${PROJECT_DISPLAY_NAME} 显示项目的显示名称。(见AbstractProject.getDisplayName
    •  ${SCRIPT} 从一个脚本生成自定义消息内容。自定义脚本应该放在"$JENKINS_HOME/email-templates"。当使用自定义脚本时会默认搜索$JENKINS_HOME/email-templatesdirectory目录。其他的目录将不会被搜索。
      •  script 当其使用的时候,仅仅只有最后一个值会被脚本使用(不能同时使用scripttemplate)。
      •  template常规的simpletemplateengine格式模板。
    •  ${JENKINS_URL} 显示Jenkins服务器的url地址(你可以再系统配置页更改)。
    •  ${BUILD_LOG_MULTILINE_REGEX}按正则表达式匹配并显示构建日志。
      •  regex java.util.regex.Pattern 生成正则表达式匹配的构建日志。无默认值,可为空。
      •  maxMatches 匹配的最大数量。如果为0将匹配所有。默认为0
      •  showTruncatedLines 如果为true,包含[...truncated ### lines...]行。默认为true
      •  substText 如果非空,就把这部分文字(而不是整行)插入该邮件。默认为空。
      • escapeHtml 如果为true格式化HTML。默认为false
      •  matchedSegmentHtmlStyle 如果非空,输出HTML。匹配的行数将变为 html escaped matched line 格式。默认为空。
    •  ${BUILD_LOG} 显示最终构建日志。
      •  maxLines 日志最多显示的行数,默认250行。
      •  escapeHtml 如果为true,格式化HTML。默认false
    •  ${PROJECT_URL} 显示项目的URL地址。
    •  ${BUILD_STATUS} -显示当前构建的状态(失败、成功等等)
    •  ${BUILD_URL} -显示当前构建的URL地址。
    •  ${CHANGES_SINCE_LAST_SUCCESS} -显示上一次成功构建之后的变化。
      •  reverse在顶部标示新近的构建。默认false
      •  format遍历构建信息,一个包含%X的字符串,其中%c为所有的改变,%n为构建编号。默认”Changes for Build #%n\n%c\n”
      •  showPaths,changesFormat,pathFormat分别定义如${CHANGES}showPathsformatpathFormat参数。
    •  ${CHANGES_SINCE_LAST_UNSTABLE} -显示显示上一次不稳固或者成功的构建之后的变化。
      • reverse在顶部标示新近的构建。默认false
      •  format遍历构建信息,一个包含%X的字符串,其中%c为所有的改变,%n为构建编号。默认”Changes for Build #%n\n%c\n”
      •  showPaths,changesFormat,pathFormat分别定义如${CHANGES}showPathsformatpathFormat参数。
    •  ${ENV} –显示一个环境变量。
      •  var– 显示该环境变量的名称。如果为空,显示所有,默认为空。
    •  ${FAILED_TESTS} -如果有失败的测试,显示这些失败的单元测试信息。
    •  ${JENKINS_URL} -显示Jenkins服务器的地址。(你能在系统配置页改变它)
    •  ${HUDSON_URL} -不推荐,请使用$JENKINS_URL
    •  ${PROJECT_URL} -显示项目的URL
    •  ${SVN_REVISION} -显示SVN的版本号。
    •  ${JELLY_SCRIPT} -从一个Jelly脚本模板中自定义消息内容。有两种模板可供配置:HTMLTEXT。你可以在$JENKINS_HOME/email-templates下自定义替换它。当使用自动义模板时,”template”参数的名称不包含“.jelly”
      •  template模板名称,默认”html”
    •  ${TEST_COUNTS} -显示测试的数量。
      • var– 默认“total”
        • total -所有测试的数量。
        •  fail -失败测试的数量。
        •  skip -跳过测试的数量。

    4.5邮件发送配置

    配置构建后的结果信息要发送的邮件

      1. 项目配置步骤

    Project Recipient List:收件人信息,如果有多个用;隔开 默认:$DEFAULT_RECIPIENTS

    Project Reply-To List:回复列表,默认:$DEFAULT_REPLYTO

    Content Type:邮件内容文本格式,如果要执行下面的脚本,则选择html

    Default Subject:邮件主题,可以设置固定格式,也可以设置根据变量值设置,例如:构建通知:$PROJECT_NAME - Build # BUILD_NUMBER - $BUILD_STATUS!

    Default Content:默认内容,不设置则默认:$DEFAULT_CONTENT

    Pre-send Script:邮件发送前执行的脚本。

    配置详看下图中,

    邮件正文html代码:


     

    (本邮件是程序自动下发的,请勿回复!)


     项目名称:$PROJECT_NAME

     构建编号:$BUILD_NUMBER

     构建状态:$BUILD_STATUS

     触发原因:${CAUSE}

     构建日志地址:${BUILD_URL}console

     构建地址:$BUILD_URL


     变更集:${JELLY_SCRIPT,template="html"}


     ###单击可查看报告文件详情

     运行结果:Report Detail>>>

    ${FILE,path="./ws/TestReport.html"}


    如果要配置邮件发送trigger信息,则可以设置这个

    :Jmeter构建说明

    1.目录详解

    Buldfilebuild构建文件目录

    ReportHtml:最终生成报告的目录,jenkinsjob显示的html报告也会从这个目录读取

    Testcasejmeter脚本存放目录,就是jmx文件目录

    bin/ ReportHtml: build后生成的html存放目录。

    bin/ JmeterResult:执行jmeter脚本后生成的jtl文件的目录

    2.build说明详解

    1Property的定义,主要定一些目录信息,build文件中有详解

    1.  
    2.      name="jmeter.home" value="JmeterforJenkins/apache-jmeter-2.13" /> 
    3.      
    4.      name="jmeter.result.jtl.dir" value="JmeterforJenkins/apache-jmeter-2.13/bin/JmeterResult" /> 
    5.      
    6.      name="jmeter.result.html.dir" value="JmeterforJenkins/apache-jmeter-2.13/bin/ReportHtml" /> 
    7.      
    8.      name="ReportName" value="TestReport" /> 
    9.      name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" /> 
    10.      name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" /> 
    11. name="jmeter.result.htmlTestName" value="${jmeter.result.html.dir}/${ReportName}_Detail.html" />

    2.target信息主要定义写执行的动作

    name="all"> 

            target="test" /> 

            target="report" />

        target="zipfile" />

         

      name="reportfile"> 

            target="report" /> 

            target="zipfile" /> 

       

    这里有两个,一个是all的动作,包括执行test,生成report,打包成zip附件

    一个是reportfile,包括生成report,打包成zip附件。

                 classpathref="xslt.classpath"

                  force="true"

                  in="../../../${jmeter.result.jtlName}" 

                  out="../../../${jmeter.result.htmlName}" 

                style="../../../${jmeter.home}/extras/jmeter-results-detail-report_30.xsl">

                 name="dateReport" expression="${report.datestamp}"/>

          

          

               classpathref="xslt.classpath"

               force="true"

               in="../../../${jmeter.result.jtlName}" 

    out="../../../${jmeter.result.htmlTestName}"        style="../../../${jmeter.home}/extras/jmeter-results-detail-reprot-request.xsl">

              name="dateReport" expression="${report.datestamp}"/>

         

    3.这两个xslt的动作主要是输入jtl文件,然后转成成html文件,如果是绝对路径那就直接可以写绝对路径,如果是相对路径的话则会取到当前所在路径加上定义的路径,所以inputout加了一些../的操作,这个主要就是返回上一级目录。

     

           todir="../../../${jmeter.result.html.dir}"> 

                dir="../../../${jmeter.home}/extras"> 

                     name="collapse.png" /> 

                    name="expand.png" /> 

                 

           

        todir="../../../${jmeter.home}/ReportHtml"> 

                     dir="../../../${jmeter.result.html.dir}"> 

                         name="collapse.png" /> 

                         name="expand.png" />

                       name="*.html" /> 

                      

                     

         

    4这个copy主要是因为report中有用到两个图片要从extras文件拷贝到report目录,还有做了report文件的拷贝,拷贝到外层一目录下

    name="zipfile">

            destfile="../ReportHtml/JmeterReport.zip" basedir="../ReportHtml" includes="**/*.html **/*.png"/>

        

    1. 这个主要用作打包,把最终生成的report打包成附件邮件发送
    2. 这个build中用到了两个重要的文件xsl文件,这是两个生成report时要引用的一个报告样式文件

    jmeter-results-detail-reprot-request.xsl

    jmeter-results-detail-report_30.xsl

    3.执行jenkins之前动作

    在本地执行build文件看是否正常build,选择build.xml,右键run as

    选择ant build动作

    然后在打开页面的勾选“reportfile” 这个target动作,其他的不用选,然后执行

    看到执行结果如果是success的话就可以在jenkins执行了

  • 相关阅读:
    MySQL 8.0 驱动与阿里druid版本兼容操作
    万字长文解析最常见的数据库恢复算法: ARIES
    Ubuntu系统的k8s常见的错误和解决的问题
    java版本转换小工具
    HTML+CSS实现商品介绍模考(以Apple14为案例)
    量子AI取得突破性进展:大大减少所需训练数据量
    高内聚低耦合
    Pruftechnik普卢福激光对中仪维修OPTALIGN smart RS5
    pthead 创建与销毁详解 pthread_create pthread_join pthread_exit pthread_detach
    【云原生】Kubernetes----Ingress对外服务
  • 原文地址:https://blog.csdn.net/LYX_WIN/article/details/132965344