java 上传文件_上传下载文件接口测试

news/2024/7/5 20:50:00
9aaeae6210dc1a702583833de7cb32e5.png 简介 在做接口测试的过程中,我们会遇到需要处理文件上传和下载的情况,我们可以使用Jmeter来完成文件的上传下载处理,本文提供两个小示例来展示如何使用Jmeter完成文件上传和文件下载并保存的功能 首先来看看普通的Http接口请求的过程: 填写服务器环境信息 填写接口请求方法和接口路径 填写参数信息 发送请求 接受响应 文件处理上传 文件上传的处理完全遵循上述流程,只需要在步骤3中去申明请求的类型是multipart/form-data和相应的Content-Type multipart/form-data是Http协议规定的一种表单类型 ,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。 既可以上传键值对,也可以上传文件。 当上传的字段是文件时,会有Content-Type来表明文件类型 Content-Type: 互联网媒体类型; 也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息,可以是: image/gif : gif图片格式   application/pdf : pdf格式 application/msword: Word文档格式 application/octet-stream: 二进制流 binary:相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件 示例:上传图片到baidu实现baidu搜图 在HttpSampler里,正常填写请求参数 d4c7adf7228e37e8e4e9cdf2e1749c1f.png 切换到File Upload 参数页,填写文件路径和MimeType(Content-Type)即可 b2b991624fcde4ac9d800ab949dc59f8.png 运行脚本,查看请求数据,图片被以二进制形式的表单参数传递到服务器 22fff759c9dcd52e87d4d37dd6bd14b8.png 成功返回响应结果 ec0286b42ea79dd4665f42c97ac1d046.png 文件下载处理 文件下载的步骤也和普通的Http请求一样,只不过返回的是二进制的文件流,需要额外添加请求后置处理器去保存文件到本地电脑上,此处可以通过添加BeanshellPostProcessor来实现文件的保存和文件内容的解析。Beanshell是一种Java脚本语言,本示例展示如何把文件下载保存到本地: 发起图片下载请求 449eb599bc3a967c748425e9531af350.png 添加Beanshell Post Processor,使用内置变量prev获取接口响应数据,并通过Java代码把响应的二进制流保存到本地E盘 b034739f817f9d891c8749062e4c01b6.png 运行脚本,查看结果和本地文件 62f51d9b388201e5bc6e63c65fcd464c.png 如果想解析文件内容可以使用Java来读取文件并进行值得校验 e44f7193bce33a9c16176fd0e5a6ea53.png feb44374aa8c0d94c4b434101f846069.gif Bye~ 2564d066325b47aca51dfa976d63aa0e.png 我就知道你“在看” cccb1b94500b25d39db25a1499f71b4f.gif

http://www.niftyadmin.cn/n/4352414.html

相关文章

问题管理的重要性

一个人,碰上的问题越多,解决的问题越多;这个人才能进步的越快; 没有问题,那就是在原地踏步。 没有问题才是最大的问题。 转载于:https://www.cnblogs.com/feng9exe/p/6084098.html

python之路——封装、继承和多态

面向对象的三大特性:封装、继承和多态 继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 单继承和多继承 1 class ParentClass1: #定义父类…

Java字节码浅析(—)

明白Java代码是如何编译成字节码并在JVM上运行的非常重要,这有助于理解程序运行的时候究竟发生了些什么。理解这点不仅能搞清语言特性是如何实现的,并且在做方案讨论的时候能清楚相应的副作用及权衡利弊。 本文介绍了Java代码是如何编译成字节码并在JVM…

leetcode 字符串的排列 python3

给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1:输入: s1 "ab" s2 "eidbaooo" 输出: True 解释: s2 包含 s1 的排列之一 ("ba").示…

python高级应用_Python高级应用程序设计任务

一、主题式网络爬虫设计方案(15分)1.主题式网络爬虫名称关于链家泉州本地租房信息的爬虫2.主题式网络爬虫爬取的内容与数据特征分析2.1爬取的内容租房类型,所属区县,详细地址,房屋面积,房屋朝向,房屋房型,房…

计划的定义与要素

要素:目标、时间、方案。 提出在未来一定时期内要达到的组织目标以及实现目标的方案途径。 http://wiki.mbalib.com/wiki/计划 可以把计划的内容简要地概括为八个方面,即: What(什么)——计划的目的、内容; Who(谁&…

微信小程序 Array对象操作

转载于:https://www.cnblogs.com/liudabao123/p/8329642.html

《Java字节码浅析(二)》

条件语句 像if-else, switch这样的流程控制的条件语句,是通过用一条指令来进行两个值的比较,然后根据结果跳转到另一条字节码来实现的。 循环语句包括for循环,while循环,它们的实现方式也很类似,但有一点不同&#x…