diff --git "a/air_case/cmdc_demand_mall/\351\234\200\346\261\202\345\215\225\351\224\200\345\224\256\345\220\210\345\220\214\344\270\213\350\275\275\345\212\237\350\203\275\351\252\214\350\257\201.air/\351\234\200\346\261\202\345\215\225\351\224\200\345\224\256\345\220\210\345\220\214\344\270\213\350\275\275\345\212\237\350\203\275\351\252\214\350\257\201.py" "b/air_case/cmdc_demand_mall/\351\234\200\346\261\202\345\215\225\351\224\200\345\224\256\345\220\210\345\220\214\344\270\213\350\275\275\345\212\237\350\203\275\351\252\214\350\257\201.air/\351\234\200\346\261\202\345\215\225\351\224\200\345\224\256\345\220\210\345\220\214\344\270\213\350\275\275\345\212\237\350\203\275\351\252\214\350\257\201.py" new file mode 100644 index 0000000000000000000000000000000000000000..029fba1c3f9bccf3d09502605eb11462ed8e3e4b --- /dev/null +++ "b/air_case/cmdc_demand_mall/\351\234\200\346\261\202\345\215\225\351\224\200\345\224\256\345\220\210\345\220\214\344\270\213\350\275\275\345\212\237\350\203\275\351\252\214\350\257\201.air/\351\234\200\346\261\202\345\215\225\351\224\200\345\224\256\345\220\210\345\220\214\344\270\213\350\275\275\345\212\237\350\203\275\351\252\214\350\257\201.py" @@ -0,0 +1,74 @@ +# -*- encoding=utf8 -*- +__author__ = "liguangyu" + +""" +case_tag:cmdc_api,cmdc需求单销售合同下载功能验证,2289,2289-23,sit,bs +涉及到接口:多采商城需求单销售合同下载接口 +""" + +from common.common_func import commonFuc +from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin +from common.handle_excel import HandleExcel +import requests +import random +import json +import os + + +module = "cmdc_demand_mall" + +# 第一步登录多采商城获取token +# 获取登录所需账号密码 +username = commonFuc().get_business_data(module, "username") +password = commonFuc().get_business_data(module, "password") +# 获取登录后Cmdc_access_token +cmdc_access_token = CmdcMaiiLogin(username, password).get_token() +headers = commonFuc().get_business_data(module, "json_headers1", cmdc_access_token) + +# 第二步获取需求单列表 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url1") +request_body = commonFuc().get_business_data(module, "payload22_1") +# 发送请求 +result = requests.post(url, json=request_body, headers=headers) +result = json.loads(result.content) + +# 生成随机数 +random_demand = random.randint(0, len(result["data"]["list"]) - 1) +# 获取需求单信息 +demand_id = result["data"]["list"][random_demand]["demandId"] +# demand_id = "40187" +demand_code = result["data"]["list"][random_demand]["demandCode"] + + +# 第三步进行需求单销售合同下载 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url22") +request_body = commonFuc().get_business_data(module, "payload22", demand_id) +# print(request_body) +""" + 场景: 需求单销售合同下载功能验证 + 用例名称:需求单销售合同下载功能验证 + 输出:{"demandCode":"%s"} +""" + +# 发送请求 +result = requests.post(url, json=request_body, headers=headers) +# result = json.loads(result.content) +# print(result) + +# 获取文件 +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 = {"demandCode": excel.read_data()[0].get("医疗器械产品销售合同 ")[5:]} +# 获取预期结果 +check_dict = commonFuc().get_business_data(module, "checkDict22", demand_code) +# print(check_dict) +# 断言实际结果中是否包含预期结果的内容 +commonFuc().check_result(check_dict, result) + diff --git a/data/cmdc_demand_mall/data b/data/cmdc_demand_mall/data index 5a6fa44752ec1f5faeb29d760c640fc6fad6cf39..7b43748639bf6320183efd45ce35ae7ef22d6f2b 100644 --- a/data/cmdc_demand_mall/data +++ b/data/cmdc_demand_mall/data @@ -172,7 +172,13 @@ checkDict20: {"success":true,"code":"200","message":"查询成功"} checkDict21: {"demandCode":"%s"} - +#测试场景二十二:需求单销售合同下载功能验证 +"url22": "/order/public/back/exportSalesContract" +"payload22": {"demandId":"%s","productName":null,"manufacturer":null,"materialCode":null,"produceRegisterNum":null,"productLineName":null,"pageSize":10,"pageStart":1,"excelType":1} +#预期结果 +checkDict22: {"demandCode":"%s"} +# 获取ERP处理中需求单报文 +"payload22_1": {"sellerCompanyCodes":[],"materialCode":"","productCode":"","productInfoValue":"","manufacturerList":null,"orderNum":"","paymentType":null,"preferenceType":null,"changeSign":null,"mainOrderStatus":5,"shipmentType":null,"pageStart":1,"pageSize":10}