Jenkins集成Jmeter进行Web自动化性能测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jenkins集成Jmeter进行Web自动化性能测试
By huangweihua
Jenkins集成Jmeter进行Web自动化性能测试 (1)
一、安装Jmeter (2)
1.1下载解压版: (2)
1.2解压 (2)
1.3配置环境变量 (3)
1.4调试 (4)
二、安装badboy工具 (5)
2.1下载: (5)
2.2安装 (5)
三、录制Jmeter脚本 (6)
四、Jenkins集成Jmeter方式一:CMD来执行Job (13)
4.1下载插件 (13)
4.2新建一个Job (14)
4.3在Job里面增加一个构建步骤来执行压力测试 (14)
4.4在Job里面增加一个获取测试结果的步骤 (14)
4.5执行Job并查看结果 (15)
五、Jenkins集成Jmeter方式二:Ant来执行Job (16)
5.1、Ant安装 (16)
5.2、Jmeter的配置修改 (19)
5.3、编写build.xml (20)
5.3、Jenkins的Job配置 (25)
5.4、执行job并查看结果 (26)
问题 (28)
一、安装Jmeter
1.1下载解压版:
下载地址:/download_jmeter.cgi
1.2解压
我下载的是2.9版本,解压即可
1.3配置环境变量
新增JMTER_HOME变量
在path中增加Jmeter的的路径
1.4调试
在cmd里面输入:jmeter –h
二、安装badboy工具
badboy是录制Jmeter性能测试脚本的工具
2.1下载:
下载地址;.au/
2.2安装
按步骤安装即可
三、录制Jmeter脚本
这里介绍badboy来录制Jmeter脚本1、输入web地址并点击浏览
2、增加操作步骤并命名步骤
3、输入用户名和密码并点击“登录”
4、结束录制
5、导出Jmeter可运行的脚本
使用Jmeter优化脚本
(1)打开Jmeter工具,选择“文件”-->“打开”选择刚才保存的文件(.jmx类型),将文件导入进来了。
(2)配置线程数量,即向服务器发送的请求并发数量
(3)配置登录用户名和密码的参数化
增加一个CSV配置元件用来存放账号和密码。
四、Jenkins集成Jmeter方式一:CMD来执行Job
这种方式是通过cmd来运行执行Jmeter的负载脚本,用Performance插件来生成图表。
4.1下载插件
需要Jenkins的Performance plugin插件来生成图表报告。
4.2新建一个Job
4.3在Job里面增加一个构建步骤来执行压力测试
4.4在Job里面增加一个获取测试结果的步骤
获取的是所有的监控文件数据,便于在Jenkins执行结果里面对每次的性能监控进行比较。
4.5执行Job并查看结果
下图的结果是其他性能测试结果截图,而不是上面登录功能的监控结果。
五、J enkins集成Jmeter方式二:Ant来执行Job
通过Ant来执行Jmeter的负载脚本,并讲Jmeter测试结果由jtl文件转换成html报告。
Jmeter脚本这里用另外一个脚本,跟前一章节不一样。
5.1、Ant安装
(1)下载Ant并加压
(2)添加Ant所需依赖包
在Jmeter的extras下找到ant所需的jar包
(3)复制到Ant的lib目录下
(4)配置Ant的环境变量
(5)调试Ant
在cmd命令里输入ant -v 查看ant的版本号
5.2、Jmeter的配置修改
1、修改jmeter.properties文件,增加输入内容
修改bin目录下的jmeter.properties文件,将相关都置为true,以便在详细报告里面能查看到更多数据
2、下载jmeter.results.shanhe.me.xsl样式文件,并放入到extras目录下
此文件是定义详细报告样式的文件。
5.3、编写build.xml
1、Ant脚本简单介绍
Projects
每一个build.xml只有一个Project,Project表示一个工程吧,里面可以知道这个工程的全局属性。这个比较固定,照写就可以。如下:
[html]view plain copy
1.
2.......
3.
4.
熟悉name顺便定义一个就行。basedir指定相对路径的基础,这里是指定了当前路径。default是指如果执行ant时不指定哪一个target时,就使用这个默认的。
Targets
target翻译过来就是目标吧,每一个project都会包含很多的目标,例如编译/compile、执行/run、清理clean、打包/package等等。特别是打包,我们可能要针对不同的客户打不同的包给他们,这时候就显得得心应手了。例子如下:
1.
2.
3.
4.
5.
6.