diff --git a/case_utils/requests_utils/base_request.py b/case_utils/requests_utils/base_request.py index 811f9eb..942e1aa 100644 --- a/case_utils/requests_utils/base_request.py +++ b/case_utils/requests_utils/base_request.py @@ -52,7 +52,7 @@ class BaseRequest: f"请求Cookies: {req_data.get('cookies', None)}\n" \ f"请求关键字: {req_data.get('request_type', None)}\n" \ f"请求内容: {req_data.get('payload', None)}\n" \ - f"请求文件: {req_data.get('file', None)}\n" \ + f"请求文件: {req_data.get('files', None)}\n" \ + "=" * 80 logger.info(before) response_result = cls.send_api_request( @@ -107,7 +107,6 @@ class BaseRequest: return res elif request_type.lower() == 'file': if files: - file_name = os.path.basename(files) encoder = MultipartEncoder(fields={"file": (file_name, open(files, "rb"))}, boundary='------------------------' + str(time.time())) diff --git a/case_utils/requests_utils/request_data_handle.py b/case_utils/requests_utils/request_data_handle.py index 89f60af..1cda066 100644 --- a/case_utils/requests_utils/request_data_handle.py +++ b/case_utils/requests_utils/request_data_handle.py @@ -166,12 +166,8 @@ class RequestPreDataHandle: # 处理请求参数files参数 files = self.request_data.get("files", None) if files: - for k, v in files.items(): - # ------------------ 单文件 ------------------ - # 处理文件绝对路径 - file_path = os.path.join(FILES_DIR, v) - # 单文件上传需要是字典{'file': (filename, file_content)} - self.request_data["files"] = {k: get_file_field(file_path)} + # 将文件处理成绝对路径 + self.request_data["files"] = os.path.join(FILES_DIR, files) logger.debug(f"处理完成后的files:{self.request_data['files']}") def assert_handle(self): diff --git a/data/gitlink/test_upload_files.yaml b/data/gitlink/test_upload_files.yaml index 5935df3..522204e 100644 --- a/data/gitlink/test_upload_files.yaml +++ b/data/gitlink/test_upload_files.yaml @@ -6,6 +6,7 @@ case_common: case_markers: - gitlink - upload_file + - usefixtures: login_init # 用例数据 case_info: @@ -13,7 +14,7 @@ case_info: id: case_upload_file_01 title: 测试单文件上传 severity: - run: False + run: True url: /api/attachments.json method: POST headers: @@ -21,11 +22,11 @@ case_info: cookies: request_type: file payload: - files: - file: TOC出库订单导入模板(2).xlsx + files: TOC出库订单导入模板(2).xlsx extract: file_id: $.id assert_response: eq: http_code: 200 + assert_sql: