上传文件接口测试记录

1|0文件上传接口如何测试

在做接口测试时,之前都是使用测试工具,对于文件上传只需要修改入参的类型,当使用代码进行入参时,有点无从下手。

于是我通过抓包工具获取到工具或者界面操作的入参规则,然后分析怎么使用此规则写入到代码的请求里。

抓包成功的信息如下:

image-20210622110917274

在查询官网的requests文件上传方法:

image-20210622111122353

于是我的代码如下:

from common.http_requests import HttpRequests
from config.config_test import Conf
import os
import sys
import unittest
path = os.path.join(os.path.dirname(os.path.dirname(
os.path.dirname(os.path.abspath(__file__)))))
sys.path.append(path)
class Test_Add_Task(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.url = Conf.TEST_URL.value
cls.http = HttpRequests(cls.url)
def test_add_task_success(self):
'''上传文件用例:/file/upload'''
payload = {
'file': ("1.bin", open('1.bin', 'rb'), 'application/octet-stream')}
response = Test_Add_Task.http.post('/file/upload', files=payload)
self.assertEqual(200, response.status_code, '返回非200')
self.assertEqual(str(0), str(response.json()['code']), '上传文件失败')
if __name__ == '__main__':
unittest.main()

执行结果:

image-20210622111349087

成功解决上传文件的接口的入参问题,这里需要注意的是文件的位置,如果没有设置python系统环境变量,最好用绝对路径。


__EOF__

本文作者Harry
本文链接https://www.cnblogs.com/harry66/p/14917877.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Harry_666  阅读(346)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示