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("无法进入资产包,流程中断")