首页 > 其他分享 >基于jenkins和jmeter实现接口自动化过程

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

时间:2023-05-16 20:31:29浏览次数:47  
标签:logs 接口 jtl base result workspace jenkins jmeter



声明

        本公众号所有内容,均属微信公众号: 开源优测  所有,任何媒体、网站或个人未经授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本公众号协议授权的媒体、网站,在使用时必须注明"稿件来源微信公众号:开源优测",违者本公众号将依法追究责任。

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

一、准备工作

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

基于jenkins和jmeter实现接口自动化过程_大数据

2、安装插件

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

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

二、创建过程

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

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

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

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

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

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

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

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

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报告的路径。

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

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

基于jenkins和jmeter实现接口自动化过程_大数据_07

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

基于jenkins和jmeter实现接口自动化过程_大数据_08

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

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

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

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

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

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

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

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

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

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

开源优测


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

长按二维码/微信扫描 关注开源优测

QQ群:260407012


标签:logs,接口,jtl,base,result,workspace,jenkins,jmeter
From: https://blog.51cto.com/deeptest/6286985

相关文章

  • Jenkins集成SonarQube
     (1)在Jenkins中下载sonar插件系统管理-->插件管理-->可选插件搜索SonarQube-->安装插件(2)配置SonarQubeservers模块并生成token安装完成后,在系统管理->系统设置中,找到SonarQubeservers模块,填写服务器信息,如下图所示: 先生成sonar令牌,添加凭据托管   配置SonarQubeserv......
  • Jenkins 安装部署全过程
    一、Jenkins简介Jenkins是一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务。官方网站:https://jenkins.io/ 二、Jenkins安装部署(1)安装JDK(2)下载Jenkins下载地址:http://mirrors.jenkins-ci.org/基于Linux系统部署:rpm-ivhxxx.rpmservicejenkinsstart......
  • Jmeter性能测试知识点
    性能测试一、测试理论:1. 性能指标概念:①吞吐量:每秒服务器处理请求个数和事务数②响应时间:一个任务(事务)完成所花费的时间③并发数:同时操作的用户个数④最大并发数:在给定的预期平均响应时间下,系统最多能支持多少个并发用户。这个数据就是实际可以同时使用系统的用户数⑤TPS:......
  • 08-接口自动化框架-源码
     原文链接:https://www.cnblogs.com/xiehong/p/14841538.html前言:以前弄过好多接口自动化框架的东西,比如httprunner2.0版本实现的接口自动化框架,还有httprunner3.X实现的接口自动化框架,这些都是开源的,实现起来比较简单。以及使用python+unittest+ddt+yaml等工具实现的接口自动......
  • 淘宝详情接口的实际应用
    淘宝详情接口是平台提供的API接口之一,通过该接口可以获取淘宝商品的详细信息,包括商品标题,描述,价格,图片,运费等信息。淘宝详情接口的实际应用非常广泛,主要包括以下几个方面:1.商家用于展示商品信息淘宝详情接口可以被用于商家的自主店铺或第三方电商平台上,方便展示商品详细信息。商......
  • 07-为什么要做接口自动化测试
    目前系统研发多为前后端分离,当后端接口研发完成后,可以不依赖前端界面通过接口测试提前发现问题并解决。同时由于软件迭代周期不断缩短,开发新功能后又担心影响原有功能,可以通过接口自动化进行原有功能快速回归测试,将更多精力专注于迭代功能测试,这样才能放心地发布产品。由此看来,接......
  • 接口优化
    一、背景针对老项目,去年做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案。二、接口优化方案总结1.批处理批量思想:批量操作数据库,这个很好理解,我们在循环插入场景的接口中,可以在批处理执行完成......
  • AI智慧安监平台EasyCVR调用编辑通道接口,录像计划却被删除是什么原因?
    EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。为了便于用户集成与二次开发的需求,我们也提供了丰富的API接......
  • 接口被占用的解决方法
    参考网址:【Webserverfailedtostart.PortXXXwasalreadyinuse.原因分析-解决方案】_硕风和炜的博客-CSDN博客一.Webserverfailedtostart.PortXXXwasalreadyinuse出错原因分析端口被占用了,我们只需要换一个端口就可以了,如果就想要用特定的端口,我们需要使用下面......
  • 浅谈接口测试及常用工具介绍
    前言目前软件测试行业做功能测试和接口测试的人相对比较多。API测试是一种作为集成测试的一部分、通过直接控制被测应用的接口(API)来确定是否在功能、可靠性、性能和安全方面达到预期的软件测试活动。由于API都没有GUI界面,API测试都是在通讯层进行的。现在API测试在自动化......