# BTP-09 AI 智能顾问配置与大模型连接端到端测试自动化脚本 $session = "btp09" $evidenceDir = "docs/test-evidence/round-3" $screenshotPath = "$evidenceDir/btp-09-concierge.png" Write-Host "==================================================" Write-Host "【BTP-09】AI 智能顾问配置与大模型连接端到端测试" Write-Host "Session ID: $session" Write-Host "==================================================" # 步骤 1:打开登录页面 Write-Host "`n[1/5] 打开登录页面 (http://localhost:5173/login)..." agent-browser --session $session open "http://localhost:5173/login" agent-browser --session $session wait 2000 # 步骤 2:执行登录 Write-Host "`n[2/5] 执行登录 (点击 button.arco-btn-primary)..." agent-browser --session $session click "button.arco-btn-primary" agent-browser --session $session wait 3000 # 步骤 3:导航至 AI 顾问配置页并等待内容就绪 Write-Host "`n[3/5] 导航至 AI 顾问配置页 (http://localhost:5173/ai/concierge)..." agent-browser --session $session open "http://localhost:5173/ai/concierge" agent-browser --session $session wait 7000 # 步骤 4:提取页面 DOM 交互快照与核心元素检测 Write-Host "`n[4/5] 获取页面 DOM 交互快照与核心元素检测..." $snapshot = agent-browser --session $session snapshot -i Write-Host "---------- DOM Snapshot (Interactive Elements) ----------" Write-Host $snapshot Write-Host "---------------------------------------------------------" Write-Host "`n核心元素检测项:" # (1) AI 人设预设(Persona) $hasPersona = ($snapshot -match "Trade Expert") -or ($snapshot -match "Business Rep") -or ($snapshot -match "Tech Advisor") -or ($snapshot -match "Custom Persona") -or ($snapshot -match "Persona") Write-Host " 1. AI 人设预设 (Persona): $(if ($hasPersona) { '[PASS] 已检测到预设人设单选组 (Trade Expert, Business Rep, Tech Advisor, Custom Persona)' } else { '[FAIL] 未检测到' })" # (2) 开场白欢迎语输入框 $hasWelcome = ($snapshot -match "Welcome Message") -or ($snapshot -match "welcomeMsg") -or ($snapshot -match "开场白") -or ($snapshot -match "textarea") Write-Host " 2. 开场白欢迎语输入框: $(if ($hasWelcome) { '[PASS] 已检测到开场白欢迎语输入框 (Welcome Message)' } else { '[FAIL] 未检测到' })" # (3) 留资触发阈值 Slider 滑块 $hasSlider = ($snapshot -match "slider") -and (($snapshot -match "70") -or ($snapshot -match "Threshold")) Write-Host " 3. 留资触发阈值 Slider 滑块: $(if ($hasSlider) { '[PASS] 已检测到留资触发阈值 Slider 滑块 (默认 70 分)' } else { '[FAIL] 未检测到' })" # (4) 多语言开关 $hasLangSwitch = ($snapshot -match "button") -and (($snapshot -match "Search") -or ($snapshot -match "Dashboard")) Write-Host " 4. 多语言开关: $(if ($hasLangSwitch) { '[PASS] 已检测到 Navbar 国际化多语言切换组件' } else { '[FAIL] 未检测到' })" # (5) DeepSeek 大模型连通测试/配置区域 $hasDeepSeek = ($snapshot -match "DeepSeek") -and (($snapshot -match "Test Connection") -or ($snapshot -match "Save Model Config") -or ($snapshot -match "api.deepseek.com")) Write-Host " 5. DeepSeek 大模型连通测试/配置区域: $(if ($hasDeepSeek) { '[PASS] 已检测到 DeepSeek 大模型配置区、端点及连通测试按钮' } else { '[FAIL] 未检测到' })" # 步骤 5:截取完整 AI 顾问配置页面截图凭证 Write-Host "`n[5/5] 截取完整 AI 顾问配置页面截图凭证到 $screenshotPath..." agent-browser --session $session screenshot --full $screenshotPath Write-Host "`n==================================================" $allPassed = $hasPersona -and $hasWelcome -and $hasSlider -and $hasLangSwitch -and $hasDeepSeek if ($allPassed) { Write-Host "【BTP-09 测试结论】: [PASS] 全部通过" } else { Write-Host "【BTP-09 测试结论】: [FAIL] 存在未通过项" } Write-Host "截图凭证保存至: $screenshotPath" Write-Host "=================================================="