• 上传文件接口测试记录


    文件上传接口如何测试

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

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

    抓包成功的信息如下:

    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系统环境变量,最好用绝对路径。

  • 相关阅读:
    常见面试题
    性能测试注意点
    orm 事物的使用
    mvc 页面如何引用命名空间并且直接使用枚举类型对象
    ef 动态拼接参数查询
    ef指定字段更新
    jquery 如何传递对象本身
    整数除以整数后转成百分比并且保留一位小数
    sql 表变量的使用
    echart的label标签文字过长显示不全怎么办?
  • 原文地址:https://www.cnblogs.com/harry66/p/14917877.html
Copyright © 2020-2023  润新知