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端登录配置
This commit is contained in:
110
dulizhan/test_case/TestCase/接口/JoyHubC/JoyhubC_Blog.py
Normal file
110
dulizhan/test_case/TestCase/接口/JoyHubC/JoyhubC_Blog.py
Normal file
@@ -0,0 +1,110 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
"""
|
||||
JoyHub C端blog信息接口测试用例
|
||||
"""
|
||||
import json
|
||||
import allure
|
||||
import logging
|
||||
import pytest
|
||||
|
||||
from dulizhan.library.BusinessKw.JoyHubC.BlogManage import JoyHubCBlogManage
|
||||
|
||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
|
||||
|
||||
@allure.feature("C端 - blog信息模块")
|
||||
class TestJoyHubCBlog:
|
||||
blog_id = None
|
||||
blog_cate_id = None
|
||||
|
||||
@classmethod
|
||||
def setup_class(cls):
|
||||
"""在整个测试类开始时初始化C端blog信息业务关键字"""
|
||||
logging.info("=============================================")
|
||||
logging.info("=========== 开始JoyHub C端blog信息接口测试 =========")
|
||||
logging.info("=============================================")
|
||||
cls.test_case = JoyHubCBlogManage()
|
||||
|
||||
@allure.story("验证C端获得blog管理分页")
|
||||
@allure.title("测试C端获得blog管理分页接口")
|
||||
def test_joyhub_c_blog_page_get(self):
|
||||
"""测试C端获得blog管理分页接口"""
|
||||
with allure.step("1. 准备请求参数"):
|
||||
params = {
|
||||
"pageNo": 1,
|
||||
"pageSize": 10
|
||||
}
|
||||
allure.attach(json.dumps(params, ensure_ascii=False), name="请求参数", attachment_type=allure.attachment_type.TEXT)
|
||||
|
||||
with allure.step("2. 调用获得blog管理分页接口"):
|
||||
resp = self.test_case.kw_joyhub_c_blog_page_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字段"
|
||||
assert resp["code"] == 0, f"请求失败,code={resp.get('code')}, msg={resp.get('msg')}"
|
||||
assert "data" in resp, "响应中缺少data字段"
|
||||
assert "list" in resp["data"], "响应中缺少list字段"
|
||||
assert isinstance(resp["data"]["list"], list), "list字段不是列表类型"
|
||||
if "total" in resp["data"]:
|
||||
assert isinstance(resp["data"]["total"], int), "total字段不是整数类型"
|
||||
if resp["data"]["list"]:
|
||||
first_blog = resp["data"]["list"][0]
|
||||
TestJoyHubCBlog.blog_id = first_blog.get("id")
|
||||
TestJoyHubCBlog.blog_cate_id = first_blog.get("cateId")
|
||||
logging.info("C端获得blog管理分页接口验证通过")
|
||||
|
||||
@allure.story("验证C端获得blog详情")
|
||||
@allure.title("测试C端获得blog详情接口")
|
||||
def test_joyhub_c_blog_get_detail_get(self):
|
||||
"""测试C端获得blog详情接口"""
|
||||
if not TestJoyHubCBlog.blog_id:
|
||||
pytest.skip("没有可用于查询详情的blog数据")
|
||||
|
||||
with allure.step("1. 准备请求参数"):
|
||||
params = {
|
||||
"id": TestJoyHubCBlog.blog_id
|
||||
}
|
||||
allure.attach(json.dumps(params, ensure_ascii=False), name="请求参数", attachment_type=allure.attachment_type.TEXT)
|
||||
|
||||
with allure.step("2. 调用获得blog详情接口"):
|
||||
resp = self.test_case.kw_joyhub_c_blog_get_detail_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字段"
|
||||
assert resp["code"] == 0, f"请求失败,code={resp.get('code')}, msg={resp.get('msg')}"
|
||||
assert "data" in resp, "响应中缺少data字段"
|
||||
assert resp["data"] is not None, "data字段为空"
|
||||
assert resp["data"].get("id") == TestJoyHubCBlog.blog_id, "返回的blog ID与请求ID不一致"
|
||||
logging.info("C端获得blog详情接口验证通过")
|
||||
|
||||
@allure.story("验证C端获得blog下一条")
|
||||
@allure.title("测试C端获得blog下一条接口")
|
||||
def test_joyhub_c_blog_get_next_get(self):
|
||||
"""测试C端获得blog下一条接口"""
|
||||
if not TestJoyHubCBlog.blog_id:
|
||||
pytest.skip("没有可用于查询下一条的blog数据")
|
||||
|
||||
with allure.step("1. 准备请求参数"):
|
||||
params = {
|
||||
"id": TestJoyHubCBlog.blog_id
|
||||
}
|
||||
if TestJoyHubCBlog.blog_cate_id:
|
||||
params["cateId"] = TestJoyHubCBlog.blog_cate_id
|
||||
allure.attach(json.dumps(params, ensure_ascii=False), name="请求参数", attachment_type=allure.attachment_type.TEXT)
|
||||
|
||||
with allure.step("2. 调用获得blog下一条接口"):
|
||||
resp = self.test_case.kw_joyhub_c_blog_get_next_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字段"
|
||||
assert resp["code"] == 0, f"请求失败,code={resp.get('code')}, msg={resp.get('msg')}"
|
||||
assert "data" in resp, "响应中缺少data字段"
|
||||
if resp["data"] is not None:
|
||||
assert isinstance(resp["data"], dict), "data字段不是字典类型"
|
||||
logging.info("C端获得blog下一条接口验证通过")
|
||||
Reference in New Issue
Block a user