jmeter接口自动化测试框架

 接口测试可以分为两部分:

一是线上接口(生产环境)自动化测试,需要自动定时执行,每5分钟自动执行一次,相当于每5分钟就检查一遍线上的接口是否正常,有异常能够及时发现,不至于影响用户使用。

二是测试环境的接口自动化测试,测试时机可以是1、功能开发完成并提测,检查一边测试环境的所有接口是否正常,有异常则需要解决后再正式介入测试。2、测试完成上线发版前,检查一边测试环境的所有接口是否正常,有异常则需要解决后再上线发版。

jmeter是Apache的一个用java写成,用来做接口测试和压力测试的工具,有gui界面,因为是纯java的,所以可以跨平台使用(只要有java环境就可以),jmeter已经把做接口测试的各种方法封装的很完善稳定,所以我们可以直接用来做接口自动化测试,不需要自己再去封装各种请求、断言、结果处理等等方法。相当于把jmeter的脚本当作接口测试用例管理工具,在脚本里面把要测试的接口、断言都写好。

基于jmeter做接口自动化框架包括以下几个部分:

jmeter+jenkins+github+钉钉机器人+tomcat+shell脚本+java程序

包含了这些功能后,几乎大部分都可以自动化,手工需要做的事情就只有第三步:写接口用例并推送到github

步骤大致是这样:用jmeter写接口—推送到GitHub—jenkins定时自动执行测试(从GitHub拉取最新脚本—执行shell脚本—执行java代码,处理统计结果,发送报告)

以下是框架具体步骤:

一、多人协作就需要github来管理,在github新建仓库,用于存放jmx脚本

二、每个测试人员需要下载sourcetree,在本地新建本地仓库,并关联github远程仓库

三、将各自写好的jmx脚本放到本地仓库,提交并推送到github

四、在服务器上部署jenkins

1、配置git源代码管理,如果远程仓库是私有类型的,则需要配置证书或账号密码(每次构建测试时,jenkins都会检查远程仓库是否有更新脚本,有更新就拉最新的脚本来测试,这样也方便修改被测脚本)

2、设置定时自动构建,下面是每天的8点到23点,每5分钟构建一次

3、设置超时管理,为了不影响下一次构建

4、配置要执行的shell脚本

5、配置构建失败通知钉钉

五、在服务器配置tomcat环境(如果是win服务器,最好用服务的形式安装tomcat)

------linux配置tomcat环境-----

1、下载Core下的zip包,解压到linux的目录

2、到bin目录下给catalina.sh和startup.sh赋予chmod 777权限,或者给全部sh文件赋予最高权限chmod 777 *.sh

3、sh startup.sh启动,在浏览器中输入http://10.10.10.115:8080/出现tomcat页面表示启动成功

注意:如果访问不成功,如果我们想在本机中检测是否已经成功部署,那么我们必须关掉Linux中的防火墙或者开放8080端口,我在这里采用开放端口的方法。

4、用指令sh shutdown.sh停止tomcat的运行,继续进行后续操作

5、查看防火墙是否开启:systemctl status firewalld

未开启:Active: inactive (dead)

已开启:Active: active (running)

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理:https://blog.csdn.net/ViJayThresh/article/details/81284007

开启防火墙:systemctl start firewalld

关闭防火墙:systemctl stop firewalld

执行开机禁用防火墙自启命令  : systemctl disable firewalld.service

开放端口号:firewall-cmd --permanent --zone=public --add-port=8080/tcp(只能在防火墙开启的情况下开放端口)

6、将要查看的文件放到webapps/ROOT/re.html这里,浏览器直接访问http://10.10.10.115:8080/re.html就可以看到了

------windows配置tomcat环境-----

1、下载安装程序

2、双击exe文件安装-选择jre目录-选择tomcat安装目录-选择端口(默认8080可修改)

在tomcat/bin目录双击startup.bat启动服务

或者

双击Tomcat9w.exe-start

3、不用配置环境变量,但是需要关闭win防火墙

https://jingyan.baidu.com/article/17bd8e52083ce685ab2bb839.html(win关闭防火墙的方法)

