test/framework/scripts/desktop_lifecycle.py
2026-03-17 14:59:41 +08:00

53 lines
1.7 KiB
Python

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)