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

article/2025/9/18 18:13:58

          前言:本文是实现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 包

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

 

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

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

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

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

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

 

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文件的路径

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

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

  1. 接收上面jenkins传过来的env,如何把值传给jmeter呢?  答案是这样的。jenkins传给ant的build.xml文件,然后在传给需要执行jmeter的jmx文件。
  2. build.xml文件中需要增加   <property name="env" value="${env}"/>  如下图:
    <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"><!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--><testplans dir="${jmx_dir}" includes="${jmx_file}" /><property name="jmeter.save.saveservice.output_format" value="xml"/><property name="env" value="${env}"/></jmeter>
  3. jmeter的jmx文件中需要使用__P函数来接收这个变量,如下图    ${__P(env,uat)} 接收到新属性值作为变量传给new_env 如果没有接收到就传入默认值uat

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

  1.  先在插件中心安装HTML Publisher 
  2. 项目中增加构建后操作,选中 Publish HTML reports ,按如下图片填写即可,原理就是让这个插件找到jenkins工作空间下生成的报告

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

 

 

 


http://chatgpt.dhexx.cn/article/cTtymyCS.shtml

相关文章

Jmeter之参数化

这里我用到的是微信的获取access_token接口。 https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential&appidAPPID&secretAPPSECRET 共有三个参数。接下来是设计接口测试用例 新建一个excel文件&#xff0c;输入标题&#xff0c…

常用的Jmeter参数化技巧总结,总有一个你不知道

说起接口测试&#xff0c;相信大家在工作中用的最多的还是Jmeter。 JMeter是一个100&#xff05;的纯Java桌面应用&#xff0c;由Apache组织的开放源代码项目&#xff0c;它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)、SOAP、FTP、JAVA 等多种协议。 在做…

Jmeter关联实现及参数化使用解析

这篇文章主要介绍了Jmeter关联实现及参数化使用解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、Jmeter介绍 一款融合接口、性能都能完成的测试工具纯JAVA开发的工具开源工具支持多种协议应该是测试业界…

Jmeter系列之参数化

VOL 132 08 2020-06 今天距2021年206天 这是ITester软件测试小栈第132次推文 点击上方蓝字“ITester软件测试小栈“关注我&#xff0c;每周一、三、五早上 07:30准时推送。 微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“21天打卡”一起学习成长&#xff0c;打…

Jmeter参数化---使用CSV 数据文件设置

上一篇写了jmeter做接口测试的流程&#xff08;链接&#xff1a;使用 jmeter 做接口测试&#xff09; 这一篇写的是如何参数化的做Jmeter接口测试 这次依然是获取access_token的接口&#xff0c;相关文档详询&#xff1a;(https://developers.weixin.qq.com/doc/offiaccount/…

Jmeter参数化--后置处理器之正则表达式提取器

在接口测试中&#xff0c;很多都需要依赖前一个请求的响应数据放到后一个请求的请求数据中来&#xff0c;在Jmeter中提供了正则表达式提取器来提取响应数据中的片段 本次使用的实例是微信公众号的客服发消息&#xff0c;在这个接口中&#xff0c;需要用到access_token接口返回…

jmeter java csv_Jmeter之csv参数化

Jmeter之csv参数化 创建数据源csv文件 在线程组中添加CSV Data Set Config 1、添加CSV Data Set Config 图 1 添加CSV Data Set Config 2、配置CSV Data Set Config 图 2 配置CSV Data Set Config Filename: 指保存信息的文件目录&#xff0c;可以相对或者绝对路径。否则会在jm…

Jmeter之数据参数化方法汇总

一、什么是参数化 Jmeter参数化是指将脚本中的某些需要输入数据使用参数来代替&#xff0c;在脚本运行时指定参数的取值范围和规则。脚本在运行时就可以根据需要选取不同的参数值作为输入。 常用的Jmeter的参数化请求&#xff0c;包括以下几种方式&#xff1a; 用户参数用户…

Jmeter参数化的方式

拿微信公众平台获取token-创建标签接口举例&#xff1a;微信公众平台 一、正则表达式提取参数 1、获取token后&#xff0c;使用后置处理器-正则表达式提取器&#xff0c;提取返回的token值 2、创建标签接口引用token参数 二、用户参数 1、选中线程组添加前置处理器&#xff…

JMeter参数化4种实现方式

