使用Jmeter+ant进行接口自动化测试(数据驱动)

2023-09-15 20:05:17

最近在做接口测试,因为公司有使用jmeter做接口测试的相关培训资料,所以还是先选择使用jmeter来批量管理接口,进行自动化测试。话不多说,进入正题:

1.使用csv文件保存接口测试用例,方便后期对接口进行维护(先新建txt文件,然后文件扩展名改为.csv,不要新建xls再改为csv,不然会出现读取不到文件的情况)

注意:这里并没有在接口层面进行业务逻辑验证,只是单纯地验证每个接口的各种可能情况(根据参数值不同设计用例),确保单个接口的有效性

2.写好测试用例后,设计jmeter脚本

①新建一个线程组,并在线程组下添加HTTP请求默认值和监听器

HTTP请求默认值中填写服务器的ip和端口号

②在线程组下添加一个循环控制器,循环次数设置为永远(对测试用例进行遍历)

 ③循环控制器下添加CSV Data Set ConFig控件(读取csv文件中的数据)

 ④循环控制器下添加 “如果(If)控制器”,对用例优先级的进行筛选

注意:条件那里的写法  "${priority}"=="H",priority即为csv文件中定义的用例优先级那一列

⑤根据优先级判断用例是否执行后,在第四步的 “如果(If)控制器”下再添加2个“如果(If)控制器”,用以区分执行POST请求和GET请求

⑥POST请求的配置

在POST请求的 “如果(If)控制器” 下添加一个HTTP请求

 

⑦GET请求的配置

在GET请求的 “如果(If)控制器” 下添加一个HTTP请求

 ⑧在post请求和get请求下分别配置响应断言

脚本到这里就设计完成了,接下来就可以执行测试了

 在这次接口测试过程中花费时间较多的是测试用例的编写,因为在编写每一条用例时都要调一下接口,查看返回值是什么,如何传参等等,大概有270多条接口,有些错误是由于数据库缺表少字段导致、也有些是由于传参不正确导致的异常;如果对接口的参数更了解,知道它们是如何对应到数据库表的字段时,会更为顺利,甚至能够在数据库构造需要的数据。

如果你正在自学建议你看下这个视频,我也是从零基础学起的强烈推荐这个视频

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

更多推荐

JUC下的异步编程工具使用详情以及源码分析(FutureTask、CompletableFuture)

异步编程一、FutureTask应用&源码分析1.1FutureTask介绍FutureTask是一个可以取消异步任务的类。FutureTask对Future做的一个基本实现。可以调用方法区开始和取消一个任务一般是配合Callable去使用异步任务启动之后,可以获取一个绑定当前异步任务的FutureTask可以基于Fu

RK3568开发笔记(八):开发板烧写buildroot固件(支持hdmi屏),搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试

若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132826197红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…瑞芯微开

QT JSON数据格式讲解

文章目录前言一、JSON是什么二、JSON在线解析三、QT中的JSON类四、构建JSON字符串五、解析JSON数据六.核心类QJsonDocument类详解总结前言本篇文章开始带大家学习一下什么是JSON,并且学习QT当中的JSON使用。一、JSON是什么JSON(JavaScriptObjectNotation)是一

Spring-AOP+入门案例(注解)+AOP切入点语法+AOP通知类型

一、简介+工作流程。简介SpringAop实际上就是代理模式工作流程二、导入依赖1.spring-aop包该包是在spring-context依赖下的子包,所以有context就有aop<dependency><groupId>org.springframework</groupId><artifactId>sprin

Qt day2

作业:点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮ok和cancel,点击ok后,会清除密码框中的内容,继续进行登录;如果点击cancel按钮,则关闭界面。如果账号和密码匹配,则弹出信息对话框,给出提示信息为

面试算法3:前n个数字二进制形式中1的个数

题目输入一个非负数n,请计算0到n之间每个数字的二进制形式中1的个数,并输出一个数组。例如,输入的n为4,由于0、1、2、3、4的二进制形式中1的个数分别为0、1、1、2、1,因此输出数组[0,1,1,2,1]。分析1很多人在面试的时候都能想到直观的解法,使用一个for循环来计算从0到n的每个整数i的二进制形式中1的个

模拟实现C语言--memcpy函数和memmove函数

模拟实现C语言–memcpy函数和memmove函数文章目录模拟实现C语言--memcpy函数和memmove函数一、memcpy函数和memmove函数1.1memcpy函数是什么1.1memmove函数是什么二、使用示例2.1从起始位置复制2.2从任意位置复制三、模拟实现3.1模拟实现1--memcpy函数3.2针

MySQL数据库——索引(2)-B+Tree、Hash结构,索引分类(聚集索引、二级索引)

目录索引结构(2)B+TreeHash思考索引分类索引分类聚集索引&二级索引查找过程思考索引结构(2)B+TreeB+Tree是B-Tree的变种,我们以一颗最大度数为4的b+树为例,来看一下其结构示意图:我们可以看到两部分:绿色虚线圈起来的部分,是所引部分,仅仅起到索引数据的作用,不存储数据。红色虚线圈起来的部分,是

什么是HTML?

互联网上的应用程序被称为Web应用程序,Web应用程序使用Web文档(网页)来表现用户界面,而Web文档都遵循标准HTML格式。HTML5是最新的HTML标准。之前的版本HTML4.01于1999年发布。20多年过去了,互联网已经发生了翻天覆地的变化,原有的标准已经不能满足各种Web应用程序的需求。本篇带大家一起了解H

CSP-J 2023 入门级 第一轮 阅读程序(3)

【题目】CSP-J2023入门级第一轮阅读程序(3)#include<iostream>#include<cmath>usingnamespacestd;intsolve1(intn){returnn*n;}intsolve2(intn){intsum=0;for(inti=1;i<=sqrt(n);i++){if(n

Flutter插件开发流程

本文主要给大家介绍如何开发FlutterPlugin中Android的部分。有关Flutter以及FlutterPlugin的概念,感兴趣的可以从官网查看相关资料。一、简介笔者的环境是Mac下AndroidStudio进行的开发,AS也是谷歌官推的,安装flutter插件后,开发起来相对于其他IDE来说,方便很多,自带

热文推荐