import time from framework.business.cloud_desktop import CloudDesktopService from framework.models.result import StepResult from framework.config.settings import Config from framework.core.logger import get_logger logger = get_logger("LifecycleScript") def run_postpaid_lifecycle(name): """ 业务逻辑:按量转包月完整生命周期示例 """ service = CloudDesktopService() results = [] # 1. 创建 logger.info(f"Step 1: 创建云桌面 {name}") t0 = time.time() try: desktop_id = service.create_desktop(name, charge_type="PostPaid") results.append(StepResult("创建云桌面", True, f"成功 ID: {desktop_id}", time.time()-t0)) except Exception as e: results.append(StepResult("创建云桌面", False, str(e), time.time()-t0)) return results, None # 等待部署 time.sleep(Config.WAIT['create']) # 2. 关机 logger.info("Step 2: 关机") t0 = time.time() try: service.stop_desktop(desktop_id) results.append(StepResult("关机", True, "成功", time.time()-t0)) except Exception as e: results.append(StepResult("关机", False, str(e), time.time()-t0)) # 3. 删除 (示例简化,不写全部逻辑) logger.info("Step 3: 删除") t0 = time.time() try: service.delete_desktop(desktop_id) results.append(StepResult("删除", True, "成功", time.time()-t0)) except Exception as e: results.append(StepResult("删除", False, str(e), time.time()-t0)) return results, desktop_id if __name__ == "__main__": res, d_id = run_postpaid_lifecycle("RobotFramework-Test") for r in res: print(r)