多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
>[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测试开发圈”,获取更多测试开发分享!***