22-性能测试持续集成
CICD持续集成持续交付
CICD
CI:持续集成
CD:持续交付
Jenkins
持续集成与持续交付落地的一个工具
Devops
性能测试持续集成与持续交付的解决方案
jenkins + ant + jmx
jenkins
持续集成工具
ant:maven
测试、编译代码
jmx
jmeter编写的脚本
CLI模式
命令行的模式运行jmeter脚本
真正做性能测试时,要用CLI模式「命令行模式」
命令行模式,能够产生出更大的请求压力
脚本:50个线程数,向服务器发起登录接口请求50 * rps = 每秒钟总共向服务器发起的请求数
- GUI:
50 * 35 = 1750
一部分资源用于图形界面 - CLI:
50 * 45 = 2250
这样服务器收到的请求更多,单位时间服务器处理的事务数更大,服务器的压力就会更大
命令参数
1 | ================================================================================ |
示例:jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
jmeter
命令名称
-n
non gui 也就是启用CLI模式
-t
测试计划,jmx脚本名称 可以带路径。默认是jmeter的bin路径
-l
输出性能结果到文件。一般为「jtl」、「csv」格式文件
- 文件推荐为jtl格式
- 文件必须不存在,不能追加到文件中,如果文件已经存在,执行时候会报错
-e
转换
-o
输出到文件夹。
把前面的jtl文件转换为html报告到文件夹中
文件夹必须为空,如果文件夹中有内容,执行也会报错
执行CLI命令
- 进入jmeter的bin文件夹,打开命令终端
- 因为jmeter没有配置环境变量,所以需要使用jmeter命令的时候,必须要进入jmeter所在文件夹下
例如在mac下运行:
1 | (base) 192:bin zhongxin$ ./jmeter -n -t ./text/易捷支付-性能场景-1.jmx -l ./text/load1.jtl -e -o ./text/load1 |
- 端口区间:4445-4455
测试报告
通过CTL模式,已经生成了HTML报告
APDEX
用户满意度指数
时间图
吞吐量图
从图中可以看出,每60秒记录一次数据。我们可以通过修改reportgenerator.properties
来改变它的取点间隔.最小值为1000
1 | Defines the overall granularity for over time graphs |
GUI重新生成html报告:只在5.1.1版本以上才可以
- Result file:选择刚才执行生成的jtl文件
- user.properties file:选择
jmeter.properties
- Output directory:选择一个空文件夹放置报告
查看重新生成的报告
jenkins+ant配置
安装jenkins
由于临时使用,使用Docker进行安装
1 | 192:jenkins-server root# pwd |
安装插件
manage jenkins -> manage plugins 搜索ant并安装
manage jenkins -> global tool Configuration -> 找到Ant的入口 -> 填入解压后的ant路径
- 新建自由项目任务
构建环境中点击「增加构建步骤」选择「Invoke Ant」
选择Ant Version为全局配置中的名称
- 点击「高级」 选择
Build File
文件/Users/zhongxin/Downloads/性能测试VIP课用文件/02.jmeter/apache-jmeter-5.1.1/extras/build.xml
- 修改
build.xml
Ant编译、部署jmx文件,就是根据build.xml来执行的
build.xml
1 |
|
注意需要实现新建下面两个文件夹
1 | <!-- jmeter生成jtl格式的结果报告的路径--> |
在jmeter.properties
中添加
1 | jmeter.save.saveservice.output_format=xml |
遇到的问题
1 | BUILD FAILED |
把文件apache-jmeter-5.1.1/extras/ant-jmeter-1.1.1.jar
复制到apache-ant-1.9.14/lib
目录下