1. 程式人生 > 其它 >上傳檔案介面測試記錄

上傳檔案介面測試記錄

檔案上傳介面如何測試

在做介面測試時,之前都是使用測試工具,對於檔案上傳只需要修改入參的型別,當使用程式碼進行入參時,有點無從下手。

於是我通過抓包工具獲取到工具或者介面操作的入參規則,然後分析怎麼使用此規則寫入到程式碼的請求裡。

抓包成功的資訊如下:

在查詢官網的requests檔案上傳方法:

於是我的程式碼如下:

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()

執行結果:

成功解決上傳檔案的介面的入參問題,這裡需要注意的是檔案的位置,如果沒有設定python系統環境變數,最好用絕對路徑。