>[info] 让我们将Jmeter与jenkins结合,实现接口自动化持续集成测试案例
[TOC]
<br>
### 一、准备JMeter 测试计划 mock_api.jmx
接口准备:http://10.1.102.75:8000/mock/api/jmeter
![](https://box.kancloud.cn/4f5abd2dc62a15cbb898a84252db0344_437x119.jpg)
![](https://box.kancloud.cn/247171d8a3d2dfed0d4667b5834d5fd7_900x532.jpg)
![](https://box.kancloud.cn/2a110936d9d5e95c25fc62c1fd81c948_904x367.jpg)
![](https://box.kancloud.cn/10db7c0e0a9cce57d33b8a4c4fb5a20b_903x363.jpg)
### 二、jenkins 插件准备
**Performance Plugin**:可以将测试结果的log以图表的形式整合到Jenkins中,还能根据测试结果的错误率与波动率修改Jenkins的job状态。
**HTML Publisher plugin**:可以让我们方便的在Jenkins中直接打开Jmeter的结果进行查看
**Groovy Postbuild**:添加构建列表显示内容,如本例中显示当次构建时的线程数。
![](https://box.kancloud.cn/cf84ae8f1daaa9a9d9d969a8423b052a_995x236.jpg)
![](https://box.kancloud.cn/8234e5aa400ad57616957700a6d01d17_989x280.jpg)
![](https://box.kancloud.cn/74359f69ffc47dd6235ffb7ba684c965_989x255.jpg)
### 三、创建jenkins job
![](https://box.kancloud.cn/fd30392303dadf6571a179c7ac338c4a_958x773.jpg)
![](https://box.kancloud.cn/73467a9940a5c3c332908c5b6cb3923d_957x769.jpg)
*命令:*
```cmd
jmeter -n -t D:\jmeter_workspace\mock_api.jmx -l mock_api.jtl -JthreadCount=%threadCount% -JloopCount=%loopCount% -e -o output
```
(注意,这里我在jenkins机器中已经配置好了jmeter环境变量)
![](https://box.kancloud.cn/d392f1e711a41075f20026dd3fd9928a_957x324.jpg)
*Groovy Script:*
```cmd
def threadCount= manager.build.buildVariables.get("threadCount")
manager.addShortText("thread: " + threadCount)
```
![](https://box.kancloud.cn/1695126c6d4e9ee3a80440ed82c0633b_958x286.jpg)
![](https://box.kancloud.cn/ba4a717df6a9d7c4c33bca14537750e5_956x771.jpg)
### 四、构建结果
![](https://box.kancloud.cn/a561ae0fe9438ada30e7b2d6ba423888_1426x658.jpg)
![](https://box.kancloud.cn/303f670f6399902bbcf19085f14ab2ae_1221x647.jpg)
![](https://box.kancloud.cn/186dabd92bad3d8aefda32fa52c331be_1428x784.jpg)
(注意:在jenkins中使用html publisher查看html报告时,由于安全限制,无法加载css,js等,会显示的html报告样式不正确,解决方法是:在jenkins系统管理中输入以下脚本)
```cmd
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
```
<hr style="margin-top:100px">
:-: ![](https://box.kancloud.cn/331f659e8e6cddb0d9f182e00e32803f_258x258.jpg)
***微信扫一扫,关注“python测试开发圈”,获取更多测试开发分享!***
- 前言
- Fiddler01-抓包原理介绍与配置
- Fiddler02-菜单功能介绍
- Fiddler03-轻松玩转Fiddler
- Fiddler04-进阶使用FiddlerScript
- Fiddler05-使用FiddlerScript对微信文章互动量进行监控
- Postman01-介绍与安装
- Postman02-HTTP请求与响应
- Postman03-Collection管理与运行
- Postman04 -变量详解
- Postman05-初级脚本使用
- Postman06-实例小结篇
- JMeter01-JMeter就是这么简单
- JMeter02-一个完整实战包你学会使用JMeter
- JMeter03-在JMeter中使用BeanShell编程
- JMeter04-图形化和非图形化运行JMeter
- JMeter05-生成美观的HTML测试报告
- JMeter06-JMeter+Jenkins实战
- JMeter07-解析session与cookie