六、在服务器配置jmeter环境

需要两个jmeter环境,jmeter1用来收集jtl结果和生成报告,不需要改参数。jmeter2需要收集xml日志,把jmeter/bin/user.properties文件在结尾新增参数

jmeter.save.saveservice.output_format=xml

jmeter.save.saveservice.response_data=true

jmeter.save.saveservice.samplerData=true

jmeter.save.saveservice.requestHeaders=true

jmeter.save.saveservice.url=true

jmeter.save.saveservice.responseHeaders=true

七、shell脚本,包括以下几个步骤

删除上次的测试结果

在tomcat目录中新建index文件夹,用于存放本次测试结果

挨个执行jmx脚本(每个脚本需要执行两次,第一次收集jtl结果和生成报告,第二次收集xml日志,将报告、xml日志文件放到tomcat的目录下)

执行java程序

八、java程序(框架核心),把写好的java代码打成一个可执行jar包,让shell来调用,需要包含以下功能

1、用时间戳重命名index文件夹,保证每次的结果目录不会覆盖

2、把xml日志文件cope到index下面

3、统计fail接口数量

4、收集fail接口的信息

5、将信息写成html页面报告,并放到tomcat目录下,同时用同一个时间戳生成报告的url

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器病毒木马通用排查处理应急响应流程

目录 一、勒索病毒发作的特征 二、勒索病毒的应急响应 三、勒索病毒预防与事后加固 一、勒索病毒发作的特征 如果发现大量统一后缀的文件;发现勒索信在Linux/home、/usr等目录,在Windows 桌面或者是被加密文件的文件夹下。如果存在以上特…

四十八岁男子心慌心悸,失眠,喉咙有异物,刘家峰告诉你怎么办!

植物神经功能紊乱,通常简称为植物神经紊乱,是一种涉及自主神经系统的失调疾病。自主神经系统负责控制人体内许多自动功能,如心率、血压、消化和体温调节。植物神经功能紊乱是指由于自主神经系统失衡导致的一系列症状和体征的综合症。 植物神经…

windows DCMTK编译使用(qt) 医学图像

由于项目需要生成DICOM格式的图片,需要使用到第三方开源库DCMTK,于是研究了一番,该库是C编写的,DICOM主要用于医疗体系中,除了可以保存图片信息外,还可以储存患者信息,病例信息,医疗…

【Emgu CV教程】10.2、轮廓之外接矩形、面积计算

