Files
smart-management-auto-test/dulizhan/test_case/TestCase/接口/JoyHubC/JoyhubC_DownloadQrcode.py
zhouqi 37a040c3e5 feat: 新增JoyHub C端测试用例和接口封装
1. 新增C端业务关键字层 (JoyHubC/):
   - LoginManage.py - C端登录管理
   - UserManage.py - C端用户管理
   - ProductManage.py - C端产品管理
   - BannerManage.py - C端Banner管理
   - AppVersionManage.py - C端版本管理等

2. 新增C端测试用例 (TestCase/接口/JoyHubC/):
   - JoyhubC_UserPoint.py - 用户积分测试
   - JoyhubC_Product.py - 产品测试
   - JoyhubC_Banner.py - Banner测试等

3. 接口层增强:
   - Dlizhan_interface.py 添加C端接口封装
   - 添加网易163邮箱验证码获取功能

4. 配置更新:
   - hh-qa.robot 添加C端登录配置
2026-05-13 15:56:41 +08:00

81 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 -*-
"""
JoyHub C端二维码访问统计接口测试用例
"""
import os
import json
import allure
import logging
import pytest
from dulizhan.library.BusinessKw.JoyHubC.DownloadQrcodeManage import JoyHubCDownloadQrcodeManage
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
@pytest.mark.skip(reason="当前环境未配置可用二维码测试数据,暂时跳过")
@allure.feature("C端 - 二维码访问统计模块")
class TestJoyHubCDownloadQrcode:
qrcode_code = os.environ.get("JOYHUB_C_QRCODE_CODE", "ABC123")
qrcode_exists = False
@classmethod
def setup_class(cls):
"""在整个测试类开始时初始化C端二维码访问统计业务关键字"""
logging.info("=============================================")
logging.info("=========== 开始JoyHub C端二维码访问统计接口测试 =========")
logging.info("=============================================")
cls.test_case = JoyHubCDownloadQrcodeManage()
@allure.story("验证C端获取二维码信息")
@allure.title("测试C端获取二维码信息接口")
def test_joyhub_c_download_qrcode_get_get(self):
"""测试C端获取二维码信息接口"""
with allure.step("1. 准备请求参数"):
params = {
"code": TestJoyHubCDownloadQrcode.qrcode_code
}
allure.attach(json.dumps(params, ensure_ascii=False), name="请求参数", attachment_type=allure.attachment_type.TEXT)
with allure.step("2. 调用获取二维码信息接口"):
resp = self.test_case.kw_joyhub_c_download_qrcode_get_get(**params)
allure.attach(json.dumps(resp, ensure_ascii=False, indent=2), name="响应数据", attachment_type=allure.attachment_type.JSON)
with allure.step("3. 验证响应"):
assert resp is not None, "响应为空"
assert "code" in resp, "响应中缺少code字段"
if resp["code"] != 0:
pytest.skip(f"当前环境未配置可用二维码codecode={resp.get('code')}, msg={resp.get('msg')}")
assert "data" in resp, "响应中缺少data字段"
if resp["data"] is None:
pytest.skip("当前环境未配置可用二维码code获取二维码信息返回data为空")
TestJoyHubCDownloadQrcode.qrcode_exists = True
logging.info("C端获取二维码信息接口验证通过")
@allure.story("验证C端增加二维码访问/点击次数")
@allure.title("测试C端增加二维码访问/点击次数接口")
def test_joyhub_c_download_qrcode_increment_post(self):
"""测试C端增加二维码访问/点击次数接口"""
if not TestJoyHubCDownloadQrcode.qrcode_exists:
pytest.skip("没有可用于增加访问/点击次数的二维码数据")
with allure.step("1. 准备请求参数"):
params = {
"code": TestJoyHubCDownloadQrcode.qrcode_code,
"visitCount": True,
"clickCount": True
}
allure.attach(json.dumps(params, ensure_ascii=False), name="请求参数", attachment_type=allure.attachment_type.TEXT)
with allure.step("2. 调用增加二维码访问/点击次数接口"):
resp = self.test_case.kw_joyhub_c_download_qrcode_increment_post(**params)
allure.attach(json.dumps(resp, ensure_ascii=False, indent=2), name="响应数据", attachment_type=allure.attachment_type.JSON)
with allure.step("3. 验证响应"):
assert resp is not None, "响应为空"
assert "code" in resp, "响应中缺少code字段"
assert resp["code"] == 0, f"请求失败code={resp.get('code')}, msg={resp.get('msg')}"
assert "data" in resp, "响应中缺少data字段"
assert isinstance(resp["data"], bool), "data字段不是布尔类型"
logging.info("C端增加二维码访问/点击次数接口验证通过")