dev_1.0.0_xuxt 完成web和alert模块开发,以及模块e2e测试 (#21)

Co-authored-by: xiuting.xu <xiutingxt.xu@gmail.com>
Reviewed-on: #21
Reviewed-by: huhy <husteryezi@163.com>
Reviewed-by: sundapeng <sundp@mail.zgclab.edu.cn>
Reviewed-by: yuyr <yuyr@zgclab.edu.cn>
This commit was merged in pull request #21.
This commit is contained in:
2025-10-14 10:20:45 +08:00
parent c098f1d3ce
commit 8fbe107ac9
89 changed files with 7152 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
#!/usr/bin/env bash
set -euo pipefail
WEB_URL=${WEB_URL:-"http://localhost:8080"}
API_URL=${API_URL:-"http://master.argus.com/api/v1/master/nodes"}
TIMEOUT=10
GREEN="\033[1;32m"
RED="\033[1;31m"
YELLOW="\033[1;33m"
RESET="\033[0m"
echo "[info] 测试 Argus Web 前端启动状态..."
echo "--------------------------------------------------"
# 等待 web 前端可用
attempt=1
while (( attempt <= 10 )); do
if curl -fsS -m "$TIMEOUT" -o /dev/null "$WEB_URL"; then
echo "[ok] Web 前端已启动 (${attempt}/10)"
break
fi
echo "[..] 等待 Web 前端启动中 (${attempt}/10)"
sleep 3
(( attempt++ ))
done
if (( attempt > 10 )); then
echo "[err] Web 前端在 30 秒内未启动"
exit 1
fi
# 1. 检查首页可访问性
echo "[test] 检查首页访问..."
if curl -fsS "$WEB_URL" -m "$TIMEOUT" | grep -q "<title>"; then
echo -e "[${GREEN}ok${RESET}] 首页可访问"
else
echo -e "[${RED}err${RESET}] 首页访问失败"
exit 1
fi
# 2. 检查静态资源加载
echo "[test] 检查静态资源..."
if curl -fsS "$WEB_URL/static/js" -m "$TIMEOUT" | grep -q "Cannot GET"; then
echo -e "[${YELLOW}warn${RESET}] 静态资源路径可能未正确配置"
else
echo -e "[${GREEN}ok${RESET}] 静态资源服务正常"
fi
# 3. 检查前端路由兼容
echo "[test] 检查 React Router 路由兼容..."
if curl -fsS "$WEB_URL/dashboard" -m "$TIMEOUT" | grep -q "<title>"; then
echo -e "[${GREEN}ok${RESET}] React Router 路由兼容正常"
else
echo -e "[${YELLOW}warn${RESET}] /dashboard 路由未正确返回 index.html"
fi
# 4. 测试 API 代理访问
echo "[test] 检查 API 代理..."
if curl -fsS "$API_URL" -m "$TIMEOUT" | grep -q "nodes"; then
echo -e "[${GREEN}ok${RESET}] API 代理成功"
else
echo -e "[${YELLOW}warn${RESET}] API 代理请求失败,请检查 Nginx proxy_pass"
fi
# 5. 页面关键字验证
echo "[test] 检查关键内容..."
if curl -fsS "$WEB_URL" | grep -q "Argus"; then
echo -e "[${GREEN}ok${RESET}] 页面包含关键字 'Argus'"
else
echo -e "[${YELLOW}warn${RESET}] 页面内容中未找到 'Argus'"
fi
# 6. DNS 检查
echo "[test] 检查 DNS 解析..."
if dig +short web.argus.com >/dev/null; then
echo -e "[${GREEN}ok${RESET}] 域名 web.argus.com 解析正常"
else
echo -e "[${YELLOW}warn${RESET}] 域名 web.argus.com 解析失败"
fi
# 7. 响应时间测试
echo "[test] 检查响应时间..."
response_time=$(curl -o /dev/null -s -w "%{time_total}\n" "$WEB_URL")
echo "[info] 响应时间: ${response_time}s"
if (( $(echo "$response_time > 2.0" | bc -l) )); then
echo -e "[${YELLOW}warn${RESET}] 响应时间较慢(>2s)"
else
echo -e "[${GREEN}ok${RESET}] 响应时间正常"
fi
echo "--------------------------------------------------"
echo "[done] Web 前端测试完成 ✅"