基于Jmeter+maven+Jenkins构建性能自动化测试平台
  q2rViTiemRgY 2023年11月02日 78 0


基于Jmeter+maven+Jenkins构建性能自动化测试平台

一、目的:

为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台

二、环境准备:

1、选定Linux服务器(一台或多台均可,目前为10.0.4.109),安装jmeter(直接解压缩已下载好的jmeter zip包即可使用),做为测试负载机

JDK版本要求:1.8

jmeter版本要求:3.1

启动jmeter测试负载机:

1)进入/data0/java/apache-jmeter-3.1

2)执行start.sh(自己编写一个简单的启动jmeter负载机脚本)

基于Jmeter+maven+Jenkins构建性能自动化测试平台_性能测试

3)启动后可查看日志jmeter-server.log

基于Jmeter+maven+Jenkins构建性能自动化测试平台_运维_02

2、建立一个maven项目(已建立好,项目可通用,只需将调试好的jmeter脚本放置在对应目录下即可)Teamcode上搜索fangdd/testcode/jmeter-performance-platform

1)将本机调试好的jmeter脚本放置于项目的src/test/jmeter目录下

基于Jmeter+maven+Jenkins构建性能自动化测试平台_运维_03

脚本命名建议:

Xx项目_config_env_xx环,示例:agent_config_env_test.jmx 即表示为经纪人项目测试环境对应jmeter脚本,且启动线程数与运行时长可通过读取jmeter的 user.properties 配置来设置(推荐)

Xx项目_env_xx环,示例:agent_env_test.jmx 即表示为经纪人项目测试环境对应jmeter脚本,且启动线程数与运行时长不可通过配置配置,在脚本中已设置为固定值(不推荐)

2)配置pom(项目中已配置好,可通用,无需重复配置)

3)Jenkins安装Performance plugin插件,用于解析jmeter生成jtl结果文件并生成统计图表

基于Jmeter+maven+Jenkins构建性能自动化测试平台_Jenkins_04

三、关键配置说明:

1、jmeter-maven-plugin插件配置说明

该插件主要用于驱动远程jmeter负载机执行测试

通过命令clean test -Djmeter.jmx=xxx.jmx指定需要执行的jmeter脚本

例:

执行经纪人jmeter性能测试脚本:clean test -Djmeter.jmx=agent_config_env_test.jmx

基于Jmeter+maven+Jenkins构建性能自动化测试平台_Jenkins_05

基于Jmeter+maven+Jenkins构建性能自动化测试平台_性能测试_06

1)execution配置要执行插件目标命令

基于Jmeter+maven+Jenkins构建性能自动化测试平台_运维_07

2)使用<testFilesIncluded>选择执行用例

基于Jmeter+maven+Jenkins构建性能自动化测试平台_Jenkins_08

3)设置时间戳格式

基于Jmeter+maven+Jenkins构建性能自动化测试平台_Jenkins_09

4)使用<resultsDirectory>指定结果路径,使用<ignoreResultFailures>忽略错误

基于Jmeter+maven+Jenkins构建性能自动化测试平台_性能测试_10

5)remoteConfig设置远程jmeter负载机列表

基于Jmeter+maven+Jenkins构建性能自动化测试平台_性能测试_11

2、jmeter-analysis-maven-plugin插件配置说明

该插件主要用于分析jmeter生成测试结果文件,source配置指向jmeter结果文件生成路径,targetDirectory配置解析处理后生成报告存储路径

基于Jmeter+maven+Jenkins构建性能自动化测试平台_运维_12

3、jmeter配置说明:

#number of threads to use

jmeter.threads=50    配置需要启动的线程数

#delay of the test in seconds

jmeter.delay=0       配置启动延时时间,单位:秒

#duration of the test in seconds

jmeter.duration=60    配置运行持续时长,单位:秒

#how long till all threads are up and running in seconds

jmeter.rampup=10    配置所有线程全部启动时长(即所有线程在多长时间内全部启动完毕),单位:秒

基于Jmeter+maven+Jenkins构建性能自动化测试平台_运维_13

 

基于Jmeter+maven+Jenkins构建性能自动化测试平台_Jenkins_14

四、jmeter脚本关键设置说明及规范:

1、添加用户自定义变量,并设置如下变量值

名称                   值                   描述

threads          ${__P(jmeter.threads,0)}       线程数

delay            ${__P(jmeter.delay,0)}        启动延时(秒)

duration         ${__P(jmeter.duration,0)}      持续时间(秒)

rampup         ${__P(jmeter.rampup,0)}       加压时间(秒)

基于Jmeter+maven+Jenkins构建性能自动化测试平台_性能测试_15

2、线程组设置中引用如上设置的自定义变量

基于Jmeter+maven+Jenkins构建性能自动化测试平台_Jenkins_16

3、jmeter脚本如需引用第三方jar包或配置文件,且jmeter自带lib下未包含此jar包,则将所需引用jar包与配置文件放置于jmeter  lib/ext目录下即可,然后重新启动jmeter即可自动加载引用

基于Jmeter+maven+Jenkins构建性能自动化测试平台_maven_17

基于Jmeter+maven+Jenkins构建性能自动化测试平台_maven_18

4、可将Jenkins执行完毕后,jmeter生成.jtl结果文件下载至本机,通过jmeter聚合报告监听器浏览查看性能测试数据

1)进入Jenkins对应性能测试项目工作空间如下如所示路径,下载.jtl结果文件至本机

基于Jmeter+maven+Jenkins构建性能自动化测试平台_性能测试_19

2)启动本机jmeter,添加聚合报告监听器

基于Jmeter+maven+Jenkins构建性能自动化测试平台_maven_20

3)点击“浏览”并选择已下载.jtl文件,即可在本地查看jmeter性能测试报告数据

基于Jmeter+maven+Jenkins构建性能自动化测试平台_maven_21

基于Jmeter+maven+Jenkins构建性能自动化测试平台_运维_22

五、Jenkins添加对应项目性能测试job,可配置定时执行:

具体配置可参考已有项目:http://ci-sz.fangdd.net/job/perfmance/job/agent-perfmance-test/

Jenkins执行jmeter性能测试前,请确认jmeter负载机服务已启动

效果图:

基于Jmeter+maven+Jenkins构建性能自动化测试平台_Jenkins_23

六、参考文档:

Jmeter+maven+Jenkins构建云性能测试平台


https://github.com/afranken/jmeter-maven-plugin-example

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
q2rViTiemRgY