From d4dd7535995665152f18e02a2944b5f09a18e477 Mon Sep 17 00:00:00 2001 From: liguangyu06 <1666071293@qq.com> Date: Mon, 8 Jan 2024 11:02:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...71\351\207\217\345\257\274\345\205\245.py" | 14 ++++++++++++++ ...37\350\203\275\351\252\214\350\257\201.py" | 2 +- ...\350\264\255\346\250\241\346\235\277.xlsx" | Bin 16908 -> 8604 bytes 3 files changed, 15 insertions(+), 1 deletion(-) diff --git "a/air_case/cmdc_product/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.air/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.py" "b/air_case/cmdc_product/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.air/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.py" index d074b4dc..7600b64a 100644 --- "a/air_case/cmdc_product/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.air/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.py" +++ "b/air_case/cmdc_product/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.air/m_\345\225\206\345\223\201\351\231\220\350\264\255\350\247\204\345\210\231\346\211\271\351\207\217\345\257\274\345\205\245.py" @@ -8,6 +8,7 @@ case_tag:cmdc_api,cmdc商品限购规则批量导入,2293,2293-014,sit,bs from common.common_func import commonFuc from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin +from common.handle_excel import HandleExcel import requests import json import os @@ -27,6 +28,19 @@ headers = commonFuc().get_business_data(module, "json_headers_file", cmdc_access BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) file_path = BASE_DIR + "/data/cmdc_files/商品限购模板.xlsx" +# 设定商品信息 +product_code = "12364265" +product_name = "医用检查手套" +cus_code = "1071246" +cus_name = "上海勘泽贸易商行" + +# 将商品信息写入文件中 +excel = HandleExcel(file_path, "Sheet1") +excel.write_data(row=2, column=1, value=product_code) +excel.write_data(row=2, column=2, value=product_name) +excel.write_data(row=2, column=3, value=cus_code) +excel.write_data(row=2, column=4, value=cus_name) + # 第二步商品限购规则批量导入操作 url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url46") diff --git "a/air_case/cmdc_product/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.air/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.py" "b/air_case/cmdc_product/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.air/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.py" index 15416efd..93560a6f 100644 --- "a/air_case/cmdc_product/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.air/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.py" +++ "b/air_case/cmdc_product/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.air/n_\345\225\206\345\223\201\351\231\220\350\264\255\345\210\240\351\231\244\345\212\237\350\203\275\351\252\214\350\257\201.py" @@ -43,7 +43,7 @@ request_body = commonFuc().get_business_data(module, "payload47", id) # 发送请求 result = requests.get(url, params=request_body, headers=headers) result = json.loads(result.content) -print(result) +# print(result) # 获取预期结果 check_dict = commonFuc().get_business_data(module, "checkDict47") # print(check_dict) diff --git "a/data/cmdc_files/\345\225\206\345\223\201\351\231\220\350\264\255\346\250\241\346\235\277.xlsx" "b/data/cmdc_files/\345\225\206\345\223\201\351\231\220\350\264\255\346\250\241\346\235\277.xlsx" index 8c89ca713e63d45b043cebabd72070c667486f79..0f9904c5dc92848934c25a5486c3c79f43d30550 100644 GIT binary patch literal 8604 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 -- GitLab