feat: 新增JoyHub模块测试用例和功能增强

1. 新增模块测试用例:
   - News分类接口测试 (Joyhub_NewsCate.py)
   - News内容接口测试 (Joyhub_News.py)
   - 产品分类接口测试 (Joyhub_ProductCate.py)
   - 产品属性接口测试 (Joyhub_ProductAttr.py)
   - 产品管理接口测试 (Joyhub_Product.py)
   - FAQ分类接口测试 (Joyhub_FaqCate.py)
   - FAQ内容接口测试 (Joyhub_Faq.py)
   - 博客分类接口测试 (Joyhub_BlogCate.py)
   - 地址国家接口测试 (Joyhub_AddressCountry.py)
   - 下载二维码接口测试 (Joyhub_DownloadQrcode.py)
   - 支付页产品推荐接口测试 (Joyhub_ProductPaymentRecommend.py)

2. 新增业务关键字层:
   - NewsCateManage.py
   - NewsManage.py
   - ProductCateManage.py
   - ProductAttrManage.py
   - ProductManage.py
   - FaqCateManage.py
   - FaqManage.py
   - BlogCateManage.py
   - AddressCountryManage.py
   - DownloadQrcodeManage.py
   - ProductPaymentRecommendManage.py

3. 接口层增强:
   - Dlizhan_interface.py 添加JoyHub相关接口封装

4. 功能增强:
   - run_tests.py 添加自动清除旧测试结果和报告功能
   - Joyhub_Product.py 添加数据库连接获取运费模板ID和品牌ID

5. 修复:
   - 修复产品创建测试用例缺少前置数据问题
This commit is contained in:
2026-05-08 18:09:48 +08:00
parent 32fd51380c
commit 3191ec4f3c
25 changed files with 4800 additions and 2 deletions

View File

@@ -0,0 +1,148 @@
# -*- coding:utf-8 -*-
"""
FAQ数据管理业务关键字层
"""
import allure
from dulizhan.library.Dlizhan_interface import DlzhanInterface
from base_framework.public_tools import log
obj_log = log.get_logger()
class FaqManage(DlzhanInterface):
"""FAQ数据管理业务关键字类"""
def __init__(self):
super().__init__()
@allure.step("获得FAQ分类下拉列表")
def kw_joyhub_faq_cate_list_get(self):
"""
获得FAQ分类下拉列表业务关键字
:return: 响应结果
"""
obj_log.info("获得FAQ分类下拉列表")
resp = self.kw_in_joyhub_faq_cate_list_get()
obj_log.info(f"获得FAQ分类下拉列表响应: {resp}")
return resp
@allure.step("创建FAQ数据")
def kw_joyhub_faq_create_post(self, faq_cate_id, question, answer, rank_num, lang, is_hot=0, status=1, id=0):
"""
创建FAQ数据业务关键字
:param id: 主键新增为0
:param faq_cate_id: 分类ID
:param question: 常见问题
:param answer: 回答
:param is_hot: 是否热门0否1是
:param status: 状态 (1正常 2停用)
:param rank_num: 排序号
:param lang: 语言 (en 英语 de 德语 ja 日语)
:return: 响应结果
"""
obj_log.info(f"创建FAQ数据 - question: {question}, lang: {lang}")
params = {
"id": id,
"faqCateId": faq_cate_id,
"question": question,
"answer": answer,
"isHot": is_hot,
"status": status,
"rankNum": rank_num,
"lang": lang
}
resp = self.kw_in_joyhub_faq_create_post(**params)
obj_log.info(f"创建FAQ数据响应: {resp}")
return resp
@allure.step("删除FAQ数据")
def kw_joyhub_faq_delete_delete(self, faq_id):
"""
删除FAQ数据业务关键字
:param faq_id: FAQ数据ID
:return: 响应结果
"""
obj_log.info(f"删除FAQ数据 - faq_id: {faq_id}")
resp = self.kw_in_joyhub_faq_delete_delete(faq_id)
obj_log.info(f"删除FAQ数据响应: {resp}")
return resp
@allure.step("批量删除FAQ数据")
def kw_joyhub_faq_delete_list_delete(self, ids):
"""
批量删除FAQ数据业务关键字
:param ids: FAQ数据ID列表
:return: 响应结果
"""
obj_log.info(f"批量删除FAQ数据 - ids: {ids}")
resp = self.kw_in_joyhub_faq_delete_list_delete(ids)
obj_log.info(f"批量删除FAQ数据响应: {resp}")
return resp
@allure.step("获得FAQ数据详情")
def kw_joyhub_faq_get_get(self, faq_id):
"""
获得FAQ数据详情业务关键字
:param faq_id: FAQ数据ID
:return: 响应结果
"""
obj_log.info(f"获得FAQ数据详情 - faq_id: {faq_id}")
resp = self.kw_in_joyhub_faq_get_get(faq_id)
obj_log.info(f"获得FAQ数据详情响应: {resp}")
return resp
@allure.step("获得FAQ数据分页")
def kw_joyhub_faq_page_get(self, page_no=1, page_size=10, **kwargs):
"""
获得FAQ数据分页业务关键字
:param page_no: 页码
:param page_size: 每页大小
:param kwargs: 其他查询条件
:return: 响应结果
"""
obj_log.info(f"获得FAQ数据分页 - page_no: {page_no}, page_size: {page_size}")
params = {
"pageNo": page_no,
"pageSize": page_size
}
params.update(kwargs)
resp = self.kw_in_joyhub_faq_page_get(**params)
obj_log.info(f"获得FAQ数据分页响应: {resp}")
return resp
@allure.step("更新FAQ数据")
def kw_joyhub_faq_update_put(self, faq_id, faq_cate_id, question, answer, rank_num, lang, is_hot=0, status=1):
"""
更新FAQ数据业务关键字
:param faq_id: FAQ数据ID
:param faq_cate_id: 分类ID
:param question: 常见问题
:param answer: 回答
:param is_hot: 是否热门0否1是
:param status: 状态 (1正常 2停用)
:param rank_num: 排序号
:param lang: 语言 (en 英语 de 德语 ja 日语)
:return: 响应结果
"""
obj_log.info(f"更新FAQ数据 - faq_id: {faq_id}, question: {question}, lang: {lang}")
params = {
"id": faq_id,
"faqCateId": faq_cate_id,
"question": question,
"answer": answer,
"isHot": is_hot,
"status": status,
"rankNum": rank_num,
"lang": lang
}
resp = self.kw_in_joyhub_faq_update_put(**params)
obj_log.info(f"更新FAQ数据响应: {resp}")
return resp