一、用户使用操作步骤
1、用户通过平台进入页面进行设置
2、上传脚本与参数化的csv文件
3、设置参数:执行线程数、脚本名称、报告名称、定时任务执行时间、收件人邮箱等
4、定时自动执行,不再需要人工介入,坐等收邮件,查看测试报告
二、技术方案详解
1、在上传脚本与参数化csv的测试文件,上传到GitHub上。
2、Jenkins指定分支拉取文件到本地D:\apache-jmeter-3.1\jmx
3、Jenkins设置构建触发器定时任务
4、Jenkins通过命令行调用jmeter执行性能测试
5、jmeter执行完成生成的测试报告,保存到nginx搭建的web服务器
6、通过调用nginx访问测试报告
三、实际操作
一、脚本编写规范
1、脚本的线程组需要使用${__P(,)}函数配置参数,在使用非GUI模式执行时则可使用-J执行参数执行。
2、参数化需要指定到相应的目录(D:\apache-jmeter-3.1\jmx --Jenkins中配置的路径)
3、脚本的命名需要是非中文
二、上传脚本与参数化的csv文档到GitHub
1、登录之后,找到clone地址,上传文件到feature/jmeter分支(相应的分支,想放哪里都行)
2、安装git客户端tortoisegit(不安装则直接用git命令push上去)
3、随意在哪个文件夹下,右键,先clone
指定分支:feature/jmeter分支
4、将文件拖到本地仓库,然后右键commit
5、push上去
6、下次再要上传到git时,需要先pull拉下来,然后再commit,再push上传
三、Jenkins配置
1、进入Jenkins
2、项目配置
-
This project is parameterized --参数配置
-
Git --去git拉文件,指定clone地址与分支,将文件拉到D:\apache-jmeter-3.1\jmx
-
Build periodically —配置定时任务,(* * * * * ----分钟 小时 天 月 星期)
-
excute windows batch command
—配置环境变量
set MINIMAL_VERSION=1.8.0
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
set PATH=%SystemRoot%/system32;%SystemRoot%;%JAVA_HOME%\bin;%PATH%
—删除原有的报告,防止原有相同名称的报告,导致执行报错
rd /s/q D:\apache-jmeter-3.1\result%result_name% —强制删除测试报告文件夹
del D:\apache-jmeter-3.1\result%result_name%.jtl —删除jmeter生成的jtl文件
—jmeter非GUI模式执行,并且指定参数
jmeter -Jthread=%thread% -Jstart_thread=%start_thread% -Jseconds=%seconds% -Jadd_thread=%add_thread% -n -t D:\apache-jmeter-3.1\jmx%jmx_name%.jmx -l D:\apache-jmeter-3.1\result%result_name%.jtl -e -o D:\apache-jmeter-3.1\result%result_name%
3、Jenkins手动执行,则输入参数执行即可
4、Jenkins定时任务执行,则获取配置的参数默认值进行执行
四、取测试报告,发送邮件
1、调用nginx静态资源web服务器,查看报告