文章目录 一、轮廓的外接矩形二、轮廓的面积三、两个函数的简单应用1.原始素材2.代码3.运行结果 一、轮廓的外接矩形 轮廓的外接矩形,函数是: public static Rectangle BoundingRectangle (IInputArray points // 输入的轮廓 )函数返回的是一个矩形&am…

unity3d——沙盒路径

文章目录 Unity3D中不同平台的沙盒路径: 示例 在Unity3D中,尤其是在移动平台如Android和iOS上,由于系统安全机制,应用程序不能直接访问操作系统的所有文件和目录,而是被限制在一个特定的“沙盒”环境中。这个沙盒是一个…

宜搭低代码高级认证实操题1 todolist

进行中待办 已完成待办 待办事项 待办事项远程api和变量配置 回调函数 function didFetch(content) {//console.log(content.data);// content.b = 1; 修改返回数据结构中的 b 字段为1let res = content.data;let todoList = [];for(let i in res){todoList.push(res[i]);}con…

K8S Storage

概述 一般情况下,K8S中的Pod都不应该将数据持久化到Pod中,因为Pod可能被随时创建和删除(扩容或缩容),即便是StatefulSet或Operator的Pod,也都不建议在Pod里存放数据,可以将数据持久化到Host上。…

深入剖析Java并发库(JUC)之StampedLock的应用与原理

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在现代多核处理器架构下,并发编程成为提升程序性能的关键手段。Java作为一门广泛使用的编程语言,提供了丰…

服务器数据恢复—光纤环境互斥不当导致存储VMFS卷损坏的数据恢复案例

服务器数据恢复环境&故障: 某公司的信息管理平台,通过3台虚拟机共享了一台存储设备供企业内部使用,存储设备中存放了公司内部重要的数据文件。 由于业务增长的需要,管理员又在这个存储网络上连接了一台Windows server服务器&a…

QT+GDAL实现影像的读取和显示

详细流程参考https://blog.csdn.net/deirjie/article/details/37872743 代码 //open_image.h #pragma once #include <QtWidgets/QMainWindow> #include "ui_open_image.h" #include "gdal_priv.h" #include <QMessageBox> #include <QFi…

专题一——双指针算法

原理&#xff1a;将数组进行区间划分&#xff0c;通过指针(下标)的移动实现题目所要求的区间&#xff08;数组分块&#xff09; &#xff08;实现代码统一是C&#xff09; 建议在做题与看题解时要自己反复模拟这个实现的过程&#xff0c;以后在做题做到类似的题才能举一反三&am…

git基础-记录对仓库的更改

记录对仓库的更改 到目前为止&#xff0c;我们应该在本地计算机上拥有一个真正的 Git 仓库&#xff0c;并且拥有所有文件的一个检出或工作副本。通常&#xff0c;我们会想要开始进行更改&#xff0c;并在项目达到想要记录的状态时&#xff0c;将这些更改的快照提交到我们仓库中…

【数字图像处理系列】读取图像

【数字图像处理系列】读取图像 使用函数 imread 可以将图像读人 MATLAB 环境&#xff0c;imread 的语法为 imread(filename)其中&#xff0c;filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。例如&#xff0c;命令行 >>f imread(pout.tif)将tif图像po…

【面试经典150 | 数组】分发糖果

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;贪心两次遍历 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结构等内容…

慧哥充电桩平台 二轮电动自行车 四轮汽车 云快充1.5 云快充1.6

文章目录 一、产品功能部分截图1.手机端&#xff08;小程序、安卓、ios&#xff09;2.PC端 二、小程序体验账号以及PC后台体验账号1.小程序体验账号2.PC后台体验账号关注公众号获取最新资讯 三、产品简介&#xff1f;1. 充电桩云平台&#xff08;含硬件充电桩&#xff09;&…

Redis相关操作高阶篇--集群搭建

Redis相关操作大全一篇全搞定-CSDN博客 Redis集群 是一个由多个主从节点群组成的分布式服务器群&#xff0c;它具有复制、高可用和分片特性。Redis集群不需要seninel哨兵也能完成节点移除和故障转移的功能。需要将每个节点 设置成集群模式&#xff0c;这种集群模式没有中心节…

vulnhub打靶记录——Mycmsms

文章目录 一、环境布置主机发现 二、端口扫描nikto基本探测目录扫描CMS EXP搜索探查mysql数据库CMS代码审计CMS后台权限提升 一、环境布置 靶机在virtualbox中搭建&#xff0c;攻击机使用vmware中安装的kali&#xff0c;主要是解决kali能ping通靶机&#xff0c;同时能访问外网…

Qt扫盲-D-Bus调试工具

D-Bus调试工具 一、概述二、安装d-feet三、使用d-feet 一、概述 在调试D-Bus时&#xff0c;如果只是在命令行下使用&#xff0c;效率并不是很高&#xff0c;我们可以使用更加直观的GUI工具来查看&#xff0c;我推荐使用 d-feet工具&#xff0c;这个能直观的查看系统总线和会话…

企业异地组网的挑战与解决方案

在当今互联的商业环境中&#xff0c;建立跨越不同地点的网络变得至关重要。本文将探讨企业异地组网的复杂性&#xff0c;并提供实用解决方案以应对这些挑战。通过了解创新技术如SD-WAN和网络安全措施&#xff0c;确保企业异地组网在性能和数据完整性方面的最佳表现。 由于距离和…

用例图画法

介绍 在软件工程中&#xff0c;用例图是一种用于描述系统功能和与之交互的参与者&#xff08;Actors&#xff09;之间关系的图形表示方法。 绘图步骤 确定参与者&#xff08;Actors&#xff09;&#xff1a;识别系统中的各个参与者&#xff0c;这些参与者可以是人、其他系统或外…