JMeter接口测试之文件上传(参数提取与传递)

参考文档:

Jmeter接口测试-文件上传(全网最详细的教程)_jmeter 文件上传-CSDN博客

1、首先通过fiddler抓取文件上传接口,在Raw的tab页中查看默认请求头以及请求参数 如图所示

2、在jmeter中导入抓取的接口,首先需要配置token传递(有教程不赘述),然后配置默认消息请求头,因为该接口与其它接口的默认请求头不一致最简单的方式就是每个接口配置一个请求头,该上传文件请求头配置如下

如步骤1获取到的接口请求头所示,直接将请求头的信息复制过来即可,但是需要修改获取新的token,以及删除如下图所示的两个请求头,Content-Disposition只需输入form-data; name="file"即可,最终配置如上图所示。

3、接口的默认请求消息头配置完成后m,需要对接口进行配置;首先需要勾选对POST使用multipart/form-data;其次查看fiddler的接口消息头中是否有其他参数如果有则添加在对应的参数/消息体数据中,没有的话就只需要配置文件上传tab,我这边是没有的。只需要配置文件文件上传即可。

4、在文件上传的接口界面,点击文件上传tab,点击浏览在本地选择需要上传的文件,输入参数名以及MIME类型;

file和MIME类型对应关系如下图所示:

参数名称根据fillder中的Content-Disposition: form-data; name="file"; 填写file;MIME类型根据fiddler中的Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document;填写 application/vnd.openxmlformats-officedocument.wordprocessingml.document;

配置完成如图所示:

file和MIME类型对应关系如下图所示

5、上述步骤完成后就可以实现接口上传文件的效果了,这时可以通过添加其他组件来实现接口响应结果的参数传递;我这边一般是用正则表达式提取器,之前token传递教程中有使用,这次就换个组件使用Json提取器。

6、在对应接口下添加JSON提取器,添加步骤如下图所示。

7、添加JSON提前器之后,需要根据该接口的响应数据以及所需要提取的参数对该组件进行配置,接口响应参数如下(使用JSON格式显示);

我这边需要提取接口结果中的createTime;imageUrl;id

8、查看接口响应数据以及找到需要提取的参数后,则需要配置JSON提取器组件,

  8.1:第一行参数名,需要几个参数则写几个参数,直接用;隔开;如:imageUrl;createTime;id

  8.2:第二行提取表达式,有几个参数则需要写几个对应表达式;如:$.data.imageUrl;$.data.createTime;$.data.id      ;$.是固定格式;data代表接口响应数据中的大括号的参数(如步骤7的图中所示);imageUrl则是接口响应数据中所需要抓取的参数值。

   8.3:第三行默认取值范围,都取找到的第一个值 如:1;1;1

   8.4:最后一行则表示默认值,抓取不到数据显示的值,如:error1;error2;error3

   8.5:有几个参数,下方对应必须有几个。如上方,有3个参数名(imageUrl;createTime;id),下方一一对应,每行有3个

9、获取到上传文件响应数据的参数值后,可以将参数传递给与上传文件相关联的添加数据接口。

在对应的参数上填写:${id}  ${imageUrl}  ${createTime};如下图所示

10、在步骤8配置完JSON提取器后可以在该接口下再添加一个JSON断言来判断是否提取到对应的参数值。

11、在JSON断言中配置,根据上传文件接口的响应数据

 "code": 200,来填写,AssertJSON Path exists(JSON断言路径)输入$.code;在Expected Value:输入200

至此上传文件接口以及相关的参数值传递就配置完成了。

下面链接是接口上传图片的相关教程,过程应该是上传文件差不多。

JMeter接口测试之文件上传!_jmeter图片上传(2),2024年最新被大佬问到自闭_jmeter 文件上传-CSDN博客

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

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

相关文章

新书速览|深入理解Hive:从基础到高阶:视频教学版

《深入理解Hive:从基础到高阶:视频教学版》 本书内容 《深入理解Hive:从基础到高阶:视频教学版》采用“理论实战”的形式编写,通过大量的实例,结合作者多年一线开发实战经验,全面地介绍Hive的使用方法。《深入理解Hiv…

AI算法18-最小角回归算法Least Angle Regression | LARS

​​​ 最小角回归算法简介 最小角回归(Least Angle Regression, LAR)是一种用于回归分析的统计方法,它在某些方面类似于最小二乘回归,但提供了一些额外的优点。最小角回归由Bradley Efron等人提出,主要用于处理具有…

【Linux】安装PHP扩展-redis

说明 本文档是在centos7.6的环境下,安装PHP7.4之后,安装对应的PHP扩展包redis。 一、下载redis扩展 pecl官方地址:PECL :: The PHP Extension Community Library 下载的版本是:redis-5.3.7.tgz 二、安装redis扩展 1.上传 redis 压缩包到…

【嵌入式DIY实例-ESP8266篇】-LCD ST7789显示DS1307 RTC时间数据

