Jmeter+Jenkins接口压力测试持续集成

news/2025/2/23 2:46:03/

 项目介绍

  • 接口功能测试应用:
    http://www.weather.com.cn/data/cityinfo/<city_code>.html

  • 测试功能:获取对应城市的天气预报

  • 请求方法:Get

  • 压测脚本开发工具:jmeter

  • 源码脚本位置:
    https://github.com/shifengboy/iInterface_python/blob/master/jmx/iInterface.jmx

源功能点

  • 将Jmeter压测任务集成到Jenkins

  • 通过Jenkins运行Jmeter任务

  • 在Jenkins上展示Jmeter压测报告

项目配置

1、新建一个自由风格任务

图片

2、添加git源码库地址

可自行添加自己的代码仓库地址

图片

3、添加自动化压测运行代码

图片

添加如下构建命令

. ~/.bash_profile
cd iInterface_python/jmx
sh auto_stress_test.sh 

该命令可根据自己的实际项目进行添加

4、导出压测报告

在Post-build Actions(构建后操作)中添加 Publish HTML reports

图片

需要注意的是,Jenkins出于的全策略的原因,会限制js脚本的渲染,默认生成的报告打开后会有样式问题,如下图:

图片

需要解除该限制

具体解除限制的方法有

1、临时解决方案(重启Jenkins失效):在系统管理->脚本命令行:

图片

执行:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

点击运行

图片

2、永久解决方案:
1).安装Groovy Postbuild 插件
该插件可能不是很好下载,若出现无法下载的情况,可访问我的百度网盘:
https://pan.baidu.com/s/1qZ5csambF2yYyzpywO871Q
提取码: xh6d
进行下载后,放在Jenkins的plugins目录下重启即可

2).进入任务->配置->构建->增加构建步骤 Groovy Postbuild,Groovy Script填写:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

之后保存

图片

5、发送邮件

在Post-build Actions(构建后操作)中添加 Editable Email Notification

图片

注:Editable Email Notification插件安装后需要系统管理-系统配置 Extended E-mail Notification选项中进行设置好后才能正常使用

图片

图片

图片

设置完成后,保存,构建

图片

报告:

图片

邮件:

图片


http://www.ppmy.cn/news/1574307.html

相关文章

c#编程:定义比较器,ArrayList使用比较器进行排序

ArrayList 是 .NET Framework 1.1 引入的一个非泛型集合类型&#xff0c;在 C# 现代版本中推荐使用泛型集合如 List 来代替 ArrayList&#xff0c;因为它们提供了更好的类型安全性和性能。 ArrayList 中的元素按照指定顺序进行排序&#xff0c;可以使用 ArrayList.Sort() 方法…

BS5852英国家具防火安全条款主要包括哪几个方面呢?

什么是BS5852检测&#xff1f; BS5852是英国针对家用家具的强制性安全要求&#xff0c;主要测试家具在受到燃烧香烟和火柴等火源时的可燃性。这个标准通常分为四个部分进行测试&#xff0c;但实际应用中主要测试第一部分和第二部分&#xff0c;包括烟头测试和利用乙炔火焰模拟…

计算机网络之TCP的可靠传输

上一篇内容可能比较多&#xff0c;显得比较杂乱&#xff0c;这一篇简单总结一下TCP是靠什么实现可靠传输的吧。 校验和 TCP是端到端的传输&#xff0c;由发送方计算校验和&#xff0c;接收方进行验证&#xff0c;目的是为了验证TCP首部和数据在发送过程中没有任何改动&#x…

oracle apex post接口

日常记录 使用到了apex_json方式接收 、、、1 首先&#xff0c;接口通过body传递过来&#xff0c;成功接收到&#xff0c; 数据格式为 JSON_OBJECT_T l_json : JSON_OBJECT_T.parse(:body); 这里我用参数接收到 然后 里面是包含了 "data" 我用 继续接收到这个 l…

【算法】002、编程实现社会问题

【算法】002、编程实现社会问题 文章目录 一、模拟1.1 模拟 二、多语言解法 // 一开始有100个人&#xff0c;每个人都有100元 // 在每一轮都做如下的事情 : // 每个人都必须拿出1元钱给除自己以外的其他人&#xff0c;给谁完全随机 // 如果某个人在这一轮的钱数为0&#xff0c…

unplugin-vue-components,unplugin-auto-import,借用ai去学习

好的&#xff0c;我现在需要帮助用户理解他们提供的这段Vite配置代码。用户之前已经询问过关于ElementPlusResolver的导入问题&#xff0c;现在他们展示了在vite.config.ts中使用该解析器的具体配置。我需要逐步分析这段代码&#xff0c;并解释每个部分的作用。 首先&#xff…

人工智能泡沫效应

1.1 泡沫效应的经济学解释 泡沫效应是指资产价格持续超出其内在价值的现象&#xff0c;通常由过度投机、市场预期不合理等因素引起。在经济学中&#xff0c;泡沫的形成往往伴随着资产价格的快速上涨&#xff0c;而这种价格上涨并非基于基本面的支撑&#xff0c;而是由于投资者…

基本认证 vs OAuth 2.0 vs OpenID Connect

目前 Authing 有三种可以选择的认证方式: 基本认证是基于 API 接口,通过发送账密、手机验证码到 服务器 后端的方式直接完成用户认证。提供 MFA、忘记密码等功能。 OAuth 2.0 协议主要用于资源授权。 OpenID Connect 协议,简称 OIDC,是 OAuth 2.0 协议的超集,能够认证用户…