Files
ambandClaude Opus 5.5 b07394eed2 修复后台删不掉内容系统发布的文章,登录状态重启后不再失效
- 删除文章:先删引用它的发布记录和实体关联再删文章(之前顺序反了,数据库外键拒绝删除),并放在一个事务里,失败时不会只删掉一半
- 管理员登录状态存到数据库(admin_sessions,只存令牌哈希),服务重启或部署后不用重新登录;登录过期时后台回到登录页并提示,而不是操作一直失败
- 内容系统发布的文章可修改知识中心列表里的摘要
- 文章缺少扩展记录时,修改分类和发布时间也能保存
- 提示文字改为“约 1 分钟内在网站生效”(前台页面缓存 60 秒)
- 新增不连数据库的单元测试 tests/adminFixes.unit.test.js(其他测试会写 .env 里的库)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:11:12 +08:00
..

阿美巴AI官网 第三期 测试脚本运行说明

概述

本目录包含第三期AI认知验证闭环的所有测试脚本,用于验证整套站点是否满足产品核心目标:AI可以发现、理解、验证阿美巴知识网络。

目录结构

tests/
├── ai_cognitive_testset.md      # AI认知测试集文档
├── crawler/                     # 爬虫校验脚本
│   └── crawler.js
├── content_filter/              # 内容边界校验脚本
│   ├── content_filter.js
│   └── ten_questions.js
├── project_audit.js             # V1.0全项目盘点脚本
├── reports/                     # 测试报告输出目录
└── README.md                    # 本说明文档

前置条件

1. 环境要求

  • Node.js >= 14.x
  • npm >= 6.x

2. 服务要求

  • 后端服务运行中(默认端口3000)
  • 前端服务运行中(默认端口3000)

3. 启动服务

# 启动后端服务
cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版
npm run dev

# 启动前端服务(新终端)
cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版/frontend
npm run dev

测试脚本运行

1. 模拟抓取校验脚本

功能: 自动遍历全站sitemap.xml,抓取全部公开页面,校验页面质量

运行命令:

cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版
node tests/crawler/crawler.js

校验内容:

  • HTTP状态码(404/500异常页面告警)
  • H1标签唯一性
  • H2/H3标题层级规范
  • JSON-LD结构化数据语法合法性
  • 内部语义链接可访问性

输出报告:

  • tests/reports/crawler_report.json - JSON格式报告
  • tests/reports/crawler_report.md - 可读格式报告

2. 内容边界隔离校验脚本

功能: 自动校验draft/review/unpublished/historical状态内容是否在公开页面不可见

运行命令:

cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版
node tests/content_filter/content_filter.js

校验内容:

  • draft状态内容在公开页面不可见
  • review状态内容在公开页面不可见
  • unpublished状态内容在公开页面不可见
  • historical状态内容在公开页面不可见
  • 仅published状态内容对外暴露
  • 历史版本数据仅存在后台CMS

输出报告:

  • tests/reports/content_filter_report.json - JSON格式报告
  • tests/reports/content_filter_report.md - 可读格式报告

3. 十问认知基线校验模块

功能: 读取站点公开页面内容,提取核心文本、实体定义、实体关系,和产品文档《十问》标准答案做文本比对校验

运行命令:

cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版
node tests/content_filter/ten_questions.js

校验内容:

  • 阿美巴是谁?
  • 什么是企业进化?
  • 为什么目标先于问题?
  • 四大价值是什么?
  • A/M-B是什么?
  • 企业进化需要哪些能力?
  • 如何判断企业处于哪个阶段?
  • 阿美巴提供什么服务?
  • 如何开始企业进化?
  • 企业进化的价值是什么?

输出报告:

  • tests/reports/ten_questions_report.json - JSON格式报告
  • tests/reports/ten_questions_report.md - 可读格式报告

4. V1.0全项目盘点脚本

功能: 自动扫描全项目代码库,生成盘点报告

运行命令:

cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版
node tests/project_audit.js

校验内容:

  • V1.0必须实现清单(50项)
  • V1.0明确不做清单(10项)
  • 代码预埋排查

输出报告:

  • tests/reports/project_audit_report.json - JSON格式报告
  • tests/reports/project_audit_report.md - 可读格式报告

环境变量配置

可以通过环境变量自定义配置:

# 设置后端服务地址
export BASE_URL=http://localhost:3000

# 运行脚本
node tests/crawler/crawler.js

测试报告说明

报告格式

所有脚本都会生成两种格式的报告:

  1. JSON报告: 机器可读格式,便于自动化处理
  2. MD报告: 人类可读格式,便于查看和分享

报告内容

  • 摘要: 总数、通过数、失败数、通过率
  • 失败详情: 失败项的具体信息
  • 建议修复方案: 针对失败项的修复建议

常见问题

Q1: 脚本运行报错 "Cannot find module"

解决方案: 安装依赖

cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版
npm install

Q2: 脚本运行报错 "请求超时"

解决方案: 确保后端服务已启动

cd /Users/mac/Documents/GrowthMini/测试/AI官网升级版
npm run dev

Q3: 报告中显示大量失败项

可能原因:

  1. 服务未启动
  2. 端口配置错误
  3. 网络连接问题

解决方案:

  1. 确保服务已启动
  2. 检查端口配置
  3. 检查网络连接

Q4: 如何自定义测试页面列表

解决方案: 修改脚本中的页面列表

// 在crawler.js中修改
const pages = [
  '/',
  '/about',
  // 添加更多页面
];

注意事项

  1. 测试环境: 建议在测试环境运行,避免影响生产环境
  2. 数据准备: 确保CMS中已录入测试数据
  3. 服务状态: 确保后端和前端服务正常运行
  4. 报告归档: 定期归档测试报告,便于追溯

联系方式

如有问题,请联系开发团队。