LCD ST7789显示DS1307 RTC时间数据 文章目录 LCD ST7789显示DS1307 RTC时间数据1、硬件准备与接线2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS1307 RTC 集成电路构建简单的实时时钟和日历 (RTCC),其中时间和日期打印在 ST7789 TFT 显示模块上。 ST7789 TFT 模块包…

【海外云手机】静态住宅IP集成解决方案

航海大背景下,企业和个人用户对于网络隐私、稳定性以及跨国业务的需求日益增加。静态住宅IP与海外云手机的结合,提供了一种创新的集成解决方案,能够有效应对这些需求。 本篇文章分为三个部分;静态住宅优势、云手机优势、集成解决…

gemini-pro-vision 看图说话

一、安装 pip install -U langchain-google-vertexai 二、设置访问权限 申请服务账号json格式key 三、完整代码 import gradio as gr import json import base64 from pathlib import Path import os import time import requests from fastapi import FastAPI, UploadFile,…

K8S私有云裸金属服务器负载均衡器OpenELB——筑梦之路

OpenELB介绍 OpenELB 是一个专为裸机 Kubernetes 集群设计的开源负载均衡器实现。 在云服务环境中的 Kubernetes 集群里,通常可以用云服务提供商提供的负载均衡服务来暴露 Service,但是在本地没办法这样操作。而 OpenELB 可以让用户在裸金属服务器、边缘…

RocketMQ~架构与工作流程了解

简介 RocketMQ 具有高性能、高可靠、高实时、分布式 的特点。它是一个采用 Java 语言开发的分布式的消息系统,由阿里巴巴团队开发,在 2016 年底贡献给 Apache,成为了 Apache 的一个顶级项目。 在阿里内部,RocketMQ 很好地服务了集…

怎么关闭Windows安全中心?

Windows安全中心是Windows操作系统中的一项重要功能,系统提供这个功能的目的是保护电脑免受各种安全威胁。尽管如此,有时候我们可能出于某些原因需要关闭它。本文将详细介绍如何关闭Windows安全中心,以及需要注意的事项。 重要提醒&#xff1…

搞清c++中的队列(queue)以及双端队列(deque),以及常用的接口!

1. 队列 概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口 特征: 队列容器允许从一端新增元素,从另一端移除元素 队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为 队列…

这个工具居然能让你的微信暴露得一览无余!!

今天在github看到一个不错的项目,叫做wx-dump-4j,不看不知道,一看吓一跳,这个工具完全的解析了我的微信!这个工具准确显示好友数、群聊数和当日消息总量,并且!!这个工具提供过去15天…

第59期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

【排序算法】1.冒泡排序-C语言实现

冒泡排序(Bubble Sort)是最简单和最通用的排序方法,其基本思想是:在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数,否则不交换;如此下去,直…

学习Python的IDE功能--(一)入门导览

项目视图是主要工具窗口之一。它包含项目目录、SDK 特定的外部库和临时文件。点击带条纹的按钮可以预览演示项目。您也可以按Alt1打开。点击以打开项目视图,展开项目目录以查看项目文件。双击以打开welcome.py。 切换到"学习"工具窗口继续学习本课次。…

Django F()函数

F()函数的作用 F()函数在Django中是一个非常强大的工具,主要用于在查询表达式中引用模型的字段。它允许你在数据库层面执行各种操作,而无需将数据加载到Python内存中。这不仅提高了性能,还允许你利用数据库的优化功能。 字段引用 在查询表达…

VMware安装CentOS 7

在虚拟机中安装无论是Windows还是Linux其实都差不多,主要还是需要熟悉VMware的使用,多新增几次就熟悉了,可以反复删除再新增去练习… 如下是安装CentOS 7 安装过程: VMare Workstation 16 PRO 中安装CentOS 7 CentOS 7 下载推荐…

数据结构之栈的实现与排序详解与示例(C, C#, C++)

文章目录 栈的基本操作栈的排序总结 栈是一种后进先出(Last In First Out, LIFO)的数据结构。在栈中,元素的插入和删除操作都发生在同一端,即栈顶。本文将详细介绍如何实现栈的排序,并提供C, C#, C三种语言的示例。 栈…

【46 Pandas+Pyecharts | 当当网畅销图书榜单数据分析可视化】

文章目录 🏳️‍🌈 1. 导入模块🏳️‍🌈 2. Pandas数据处理2.1 读取数据2.2 查看数据信息2.3 去除重复数据2.4 书名处理2.5 提取年份 🏳️‍🌈 3. Pyecharts数据可视化3.1 作者图书数量分布3.2 图书出版年份…

JVM--垃圾收集算法

1.分代收集理论 垃圾收集算法可以划分为“引用计数式垃圾收集”(ReferenceCounting GC)和“追踪式垃圾收集”(Tracing GC)两大类,本次仅仅讨论踪式垃圾收集 谈到垃圾收集 ,首先先了解分代的收集理论&#x…

Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验

title: Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验 date: 2024/7/16 updated: 2024/7/16 author: cmdragon excerpt: 摘要:“Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验”介绍如何使用useHead函数…