From 372dec22b5db38e64f0646c76785882e0b577b75 Mon Sep 17 00:00:00 2001 From: liguangyu06 <1666071293@qq.com> Date: Thu, 28 Mar 2024 19:40:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E4=BE=8B=E6=96=B0=E5=A2=9E=EF=BC=9A?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=5F=E5=88=86=E9=94=80=E5=95=86=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...12\346\212\245\345\210\227\350\241\250.py" | 71 +++++++++++++++++++ data/cmdc_ls/data | 6 +- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 "air_case/cmdc_ls/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.air/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.py" diff --git "a/air_case/cmdc_ls/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.air/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.py" "b/air_case/cmdc_ls/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.air/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.py" new file mode 100644 index 00000000..376d9e88 --- /dev/null +++ "b/air_case/cmdc_ls/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.air/\346\211\271\351\207\217\345\257\274\345\207\272\345\212\237\350\203\275\351\252\214\350\257\201_\345\210\206\351\224\200\345\225\206\345\272\223\345\255\230\344\270\212\346\212\245\345\210\227\350\241\250.py" @@ -0,0 +1,71 @@ +# -*- encoding=utf8 -*- +__author__ = "liguangyu" + +""" +case_tag:cmdc_api,cmdc批量导出功能验证_分销商库存上报列表,2300,2300-6,sit,be +主数据平台:后台运营系统批量导出接口 +""" + +from common.common_func import commonFuc +from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin +from common.handle_excel import HandleExcel +import requests +import random +import json +import os + +module = "cmdc_ls" + +# 第一步登录后台运营系统获取token +username = commonFuc().get_business_data(module, "username_do_be") +password = commonFuc().get_business_data(module, "password_do_be") +# 获取登录后Cmdc_access_token +cmdc_access_token = CmdcDoLogin(username, password).get_token() +headers = commonFuc().get_business_data(module, "json_headers", cmdc_access_token) + +# 第二步获取分销商库存上报列表 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url4") +request_body = commonFuc().get_business_data(module, "payload4") +# 发送请求 +result = requests.post(url, json=request_body, headers=headers) +result = json.loads(result.content) + +# 生成随机数 +customer_random = random.randint(0, len(result["data"]["list"]) - 1) +# 获取分销商库存信息 +goodsInfo = result["data"]["list"][customer_random]["customerCode"] + +# 第三步进行数据导出 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url6") +request_body = commonFuc().get_business_data(module, "payload6", goodsInfo) +""" + 场景: 批量导出功能验证_分销商库存上报列表 + 用例名称:批量导出功能验证_分销商库存上报列表 + 输出:{"customerCode":"%s"} +""" + +# 发送请求 +result = requests.post(url, json=request_body, headers=headers) +# 获取接口响应时间 +api_time = float(result.elapsed.total_seconds()) + +# 获取文件 +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" + +# 获取到导出文件存入cmdc_files文件中 +with open(file_path, 'wb') as f: + f.write(result.content) + +# 获取导出文件中分销商库存信息 +excel = HandleExcel(file_path, "Sheet1") +result = {"customerCode": excel.read_data()[0].get("分销商编码")} + +# 将接口响应时间添加至result +result["api_time"] = api_time + +# 获取预期结果 +check_dict = commonFuc().get_business_data(module, "checkDict6", goodsInfo) +# print(check_dict) +# 断言实际结果中是否包含预期结果的内容 +commonFuc().check_result(check_dict, result) diff --git a/data/cmdc_ls/data b/data/cmdc_ls/data index 66462b84..c641de57 100644 --- a/data/cmdc_ls/data +++ b/data/cmdc_ls/data @@ -58,7 +58,11 @@ checkDict4: {"success":true,"code":"200","message":"OK"} #预期结果 checkDict5: {"customerCode":"%s"} - +#测试场景6:批量导出功能验证_分销商库存上报列表 +"url6": "/cms/public/ls/exportExcel" +"payload6": {"goodsInfo":"%s","source":"","statisticYear":"","statisticMonth":"","pageStart":1,"pageSize":10,"type":"2"} +#预期结果 +checkDict6: {"customerCode":"%s"} -- GitLab