Files
smart-management-auto-test/dulizhan/library/BusinessKw/JoyHub/DownloadQrcodeManage.py
zhouqi 3191ec4f3c 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. 修复:
   - 修复产品创建测试用例缺少前置数据问题
2026-05-08 18:09:48 +08:00

126 lines
4.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding:utf-8 -*-
"""
二维码管理业务关键字层
"""
import allure
from dulizhan.library.Dlizhan_interface import DlzhanInterface
from base_framework.public_tools import log
obj_log = log.get_logger()
class DownloadQrcodeManage(DlzhanInterface):
"""二维码管理业务关键字类"""
def __init__(self):
super().__init__()
@allure.step("创建二维码")
def kw_joyhub_download_qrcode_create_post(self, title, id=0, status=1):
"""
创建二维码业务关键字
:param id: 主键新增为0
:param title: 标题
:param status: 状态 (1正常 2停用)
:return: 响应结果
"""
obj_log.info(f"创建二维码 - title: {title}, status: {status}")
params = {
"id": id,
"title": title,
"status": status
}
resp = self.kw_in_joyhub_download_qrcode_create_post(**params)
obj_log.info(f"创建二维码响应: {resp}")
return resp
@allure.step("获得二维码详情")
def kw_joyhub_download_qrcode_get_get(self, qrcode_id):
"""
获得二维码详情业务关键字
:param qrcode_id: 二维码ID
:return: 响应结果
"""
obj_log.info(f"获得二维码详情 - qrcode_id: {qrcode_id}")
resp = self.kw_in_joyhub_download_qrcode_get_get(qrcode_id)
obj_log.info(f"获得二维码详情响应: {resp}")
return resp
@allure.step("获得二维码分页")
def kw_joyhub_download_qrcode_page_get(self, page_no=1, page_size=10, **kwargs):
"""
获得二维码分页业务关键字
:param page_no: 页码
:param page_size: 每页大小
:param kwargs: 其他查询条件
:return: 响应结果
"""
obj_log.info(f"获得二维码分页 - page_no: {page_no}, page_size: {page_size}")
params = {
"pageNo": page_no,
"pageSize": page_size
}
params.update(kwargs)
resp = self.kw_in_joyhub_download_qrcode_page_get(**params)
obj_log.info(f"获得二维码分页响应: {resp}")
return resp
@allure.step("更新二维码")
def kw_joyhub_download_qrcode_update_put(self, qrcode_id, title, status=1):
"""
更新二维码业务关键字
:param qrcode_id: 二维码ID
:param title: 标题
:param status: 状态 (1正常 2停用)
:return: 响应结果
"""
obj_log.info(f"更新二维码 - qrcode_id: {qrcode_id}, title: {title}, status: {status}")
params = {
"id": qrcode_id,
"title": title,
"status": status
}
resp = self.kw_in_joyhub_download_qrcode_update_put(**params)
obj_log.info(f"更新二维码响应: {resp}")
return resp
def clean_test_data_from_db(self, title):
"""
从数据库表jh_download_qrcode中删除测试数据
:param title: 要删除的二维码标题
:return: 删除是否成功
"""
obj_log.info(f"从数据库删除测试数据 - title: {title}")
try:
import pymysql
# 数据库连接配置(需要根据实际环境配置)
connection = pymysql.connect(
host='localhost',
user='root',
password='password',
database='joyhub',
charset='utf8mb4'
)
with connection.cursor() as cursor:
sql = "DELETE FROM jh_download_qrcode WHERE title LIKE %s"
cursor.execute(sql, (f"%{title}%",))
connection.commit()
deleted_count = cursor.rowcount
obj_log.info(f"成功删除 {deleted_count} 条测试数据")
return True
except Exception as e:
obj_log.error(f"删除测试数据失败: {str(e)}")
return False
finally:
if 'connection' in locals():
connection.close()