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

2023-10-29

最近在做接口测试,因为公司有使用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多条接口,有些错误是由于数据库缺表少字段导致、也有些是由于传参不正确导致的异常;如果对接口的参数更了解,知道它们是如何对应到数据库表的字段时,会更为顺利,甚至能够在数据库构造需要的数据。
 下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Jmeter+ant进行接口自动化测试(数据驱动) 的相关文章

随机推荐

  • python优雅地爬虫

    背景 我需要获得新闻 然后tts 在每天上班的路上可以听一下 具体的方案后期我也会做一次分享 先看我喜欢的万能的老路 获得html内容 gt python的工具库解析 获得元素中的内容 完成 好家伙 我知道我爬取失败了 一堆js代码 看得我
  • 操作系统---(32)多级页表及相关计算

    1 一级页表结构 2 多级页表结构 计算 一个由32位二进制组成的地址空间 页面长度为4KB 每个页表项占用4B 则 进程的页面总数可达 2的20次方 1MB个 整个页表最大占用 4MB 页号 页内地址 31 16 11 0 那么问题是 4
  • 邮件

    邮件称呼 注意逗号的位置 Dear Dr Li Dear Professor Liu 不清楚性别 Dear Qi Fei and Dan Dear Mr Li Ms Sun and Ms liu Ms 女士 Mr 先生 Dear Engli
  • 华为云云耀云服务器L实例评测

    文章目录 一 前言 二 云耀云服务器L实例要点介绍 2 1 什么是云耀云服务器L实例 2 1 1 浅析云耀云服务器L实例 2 2 云耀云服务器L实例的产品定位 2 3 云耀云服务器L实例优势 2 4 云耀云服务器L实例支持的镜像与应用场景
  • TCP 报文各字段解析

    目录 1 16位源端口号 2 16位目的端口号 3 16位序号和16位确认序号 4 4位首部长度 5 16位窗口大小 6 16位紧急指针 7 6个标记位 TCP是传输控制协议 TCP对数据传输的控制就要比UDP详细很多了 比如TCP的确认机
  • Stable Diffusion ControlNet 完全指南

    ControlNet 是 Stable Diffusion中的一种扩展模型 通过这种扩展模型 我们能够将参考图像的构图 compositions 或者人体姿势迁移到目标图像 资深 Stable Diffusion 用户都知道 很难精准控制S
  • 阿里大牛亲码 Spring Boot 进阶(全彩版小册)

    什么是 Spring Boot Spring Boot 是 Spring 开源组织下的子项目 是 Spring 组件一站式解决方案 主要是简化了使用 Spring 的难度 简省了繁重的配置 提供了各种启动器 开发者能快速上手 Spring
  • 【ES6】for in 与 for of 的区别

    ES6 for in 与 for of 的区别 一般情况下 for in 用来遍历对象 也可以用来遍历数组 因为 对象和数组都属于 Object对象 for of 用来遍历数组 不能遍历对象 方便理解的小案例 for in 可以遍历循环对象
  • 【React】React组件通信(详解)

    目录 前言 父子组件通信 父子组件案例 props 父传子 props 子传父 非父子组件通信 非父子组件案例 Context跨组件通信 消息订阅 发布机制 redux通信 react redux通信 总结 前言 目前我们所学习到的Vue
  • 亚马逊、ebay、虾皮电商卖家如何做测评,提高店铺排名?

    测评是什么呢 不管是在亚马逊 速卖通 阿里国际 虾皮 Lazada 沃尔玛 美客多 ebay等跨境电商平台 测评都是成本最低且最有效的一种推广方式 通俗来说 测评就是我们常说的好评 差别 买家购买商品后为商品进行服务与综合点评 包括 产品质
  • 计算机桌面怎么全屏显示,电脑显示器如何设置成满屏

    在有些时候我们的网友不清楚电脑显示器如何设置成满屏 那么下面就由学习啦小编来给你们说说电脑显示器设置成满屏的方法吧 希望可以帮到你们哦 电脑显示器设置成满屏的方法 右击桌面 选择弹出对话框中的 屏幕分辨率 如下图 弹出如下对话框 选择对话框
  • Windows平台在线安装Qt 6.0.0图文教程

    0 前言 2020年12月8日Qt官方宣布正式发布Qt 6 0 0 是全新Qt 6系列的首个版本 是Qt的一个重要里程碑 Qt 6 0是Qt 5系列的延续 Qt 6 0将作为Qt的主要版本 为我们提供更高的自由度来实现新特性 功能 以更好地
  • PTP精确时间协议

    Precision Time Protocol PTP IEEE 1588 PTP 是一种高精度时间同步协议 在网络通过同步信号周期性对所有节点时钟校正 PTP一般在硬件级实现的 精度更高 常见的是直接在 MAC 层嵌入时间戳 1588v1
  • python读取文件之with open()

    读写文件是最常见的IO操作 Python内置了读写文件的函数 用法和C是兼容的 open VS with open 目前最常使用的是with open 函数 首先介绍它和open 的区别 open 完成后必须调用close 方法关闭文件 因
  • EasyExcel 百万级别数据高效率导入/导出

    嗨 您好 我是 vnjohn 在互联网企业担任 Java 开发 CSDN 优质创作者 推荐专栏 Spring MySQL Nacos Java 后续其他专栏会持续优化更新迭代 文章所在专栏 业务设计 我当前正在学习微服务领域 云原生领域 消
  • 【vision transformer】DETR原理及代码详解(二)

  • Setting OMP_NUM_THREADS

    Setting OMP NUM THREADS environment variable for each process to be 1 in default to avoid your system being overloaded p
  • K8S集群 NOT READY的解决办法 1.13 错误信息:cni config uninitialized

    今天给同事 一个k8s 集群 出现not ready了 花了 40min 才搞定 这里记录一下 避免下载 再遇到了 不清楚 错误现象 untime network not ready NetworkReady false reason Ne
  • python-什么是数据分析?

    python 什么是数据分析 根据分析目的 用适当的分析方法及工具 对数据进行分析 提取有价值的信息 形成有效结论的过程 数据分析可分为三类 描述性数据分析 从一组数据中可以摘要并且描述这份数据的集中和离散情形 探索性数据分析 从数据中找出
  • 使用Jmeter+ant进行接口自动化测试(数据驱动)

    最近在做接口测试 因为公司有使用jmeter做接口测试的相关培训资料 所以还是先选择使用jmeter来批量管理接口 进行自动化测试 话不多说 进入正题 1 使用csv文件保存接口测试用例 方便后期对接口进行维护 先新建txt文件 然后文件扩