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

news/2024/8/31 17:21:30 标签: 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.niftyadmin.cn/n/5561497.html

相关文章

Spring Boot(概要 入门 Spring Boot 核心配置 YAML JSR303数据校验 )

目录 一、Spring Boot概要 1. SpringBoot优点 2. SpringBoot缺点 二、Spring Boot入门开发 1. 第一个SpringBoot项目 项目创建方式一:使用 IDEA 直接创建项目 项目创建方式二:使用Spring Initializr 的 Web页面创建项目 (了解&#x…

大数据量接口响应慢-传输优化

问题 接口一次性返回大量数据,导致JSON数据大小过大,带宽大小不足,导致接口响应时间过长 解决方案 通过数据传输压缩来降低传输数据的大小,从而提高传输效率 服务器端压缩 springboot项目配置application文件,通过…

PyTorch高级特性与性能优化

PyTorch高级特性与性能优化 引言: 在深度学习项目中,使用正确的工具和优化策略对于实现高效和有效的模型训练至关重要。PyTorch,作为一个流行的深度学习框架,提供了一系列的高级特性和性能优化方法,以帮助开发者充分利…

python入门课程Pro(1)--数据结构及判断

数据结构及判断 第1课 复杂的多向选择1.if-elif-else2.if嵌套3.练习题(1)大招来了(2)奇数还是偶数(3)简洁代码 第2课 数据与判断小结1.变量2.格式化输出3.逻辑运算-或与非4.判断条件5.练习题(1&…

HTML5 Input 验证身份证

HTML5 Input 验证身份证 背景介绍 在许多网站或应用程序中,我们常常需要验证用户输入的身份证号码的有效性。HTML5为我们提供了一种简单而有效的方法来验证身份证号码的格式。本文将介绍如何使用HTML5的input元素来验证身份证号码,并提供相应的代码示例。…

spring boot(学习笔记第十三课)

spring boot(学习笔记第十三课) 传统后端开发模式和前后端分离模式的不同,Spring Security的logout,invalidateHttpSession不好用,bug? 学习内容: 传统后端开发模式 vs 前后端分离模式Spring Security的logout功能inv…

C#的class类

文章目录 类Class类的定义C#中的构造函数C#析构函数C#静态成员 结构体与类的区别 类Class 类的定义 以关键字class开始,后跟类的名称、类的主体。 class className { ​ variable1; ​ variable2; ​ …… ​ variableN; ​ ​ method1(parameterList) { …… } ​…

如何为游戏本地化选择语言

为游戏本地化选择合适的语言是一个至关重要的决定,它会极大地影响您的游戏在国际市场上的成功。适当本地化的游戏可以接触到更广泛的受众,提高玩家满意度,并促进销售。以下是在决定将游戏本地化为哪种语言时需要考虑的一些关键因素&#xff1…