feat(admin): 添加用户管理相关文件
添加用户管理视图、API和状态管理文件
This commit is contained in:
@@ -0,0 +1,271 @@
|
||||
"""
|
||||
黄历模块测试
|
||||
|
||||
Uniapp黄历功能的测试用例。
|
||||
"""
|
||||
|
||||
import pytest
|
||||
import allure
|
||||
from playwright.sync_api import Page
|
||||
|
||||
|
||||
@allure.epic("Uniapp客户端")
|
||||
@allure.feature("黄历模块")
|
||||
class TestAlmanac:
|
||||
"""黄历模块测试类"""
|
||||
|
||||
@allure.title("黄历页面加载测试")
|
||||
@allure.description("验证黄历页面可以正常加载")
|
||||
@allure.severity(allure.severity_level.CRITICAL)
|
||||
@pytest.mark.smoke
|
||||
def test_almanac_page_load(self, almanac_page) -> None:
|
||||
"""
|
||||
测试黄历页面加载
|
||||
|
||||
前置条件:
|
||||
- Uniapp服务已启动
|
||||
|
||||
测试步骤:
|
||||
1. 导航到黄历页面
|
||||
2. 等待页面加载
|
||||
|
||||
预期结果:
|
||||
- 页面标题可见
|
||||
- 日期显示区域可见
|
||||
- 宜忌事项区域可见
|
||||
"""
|
||||
with allure.step("导航到黄历页面"):
|
||||
almanac_page.navigate()
|
||||
assert almanac_page.is_loaded(), "黄历页面未加载完成"
|
||||
|
||||
with allure.step("验证页面元素"):
|
||||
assert almanac_page.has_yi_section(), "宜事项区域未显示"
|
||||
assert almanac_page.has_ji_section(), "忌事项区域未显示"
|
||||
|
||||
@allure.title("日期显示测试")
|
||||
@allure.description("验证黄历页面正确显示日期信息")
|
||||
@allure.severity(allure.severity_level.CRITICAL)
|
||||
@pytest.mark.smoke
|
||||
def test_date_display(self, almanac_page) -> None:
|
||||
"""
|
||||
测试日期显示
|
||||
|
||||
前置条件:
|
||||
- 黄历页面已加载
|
||||
|
||||
测试步骤:
|
||||
1. 查看公历日期显示
|
||||
2. 查看农历日期显示
|
||||
3. 查看干支信息
|
||||
4. 查看生肖信息
|
||||
|
||||
预期结果:
|
||||
- 公历日期正确
|
||||
- 农历日期正确
|
||||
- 干支信息完整
|
||||
- 生肖信息正确
|
||||
"""
|
||||
with allure.step("导航到黄历页面"):
|
||||
almanac_page.navigate()
|
||||
almanac_page.wait_for_data_load()
|
||||
|
||||
with allure.step("验证日期信息"):
|
||||
solar_date = almanac_page.get_solar_date()
|
||||
lunar_date = almanac_page.get_lunar_date()
|
||||
ganzhi = almanac_page.get_ganzhi()
|
||||
shengxiao = almanac_page.get_shengxiao()
|
||||
|
||||
allure.attach(f"公历: {solar_date}", "日期信息", allure.attachment_type.TEXT)
|
||||
allure.attach(f"农历: {lunar_date}", "日期信息", allure.attachment_type.TEXT)
|
||||
allure.attach(f"干支: {ganzhi}", "日期信息", allure.attachment_type.TEXT)
|
||||
allure.attach(f"生肖: {shengxiao}", "日期信息", allure.attachment_type.TEXT)
|
||||
|
||||
assert solar_date, "公历日期未显示"
|
||||
assert lunar_date, "农历日期未显示"
|
||||
assert ganzhi, "干支信息未显示"
|
||||
assert shengxiao, "生肖信息未显示"
|
||||
|
||||
@allure.title("宜忌事项显示测试")
|
||||
@allure.description("验证黄历页面正确显示宜忌事项")
|
||||
@allure.severity(allure.severity_level.CRITICAL)
|
||||
@pytest.mark.smoke
|
||||
def test_yi_ji_display(self, almanac_page) -> None:
|
||||
"""
|
||||
测试宜忌事项显示
|
||||
|
||||
前置条件:
|
||||
- 黄历页面已加载
|
||||
|
||||
测试步骤:
|
||||
1. 查看宜事项列表
|
||||
2. 查看忌事项列表
|
||||
|
||||
预期结果:
|
||||
- 宜事项列表可见
|
||||
- 忌事项列表可见
|
||||
- 事项内容不为空
|
||||
"""
|
||||
with allure.step("导航到黄历页面"):
|
||||
almanac_page.navigate()
|
||||
almanac_page.wait_for_data_load()
|
||||
|
||||
with allure.step("验证宜忌事项"):
|
||||
yi_items = almanac_page.get_yi_items()
|
||||
ji_items = almanac_page.get_ji_items()
|
||||
|
||||
allure.attach(f"宜事项数量: {len(yi_items)}", "宜忌统计", allure.attachment_type.TEXT)
|
||||
allure.attach(f"忌事项数量: {len(ji_items)}", "宜忌统计", allure.attachment_type.TEXT)
|
||||
|
||||
# 宜忌事项应该存在(可能为空列表,但应该有区域)
|
||||
assert almanac_page.get_yi_count() >= 0, "宜事项区域异常"
|
||||
assert almanac_page.get_ji_count() >= 0, "忌事项区域异常"
|
||||
|
||||
@allure.title("日期切换功能测试")
|
||||
@allure.description("验证日期切换功能正常工作")
|
||||
@allure.severity(allure.severity_level.CRITICAL)
|
||||
@pytest.mark.smoke
|
||||
def test_date_switch(self, almanac_page) -> None:
|
||||
"""
|
||||
测试日期切换功能
|
||||
|
||||
前置条件:
|
||||
- 黄历页面已加载
|
||||
|
||||
测试步骤:
|
||||
1. 点击前一天按钮
|
||||
2. 验证日期变化
|
||||
3. 点击后一天按钮
|
||||
4. 验证日期变化
|
||||
|
||||
预期结果:
|
||||
- 日期正确切换
|
||||
- 黄历信息更新
|
||||
"""
|
||||
with allure.step("导航到黄历页面"):
|
||||
almanac_page.navigate()
|
||||
almanac_page.wait_for_data_load()
|
||||
|
||||
with allure.step("获取当前日期"):
|
||||
initial_date = almanac_page.get_solar_date()
|
||||
allure.attach(f"初始日期: {initial_date}", "日期切换", allure.attachment_type.TEXT)
|
||||
|
||||
with allure.step("点击前一天"):
|
||||
almanac_page.click_prev_date()
|
||||
almanac_page.wait_for_data_load()
|
||||
prev_date = almanac_page.get_solar_date()
|
||||
allure.attach(f"前一天: {prev_date}", "日期切换", allure.attachment_type.TEXT)
|
||||
|
||||
with allure.step("点击后一天"):
|
||||
almanac_page.click_next_date()
|
||||
almanac_page.wait_for_data_load()
|
||||
next_date = almanac_page.get_solar_date()
|
||||
allure.attach(f"后一天: {next_date}", "日期切换", allure.attachment_type.TEXT)
|
||||
|
||||
with allure.step("验证日期切换"):
|
||||
# 验证日期有变化
|
||||
assert prev_date != initial_date or next_date != initial_date, "日期切换未生效"
|
||||
|
||||
@allure.title("时辰吉凶显示测试")
|
||||
@allure.description("验证时辰吉凶信息正确显示")
|
||||
@allure.severity(allure.severity_level.NORMAL)
|
||||
@pytest.mark.regression
|
||||
def test_shichen_display(self, almanac_page) -> None:
|
||||
"""
|
||||
测试时辰吉凶显示
|
||||
|
||||
前置条件:
|
||||
- 黄历页面已加载
|
||||
|
||||
测试步骤:
|
||||
1. 查看时辰吉凶表格
|
||||
2. 验证时辰数量
|
||||
|
||||
预期结果:
|
||||
- 时辰表格可见
|
||||
- 时辰数量正确(12个时辰)
|
||||
"""
|
||||
with allure.step("导航到黄历页面"):
|
||||
almanac_page.navigate()
|
||||
almanac_page.wait_for_data_load()
|
||||
|
||||
with allure.step("验证时辰信息"):
|
||||
shichen_count = almanac_page.get_shichen_count()
|
||||
allure.attach(f"时辰数量: {shichen_count}", "时辰统计", allure.attachment_type.TEXT)
|
||||
|
||||
# 应该有12个时辰(或根据实际数据)
|
||||
assert shichen_count >= 0, "时辰信息异常"
|
||||
|
||||
@allure.title("其他信息展示测试")
|
||||
@allure.description("验证其他黄历信息正确显示")
|
||||
@allure.severity(allure.severity_level.NORMAL)
|
||||
@pytest.mark.regression
|
||||
def test_other_info_display(self, almanac_page) -> None:
|
||||
"""
|
||||
测试其他信息展示
|
||||
|
||||
前置条件:
|
||||
- 黄历页面已加载
|
||||
|
||||
测试步骤:
|
||||
1. 查看冲煞信息
|
||||
2. 查看五行信息
|
||||
3. 查看胎神信息
|
||||
4. 查看财神方位
|
||||
|
||||
预期结果:
|
||||
- 所有信息正确显示
|
||||
"""
|
||||
with allure.step("导航到黄历页面"):
|
||||
almanac_page.navigate()
|
||||
almanac_page.wait_for_data_load()
|
||||
|
||||
with allure.step("验证其他信息"):
|
||||
chongsha = almanac_page.get_chongsha()
|
||||
wuxing = almanac_page.get_wuxing()
|
||||
taishen = almanac_page.get_taishen()
|
||||
caishen = almanac_page.get_caishen()
|
||||
|
||||
allure.attach(f"冲煞: {chongsha}", "其他信息", allure.attachment_type.TEXT)
|
||||
allure.attach(f"五行: {wuxing}", "其他信息", allure.attachment_type.TEXT)
|
||||
allure.attach(f"胎神: {taishen}", "其他信息", allure.attachment_type.TEXT)
|
||||
allure.attach(f"财神: {caishen}", "其他信息", allure.attachment_type.TEXT)
|
||||
|
||||
# 信息应该存在(可能为空字符串,但应该有元素)
|
||||
assert chongsha is not None, "冲煞信息异常"
|
||||
assert wuxing is not None, "五行信息异常"
|
||||
assert taishen is not None, "胎神信息异常"
|
||||
assert caishen is not None, "财神信息异常"
|
||||
|
||||
@allure.title("Tab切换功能测试")
|
||||
@allure.description("验证底部Tab切换功能正常")
|
||||
@allure.severity(allure.severity_level.NORMAL)
|
||||
@pytest.mark.regression
|
||||
def test_tab_switch(self, almanac_page, page: Page) -> None:
|
||||
"""
|
||||
测试Tab切换功能
|
||||
|
||||
前置条件:
|
||||
- 黄历页面已加载
|
||||
|
||||
测试步骤:
|
||||
1. 点击万年历Tab
|
||||
2. 点击黄历Tab
|
||||
3. 点击我的Tab
|
||||
|
||||
预期结果:
|
||||
- Tab切换正常
|
||||
- 页面内容更新
|
||||
"""
|
||||
with allure.step("导航到黄历页面"):
|
||||
almanac_page.navigate()
|
||||
almanac_page.wait_for_data_load()
|
||||
|
||||
with allure.step("切换到万年历Tab"):
|
||||
almanac_page.click_tab_calendar()
|
||||
# 验证URL变化
|
||||
assert "calendar" in page.url or "/pages/calendar" in page.url, "未切换到万年历"
|
||||
|
||||
with allure.step("切换回黄历Tab"):
|
||||
almanac_page.click_tab_almanac()
|
||||
# 验证URL变化
|
||||
assert "almanac" in page.url or "/pages/almanac" in page.url, "未切换回黄历"
|
||||
Reference in New Issue
Block a user