1 参数化释义 什么是参数化&#xff1f;从字面上去理解的话&#xff0c;就是事先准备好数据&#xff08;广义上来说&#xff0c;可以是具体的数据值&#xff0c;也可以是数据生成规则&#xff09;&#xff0c;而非在脚本中写死&#xff0c;脚本执行时从准备好的数据中取值。 参…

移动端适配

移动端适配是指在不同尺寸的手机设备上&#xff0c;页面能相对达到合理的展示&#xff08;响应式&#xff09;或者保持统一效果的等比缩放&#xff08;看起来差不多&#xff09;。本文介绍了移动端适配中需要掌握的基本概念和移动端页面开发中常用的适配方案。 一、基本概念 …

使用FTP(IOS FTP客户端开发教程)

本文翻译自新近Wrox出版社出版的&#xff0c;由Peter van de Put所著的《Professional.iOS.Programming》。该书题材比较新颖&#xff0c;结构合理&#xff0c;是一本不错的IOS开发书籍。本文译自该书第八章《Using FTP》。本文开放使用&#xff0c;不局限于转载、修改、增删&a…

移动端页面如何优雅的适配各种屏幕,包括PC端

本文为Varlet组件库源码主题阅读系列第八篇&#xff0c;读完本篇&#xff0c;可以了解到移动端页面如何适配各种尺寸的屏幕&#xff0c;包括pc端&#xff0c;另外如何将触摸事件转换成鼠标事件。 移动端适配 开发移动端页面&#xff0c;我们通常都会按照一个固定宽度的设计稿来…

FTP客户端和服务器的设计与实现

1 毕业设计目的和意义 2 1.1 毕业设计目的 3 1.1.1 目的一&#xff1a;面向系统的软件开发 3 1.1.2 目的二&#xff1a;面向网络应用的软件开发 3 2.毕业设计意义 3 2 毕业设计设计 4 2.1 概述 4 2.2 毕业设计原理 4 2.2.1 使用FTP协议下载文件的流程 4 2.2.2 相关类库说明 6 2…

移动端适配方案总结

目录 一、背景介绍1.1 为什么要进行移动端适配1.2 移动端适配方案 二、rem方案2.1 什么是rem2.2 怎么根据屏幕尺寸设置根元素html的font-size2.3 postcss-pxtorem 三、viewport方案3.1 什么是viewport方案3.2 postcss-px-to-viewport 四、总结&#xff08;如果只想看实现步骤可…

移动端适配的几种方式

百分比适配方式 这种方法&#xff0c;只是宽度能适配&#xff0c;高度不能适配&#xff0c;只能设置某个高度固定死 需求&#xff1a;是四个div高度为100px&#xff0c;宽度等宽横向排列 <!DOCTYPE html> <html lang"en"> <head><meta chars…

.移动端适配的解决方案

何为移动端适配 移动端适配就是值在不同的移动端 可以去讲我们的内容适应不同屏幕尺寸大小 我们之前写单位用的是px这个单位 但是这是一个写死的单位 rem 所以我们用一个可变的单位 rem &#xff08;是指用html字体大小作为单位 比如说我们设置html字体大小为16px 那么 …

移动web适配

当屏幕宽度发生变化时&#xff0c;页面元素的尺寸&#xff08;宽度和高度&#xff09;也会随之变化&#xff0c;为更好的达到适配效果&#xff0c;用户体验更好&#xff0c;百分比布局 和 Flex布局 是有缺陷的&#xff0c;不能完成最终的适配。想要解决检测屏幕大小的问题&…

FTP-Web端如何直接访问FTP资源

ftp客户端工具&#xff1a;iis7服务器管理工具 IIs7服务器管理工具可以批量管理ftp站点&#xff0c;同时具备定时上传下载的功能。 作为服务器集成管理器&#xff0c;它最优秀的功能就是批量管理windows与linux系统服务器、vps。能极大的提高站长及服务器运维人员工作效率。同…

移动端适配的理解和各种方案解析(详解)

-&#x1f482; 个人网站:【紫陌】【笔记分享网】&#x1f485; 想寻找共同学习交流、共同成长的伙伴&#xff0c;请点击【前端学习交流群】 前言&#xff1a;最近在弄移动端项目&#xff0c;记录一下移动端的应用方案。对各个方案的解决理解。 目录 1.什么是移动端适配 2.理解…