34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
// 加载环境变量
|
||
require('../../config/env');
|
||
|
||
const { test } = require('@playwright/test');
|
||
const TestController = require('../../src/controllers/TestController');
|
||
|
||
test.describe('菜单可访问性测试', () => {
|
||
let controller;
|
||
|
||
test.beforeAll(async () => {
|
||
controller = new TestController();
|
||
});
|
||
|
||
test('应该能成功收集所有菜单数据', async () => {
|
||
const menuData = await controller.collectMenuData();
|
||
test.expect(menuData.length).toBeGreaterThan(0);
|
||
console.log(`✓ 成功收集 ${menuData.length} 个菜单项`);
|
||
});
|
||
|
||
test('应该能访问所有菜单页面', async () => {
|
||
// 开始批量测试
|
||
const result = await controller.runAllTests();
|
||
|
||
// 验证测试结果
|
||
const progress = controller.getTestProgress();
|
||
test.expect(progress.completed).toBe(progress.total);
|
||
|
||
// 输出测试统计
|
||
console.log('\n测试完成!');
|
||
console.log(`✓ 总计测试: ${progress.total} 个菜单`);
|
||
console.log(`✓ 成功完成: ${progress.completed} 个菜单`);
|
||
console.log(`✓ 成功率: ${((progress.completed / progress.total) * 100).toFixed(2)}%`);
|
||
});
|
||
});
|