上傳檔案介面測試記錄
阿新 • • 發佈:2021-06-23
檔案上傳介面如何測試
在做介面測試時,之前都是使用測試工具,對於檔案上傳只需要修改入參的型別,當使用程式碼進行入參時,有點無從下手。
於是我通過抓包工具獲取到工具或者介面操作的入參規則,然後分析怎麼使用此規則寫入到程式碼的請求裡。
抓包成功的資訊如下:
在查詢官網的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系統環境變數,最好用絕對路徑。