From 6b5356e2afcf48db8980e50c14b4a18659eecec4 Mon Sep 17 00:00:00 2001 From: liguangyu06 <1666071293@qq.com> Date: Mon, 6 Nov 2023 16:16:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=B0=E8=80=81=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E7=BB=84=E7=9B=B8=E5=85=B3=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...63\347\263\273\347\274\226\347\240\201.py" | 59 ++++++++++++++++++ ...60\345\242\236\351\252\214\350\257\201.py" | 55 ++++++++++++++++ ...01\347\273\204\345\201\234\347\224\250.py" | 62 +++++++++++++++++++ data/cmdc_special_fresenius_group/data | 24 +++++-- 4 files changed, 194 insertions(+), 6 deletions(-) create mode 100644 "air_case/cmdc_special_fresenius_group/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.air/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.py" create mode 100644 "air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.air/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.py" create mode 100644 "air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.air/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.py" diff --git "a/air_case/cmdc_special_fresenius_group/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.air/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.py" "b/air_case/cmdc_special_fresenius_group/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.air/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.py" new file mode 100644 index 00000000..e5509a98 --- /dev/null +++ "b/air_case/cmdc_special_fresenius_group/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.air/\345\210\227\350\241\250\346\237\245\350\257\242\346\235\241\344\273\266\351\252\214\350\257\201_\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201.py" @@ -0,0 +1,59 @@ +# -*- encoding=utf8 -*- +__author__ = "liguangyu" + +""" +case_tag:cmdc_api,cmdc列表查询条件验证_新老商品关系编码,2264,2264-67,sit,bs +主数据平台:运营后台管理系统新老编码组列表查询接口 +""" + +from common.common_func import commonFuc +from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin +import requests +import json + +module = "cmdc_special_fresenius_group" + +# 第一步登录后台运营平台获取cmdc_access_token +# 获取登录所需账号密码 +username = commonFuc().get_business_data(module, "username1") +password = commonFuc().get_business_data(module, "password1") +# 获取登录后Cmdc_access_token +cmdc_access_token = CmdcDoLogin(username, password).get_token() +headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token) + +# 获取新老商品关系编码列表 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url_product_code") +request_body = commonFuc().get_business_data(module, "payload_product_code") +# 发送请求 +result = requests.post(url, headers=headers, json=request_body) +result = json.loads(result.content) + +# 获取新老编码组信息 +product_code = result["data"]["list"][0]["products"][0]["productCode"] +product_info = result["data"]["list"][0]["products"][0]["productName"] +material_code = result["data"]["list"][0]["products"][0]["materialCode"] +manufacturer_list = result["data"]["list"][0]["products"][0]["manufacturer"] +product_line_name = result["data"]["list"][0]["productLineName"] +description = result["data"]["list"][0]["products"][0]["description"] +status = result["data"]["list"][0]["status"] + +# 第二步进行列表查询条件验证 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url_product_code") +request_body = commonFuc().get_business_data(module, "payload22", product_code, product_info, material_code, + manufacturer_list, product_line_name, description, status) + +""" + 场景:列表查询条件验证_新老商品关系编码 + 用例名称:列表查询条件验证_新老商品关系编码 + 输出:{"productCode":"%s"} +""" + +# 发送请求 +result = requests.post(url, json=request_body, headers=headers) +result = json.loads(result.content) +result = {"productCode": result["data"]["list"][0]["products"][0]["productCode"]} +print(result) +# 获取预期结果 +check_dict = commonFuc().get_business_data(module, "checkDict22", product_code) +# 断言实际结果中是否包含预期结果的内容 +commonFuc().check_result(check_dict, result) diff --git "a/air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.air/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.py" "b/air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.air/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.py" new file mode 100644 index 00000000..f9bd5873 --- /dev/null +++ "b/air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.air/\346\226\260\350\200\201\345\225\206\345\223\201\345\205\263\347\263\273\347\274\226\347\240\201\347\273\264\346\212\244\346\226\260\345\242\236\351\252\214\350\257\201.py" @@ -0,0 +1,55 @@ +# -*- encoding=utf8 -*- +__author__ = "liguangyu" + +""" +case_tag:cmdc_api,cmdc新老商品关系编码维护新增验证,2264,2264-65,sit,bs +主数据平台:运营后台管理系统新老商品关系编码维护新增接口 +""" + +from common.common_func import commonFuc +from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin +import requests +import json +import random + +module = "cmdc_special_fresenius_group" + +# 第一步登录后台运营平台获取cmdc_access_token +# 获取登录所需账号密码 +username = commonFuc().get_business_data(module, "username1") +password = commonFuc().get_business_data(module, "password1") +# 获取登录后Cmdc_access_token +cmdc_access_token = CmdcDoLogin(username, password).get_token() +headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token) + +# 获取商品列表 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "product_list") +request_body = commonFuc().get_business_data(module, "product_payload") +result = requests.post(url, headers=headers, json=request_body) +result = json.loads(result.content) + +# 随机获取不相同两个商品信息 +product_id_a = random.randint(1, len(result["data"]["list"]) - 1) +product_a = result["data"]["list"][product_id_a] +product_id_b = random.randint(product_id_a + 1, len(result["data"]["list"])) +product_b = result["data"]["list"][product_id_b] + +# 第二步进行新老商品关系编码维护新增 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url19") +request_body = {"manufacturerGroupName": "", "manufacturerGroupCode": "", "groupName": "", "limitPurchase": "", + "isLimit": 0, "products": [product_a, product_b]} + +""" + 场景:新老商品关系编码维护新增验证 + 用例名称:新老商品关系编码维护新增验证 + 输出:{"success":true,"code":"200","message":"OK"} +""" + +# 发送请求 +result = requests.post(url, json=request_body, headers=headers) +result = json.loads(result.content) +print(result) +# 获取预期结果 +check_dict = commonFuc().get_business_data(module, "checkDict20") +# 断言实际结果中是否包含预期结果的内容 +commonFuc().check_result(check_dict, result) diff --git "a/air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.air/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.py" "b/air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.air/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.py" new file mode 100644 index 00000000..aebdfe70 --- /dev/null +++ "b/air_case/cmdc_special_fresenius_group/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.air/\346\226\260\350\200\201\347\274\226\347\240\201\347\273\204\345\201\234\347\224\250.py" @@ -0,0 +1,62 @@ +# -*- encoding=utf8 -*- +__author__ = "liguangyu" + +""" +case_tag:cmdc_api,cmdc新老编码组停用验证,2264,2264-68,sit,bs +主数据平台:运营后台管理系统新老编码组停用接口 +""" + +from common.common_func import commonFuc +from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin +from common.db.db import mySql +import requests +import json + +module = "cmdc_special_fresenius_group" + +# 第一步登录后台运营平台获取cmdc_access_token +# 获取登录所需账号密码 +username = commonFuc().get_business_data(module, "username1") +password = commonFuc().get_business_data(module, "password1") +# 获取登录后Cmdc_access_token +cmdc_access_token = CmdcDoLogin(username, password).get_token() +headers = commonFuc().get_business_data(module, "json_headers2", cmdc_access_token) + +# 获取新老商品关系编码列表 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url_product_code") +request_body = commonFuc().get_business_data(module, "payload_product_code") +# 发送请求 +result = requests.post(url, headers=headers, json=request_body) +result = json.loads(result.content) + +# 获取新老编码组信息 +group_id = result["data"]["list"][0]["groupId"] + +# 第二步进行新老商品关系编码维护停用操作 +url = commonFuc().get_api_url() + commonFuc().get_business_data(module, + "url20") + "?" + "groupId={}&remarks=".format( + group_id) + +""" + 场景:新老编码组停用验证 + 用例名称:新老编码组停用验证 + 输出:{"status":2} +""" + +# 发送请求 +result = requests.get(url, headers=headers) +result = json.loads(result.content) + +# 数据库操作 +mysql_handle = mySql() +# 获取conf.ini文件中配置的数据库信息 +host, port, user, pwd = mysql_handle.getConf(db="cmdc_db") + +# 数据库查询套包状态 +sql = "SELECT t.status FROM `cmdc-order`.tc_fresenius_group t WHERE groupId = {}".format(group_id) +result = {"status": mysql_handle.selectSql(host, port, user, pwd, "cmdc-order", sql)[0][0]} + +# 获取预期结果 +check_dict = commonFuc().get_business_data(module, "checkDict21") +# 断言实际结果中是否包含预期结果的内容 +commonFuc().check_result(check_dict, result) diff --git a/data/cmdc_special_fresenius_group/data b/data/cmdc_special_fresenius_group/data index da61ed14..4fb11b68 100644 --- a/data/cmdc_special_fresenius_group/data +++ b/data/cmdc_special_fresenius_group/data @@ -163,15 +163,27 @@ checkDict18: {"groupPriceStatus": 1} checkDict19: {"groupPriceStatus": 0} +#测试场景:新老商品关系编码维护新增功能验证 +#新增接口和报文 +"url19": "/order/public/saveProductCodeMaintain" +#预期结果 +checkDict20: {"success":true,"code":"200","message":"OK"} +#测试场景:新老编码组停用 +#新老商品关系编码维护列表接口地址和请求报文 +"url_product_code": "/order/public/queryProductCodeMaintainPage" +"payload_product_code": {"groupCode":"","groupName":"","productCode":"","productInfo":"","materialCode":"","manufacturerList":[],"productLineName":"","description":"","manufacturerGroupCode":"","manufacturerGroupName":"","customerCode":"","customerName":"","manufacturerUserNo":"","manufacturerUserDesc":"","documentNo":"","groupType":2,"status":null,"pageStart":1,"pageSize":8} +#新老编码组停用接口 +"url20": "/order/public/enableOrDisableProductMaintain" +#预期结果 +checkDict21: {"status":2} - - - - - - +#测试场景:新老编码组停用 +#请求报文 +"payload22": {"groupCode":"","groupName":"","productCode":"%s","productInfo":"%s","materialCode":"%s","manufacturerList":["%s"],"productLineName":"%s","description":"%s","manufacturerGroupCode":"","manufacturerGroupName":"","customerCode":"","customerName":"","manufacturerUserNo":"","manufacturerUserDesc":"","documentNo":"","groupType":2,"status":"%s","pageStart":1,"pageSize":8} +#预期结果 +checkDict22: {"productCode":"%s"} -- GitLab