【完结版】jmeter+ant+python自动化框架,且支持jenkins持续集成

          前言:本文是实现jmeter+ant+python脚本的自动化测试框架,并且把整套部署在jenkins,通过jenkins的构建来出发脚本的运行,而且还会在jenkins上展示html报告。本文记录搭建框架的整个步骤,以及遇到的问题和记录解决办法。

 一、整体框架的介绍。

        项目名:jmeter_autotest

        项目需要的工具:apache-jmeter-5.4.3   apache-ant-1.10.5 

        编辑器:pycharm (只是为了比较好修改文件)

        项目目录

                --project. 用来存放项目文件  jmx和build

                --report  用来存放测试报告

                --testing  用来存放python脚本

                --tools   用来存放apache-jmeter-5.4.3   apache-ant-1.10.5 包

 给大家展示下我本地的目录结构:

【完结版】jmeter+ant+python自动化框架,且支持jenkins持续集成_第1张图片

 

二、部署到jenkins,并且通过参数构建给jmeter传参数,以至于来给jmeter的用户变量传递不同的参数,达到参数构建的效果

1)jenkins的部署,这个部署步骤就百度吧或者看我之前的文章。资料很多,这里不再废话。

2)将上面的框架代码,包含jmeter和ant全部上传到gitee。我这里已上传,有需要的自取,自取的同学不要忘了给作者文章点个小赞哦。

3)在jenkins上创建自由风格的项目。取名jmeter_autotest

4)  选择参数化构建-选项参数,然后在名称处填上 env  在选项处填上 uat 和prod(需要换行填写) 描述可以填入 “请选择执行环境 ”的提示语

【完结版】jmeter+ant+python自动化框架,且支持jenkins持续集成_第2张图片 

5)选择git 拉取上传到git上的代码。

6)添加构建步骤,这里一定要跟我添加的步骤一样,不然会出现各种各样的额问题

  1. 执行shell脚本删除掉历史报告
    echo "删除历史报告"
    rm -rf ${WORKSPACE}/report/html/*
    rm -rf ${WORKSPACE}/report/jtl/*
  2. 选择Execute system Groovy script (一定是这个哈,需要先在jenkins插件管理安装Groovy插件)然后在Groovy Script处填入以下代码。这里主要是解决我们后面显示html报告时,没有出来css样式的问题。
    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
  3. 选择 Invoke Ant, 选择版本,同样是需要先在jenkins管理中心先配置ant   Target填写run Build File填写build.xml文件的路径【完结版】jmeter+ant+python自动化框架,且支持jenkins持续集成_第3张图片

7)修改build.xml文件  源文件因为涉及到太多公司项目路径,这里不方便截图,需要请私聊

        注意一个点:这个点我研究了很久

  1. 接收上面jenkins传过来的env,如何把值传给jmeter呢?  答案是这样的。jenkins传给ant的build.xml文件,然后在传给需要执行jmeter的jmx文件。
  2. build.xml文件中需要增加     如下图:
    
                 
                
                
    			
           
  3. jmeter的jmx文件中需要使用__P函数来接收这个变量,如下图    ${__P(env,uat)} 接收到新属性值作为变量传给new_env 如果没有接收到就传入默认值uat

8)构建后的操作,主要是添加html报告展示和发送邮件(发送邮件可以有多种方法,可以通过jenkins的邮件插件发送,也可以通过ant 的插件来发送。邮件发送我们后面在讲述) 

  1.  先在插件中心安装HTML Publisher 
  2. 项目中增加构建后操作,选中 Publish HTML reports ,按如下图片填写即可,原理就是让这个插件找到jenkins工作空间下生成的报告【完结版】jmeter+ant+python自动化框架,且支持jenkins持续集成_第4张图片

9) 最终展示下demo效果:大家如果觉的可以的话,请对文章点赞和加关注,如果遇到部署什么的请留言,作者看到会第一时间回复。如果想要框架代码和安装包的同学,加关注我私发!!!

 

 

 

你可能感兴趣的:(jmeter,jenkins,jmeter,自动化)