基于jenkins和jmeter实现接口自动化过程

前面几篇文章中,我们已经了解了jenkins的安装与相关功能配置,那么,今天我们将介绍下如何结合jmeter实现接口自动化的过程。

一、准备工作

1、首先要准备一个可以工作的jmeter脚本,即可以完整的实现一个业务流程的脚本,并上传到svn工程下(以svn为例)。

2、安装插件

HTML Publisher plugin:支持HTML格式的report。 Performance Plugin:该插件集成jmeter的测试报告。 Subversion Plugin:源码管理增加对SVN的支持。

注:从这里了解如何安装插件:jenkins系统管理(一)-管理用户、管理插件

二、创建过程

1、jenkins首页,点击"新建Item",跳转到输入job名称页面,输入job名称,并选择"构建一个自由风格的软件项目",点击“保存”。

2、源码管理:选择"Subversion",Repository URL输入svn url,并选择用户名和密码,其他选项保持默认设置。 注:若没有对应的用户名和密码,则点击‘Add’按钮添加。

3、构建触发器:勾选Build periodically,设置定时自动构建,如下图:

4、构建:这里我们添加一个Execute shell,脚本如下(以Linux环境下为例):

echo "进入我的目录" base_workspace=/root/.jenkins/workspace/test1/project/test1 cd $base_workspace echo "创建日志目录" if [ ! -d "logs" ]; then mkdir logs echo "创建logs目录成功" fi echo "判断logs/result.jtl是否存在,存在则删除之" if [ -f "logs/result.jtl" ]; then rm -rf logs/result.jtl echo "删除result.jtl" fi echo "进入jmeter目录" cd /home/jmeter/apache-jmeter-3.3/bin sh jmeter.sh -n -t $base_workspace/test.jmx -l $base_workspace/logs/result.jtl echo "备份当前执行记录" cp $base_workspace/logs/result.jtl $base_workspace/logs/${REPORT_TIMESTAMP}_${BUILD_NUMBER}.jtl echo "生成html格式报告" tmpl=/home/jmeter/apache-jmeter-3.3/extras/jmeter-results-detail-report_LYM.xsl source_result=$base_workspace/logs/${REPORT_TIMESTAMP}${BUILD_NUMBER}.jtl target_result=$base_workspace/logs/${JOB_NAME}${REPORT_TIMESTAMP}_${BUILD_NUMBER}.html xsltproc $tmpl $source_result > $target_result

5、构建后操作:

1)添加“Publish HTML reports”,填写存放html报告的路径。

2)添加Publish Performance test result report,填写jtl文件路径,并设置各个配置项,如下图:

3、添加Editable Email Notificaion,设置邮件发送,Project Recipient List填写接收邮件的邮箱地址,若填写多个,则用逗号隔开,其他设置项保留默认值。

点击“Advanced Settings”按钮后,展开高级设置页面,设置执行失败或成功发送邮件。

以上设置成功后,点击“保存”即可。

下面我们验证一下结果。。。。

test1 job页面,点击“立即构建”,注意构建历史栏,显示job的构建进度,当进度条执行到100%即构建完成。

控制台显示SUCCESS,则说明构建成功啦。

最后,我们可以通过HTML Report进入查看详细报告。

原文发布于微信公众号 - 开源优测(DeepTest)

原文发表时间:2017-12-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏河湾欢儿的专栏

node初

www.nodejs.org 下载nodejs的安装文件, 然后就直接下一步,下一步,下一步傻瓜式安装 (打开命令符 widow+r 输入cmd) nod...

7610
来自专栏守望轩

Visual Studio 2008 每日提示(二十七)

#261、按Ctrl+Alt+B打开断点窗口 原文链接:You can press Ctrl+Alt+B to open the Breakpoint Win...

33160
来自专栏北京马哥教育

nginx 总结

1. Nginx无法启动解决方法 在查看到logs中报了如下错误时: 0.0.0.0:80 failed (10013: An attempt was made...

48490
来自专栏Pythonista

centos7上使用locate命令

locate(locate) 命令用来查找文件或目录。 locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/l...

14810
来自专栏SpringBoot 核心技术

第二十四章:SpringBoot项目整合JPA多数据源配置

48740
来自专栏散尽浮华

centos下部署redis服务环境的操作记录

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日...

187100
来自专栏大学生计算机视觉学习DeepLearning

mysql安装 2017最新安装mysql教程及遇到的问题解决Windows下

38860
来自专栏菩提树下的杨过

redis 学习笔记(1)-编译、启动、停止

一、下载、编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先到这里下载...

23750
来自专栏北京马哥教育

Gitlab CE 8.1.3 安装手册(Debian/Ubuntu)

安装概述 Gitlab的安装过程主要包括以下组件的配置: 安装软件包及解决依赖项 Ruby环境 Go 系统用户 数据库(Mysql/Postgresql) Re...

36650
来自专栏cnblogs

前端打包成桌面应用、以及chrome扩展

     前段时间在利用工作之余开发了tomato timer这个蕃茄钟,然后部署到github.io上,由于greatway太厉害,偶尔会有打不开的情况。上周...

262100

扫码关注云+社区

领取腾讯云代金券