文件
OmniCard/docs/test-evidence/round-3/test-btp-09.ps1

68 行
3.9 KiB
PowerShell

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 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 "=================================================="