test/framework/scripts/three_d_assets_scenario.py

36 lines
1.5 KiB
Python

import time
from framework.core.logger import get_logger
logger = get_logger("ThreeDAssetsScenario")
def run_3d_assets_lifecycle(assets_page, asset_name):
"""
业务逻辑:将 3D 生成的资产归档到指定的业务包 (ui_test)
"""
logger.info(f"--- 开启 3D 资产归档测试 (资产名: {asset_name}) ---")
# 1. 导航到 3D 资产菜单
assets_page.navigate_to()
# 2. 进入 ui_test 资产包
if assets_page.enter_asset_package("ui_test"):
# 3. 开启新增数据子弹窗流程
if assets_page.add_asset_data(asset_name):
logger.info(f"✅ 资产 {asset_name} 关联至 ui_test 成功,准备深度校验...")
# 4. 列表校验 + 资产预览校验 (点开 X 关闭)
if not assets_page.verify_asset_and_preview(asset_name):
raise Exception("资产列表校验或 3D 预览渲染失败")
# 5. 源文件查看校验 (右上角按钮)
if not assets_page.check_source_files():
raise Exception("源文件侧边栏加载异常")
logger.info(f"✨ 3D 资产归档及渲染巡检圆满完成: {asset_name}")
else:
logger.error(f"❌ 3D 资产归档失败: {asset_name}")
raise Exception("3D 资产归档数据新增失败")
else:
logger.error("❌ 无法进入指定的资产包 'ui_test'")
raise Exception("无法进入资产包,流程中断")