chore: 删除不再使用的playwright测试脚本
This commit is contained in:
@@ -1,185 +0,0 @@
|
|||||||
const { chromium } = require('playwright');
|
|
||||||
|
|
||||||
// 目标URL
|
|
||||||
const TARGET_URL = 'http://localhost:3000';
|
|
||||||
|
|
||||||
// 门户网站常见特征关键词
|
|
||||||
const PORTAL_KEYWORDS = [
|
|
||||||
'门户网站',
|
|
||||||
'门户网',
|
|
||||||
'信息门户',
|
|
||||||
'企业门户',
|
|
||||||
'门户首页',
|
|
||||||
'门户系统',
|
|
||||||
'Portal',
|
|
||||||
'门户网站首页',
|
|
||||||
'综合门户',
|
|
||||||
'行业门户'
|
|
||||||
];
|
|
||||||
|
|
||||||
// 门户网站常见元素选择器
|
|
||||||
const PORTAL_SELECTORS = [
|
|
||||||
'text=门户网站',
|
|
||||||
'text=门户网',
|
|
||||||
'text=信息门户',
|
|
||||||
'.portal',
|
|
||||||
'#portal',
|
|
||||||
'[class*="portal"]',
|
|
||||||
'[id*="portal"]'
|
|
||||||
];
|
|
||||||
|
|
||||||
(async () => {
|
|
||||||
console.log('🚀 启动 Playwright 测试...');
|
|
||||||
console.log(`🎯 目标URL: ${TARGET_URL}`);
|
|
||||||
console.log('');
|
|
||||||
|
|
||||||
const browser = await chromium.launch({ headless: true });
|
|
||||||
const page = await browser.newPage();
|
|
||||||
|
|
||||||
try {
|
|
||||||
// 1. 访问页面
|
|
||||||
console.log('📄 正在加载页面...');
|
|
||||||
const response = await page.goto(TARGET_URL, {
|
|
||||||
waitUntil: 'networkidle',
|
|
||||||
timeout: 30000
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!response) {
|
|
||||||
throw new Error('页面加载失败:无响应');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!response.ok()) {
|
|
||||||
throw new Error(`页面加载失败:HTTP ${response.status()}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(`✅ 页面加载成功 (HTTP ${response.status()})`);
|
|
||||||
console.log('');
|
|
||||||
|
|
||||||
// 2. 获取页面基本信息
|
|
||||||
const title = await page.title();
|
|
||||||
const url = page.url();
|
|
||||||
const html = await page.content();
|
|
||||||
const bodyText = await page.locator('body').innerText();
|
|
||||||
|
|
||||||
console.log('📊 页面基本信息:');
|
|
||||||
console.log(` - 标题: ${title}`);
|
|
||||||
console.log(` - URL: ${url}`);
|
|
||||||
console.log('');
|
|
||||||
|
|
||||||
// 3. 验证页面不是门户网站 - 多维度检查
|
|
||||||
let isPortal = false;
|
|
||||||
const failureReasons = [];
|
|
||||||
|
|
||||||
// 3.1 检查标题中是否包含门户关键词
|
|
||||||
console.log('🔍 检查1: 页面标题分析...');
|
|
||||||
const titleLower = title.toLowerCase();
|
|
||||||
for (const keyword of PORTAL_KEYWORDS) {
|
|
||||||
if (titleLower.includes(keyword.toLowerCase())) {
|
|
||||||
isPortal = true;
|
|
||||||
failureReasons.push(`标题包含门户关键词: "${keyword}"`);
|
|
||||||
console.log(` ❌ 发现门户关键词: "${keyword}"`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!isPortal) {
|
|
||||||
console.log(' ✅ 标题未包含门户关键词');
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3.2 检查页面内容中是否包含门户关键词
|
|
||||||
console.log('');
|
|
||||||
console.log('🔍 检查2: 页面内容分析...');
|
|
||||||
const bodyTextLower = bodyText.toLowerCase();
|
|
||||||
const foundKeywords = [];
|
|
||||||
for (const keyword of PORTAL_KEYWORDS) {
|
|
||||||
if (bodyTextLower.includes(keyword.toLowerCase())) {
|
|
||||||
foundKeywords.push(keyword);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (foundKeywords.length > 0) {
|
|
||||||
isPortal = true;
|
|
||||||
failureReasons.push(`页面内容包含门户关键词: ${foundKeywords.join(', ')}`);
|
|
||||||
console.log(` ❌ 发现门户关键词: ${foundKeywords.join(', ')}`);
|
|
||||||
} else {
|
|
||||||
console.log(' ✅ 页面内容未包含门户关键词');
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3.3 检查是否存在门户相关的DOM元素
|
|
||||||
console.log('');
|
|
||||||
console.log('🔍 检查3: DOM元素分析...');
|
|
||||||
let foundPortalElements = false;
|
|
||||||
for (const selector of PORTAL_SELECTORS) {
|
|
||||||
const count = await page.locator(selector).count();
|
|
||||||
if (count > 0) {
|
|
||||||
foundPortalElements = true;
|
|
||||||
isPortal = true;
|
|
||||||
failureReasons.push(`发现门户相关DOM元素: ${selector} (数量: ${count})`);
|
|
||||||
console.log(` ❌ 发现门户相关元素: ${selector} (${count}个)`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!foundPortalElements) {
|
|
||||||
console.log(' ✅ 未发现门户相关DOM元素');
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3.4 检查meta标签
|
|
||||||
console.log('');
|
|
||||||
console.log('🔍 检查4: Meta标签分析...');
|
|
||||||
const metaDescription = await page.locator('meta[name="description"]').getAttribute('content').catch(() => '');
|
|
||||||
const metaKeywords = await page.locator('meta[name="keywords"]').getAttribute('content').catch(() => '');
|
|
||||||
|
|
||||||
const metaContent = `${metaDescription} ${metaKeywords}`.toLowerCase();
|
|
||||||
const foundMetaKeywords = [];
|
|
||||||
for (const keyword of PORTAL_KEYWORDS) {
|
|
||||||
if (metaContent.includes(keyword.toLowerCase())) {
|
|
||||||
foundMetaKeywords.push(keyword);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (foundMetaKeywords.length > 0) {
|
|
||||||
isPortal = true;
|
|
||||||
failureReasons.push(`Meta标签包含门户关键词: ${foundMetaKeywords.join(', ')}`);
|
|
||||||
console.log(` ❌ Meta标签包含门户关键词: ${foundMetaKeywords.join(', ')}`);
|
|
||||||
} else {
|
|
||||||
console.log(' ✅ Meta标签未包含门户关键词');
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4. 输出验证结果
|
|
||||||
console.log('');
|
|
||||||
console.log('='.repeat(60));
|
|
||||||
if (isPortal) {
|
|
||||||
console.log('❌ 测试失败:页面被识别为门户网站');
|
|
||||||
console.log('');
|
|
||||||
console.log('失败原因:');
|
|
||||||
failureReasons.forEach((reason, index) => {
|
|
||||||
console.log(` ${index + 1}. ${reason}`);
|
|
||||||
});
|
|
||||||
process.exit(1);
|
|
||||||
} else {
|
|
||||||
console.log('✅ 测试通过:页面不是门户网站');
|
|
||||||
console.log('');
|
|
||||||
console.log('验证详情:');
|
|
||||||
console.log(' ✓ 标题不包含门户关键词');
|
|
||||||
console.log(' ✓ 页面内容不包含门户关键词');
|
|
||||||
console.log(' ✓ 不存在门户相关DOM元素');
|
|
||||||
console.log(' ✓ Meta标签不包含门户关键词');
|
|
||||||
console.log('');
|
|
||||||
console.log('页面特征:');
|
|
||||||
console.log(` - 标题: "${title}"`);
|
|
||||||
console.log(` - 描述: "${metaDescription || 'N/A'}"`);
|
|
||||||
console.log(` - 内容长度: ${bodyText.length} 字符`);
|
|
||||||
}
|
|
||||||
console.log('='.repeat(60));
|
|
||||||
|
|
||||||
// 5. 截图保存
|
|
||||||
await page.screenshot({ path: './test-screenshot.png', fullPage: true });
|
|
||||||
console.log('');
|
|
||||||
console.log('📸 截图已保存: ./test-screenshot.png');
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
console.error('');
|
|
||||||
console.error('❌ 测试执行出错:');
|
|
||||||
console.error(` ${error.message}`);
|
|
||||||
process.exit(1);
|
|
||||||
} finally {
|
|
||||||
await browser.close();
|
|
||||||
console.log('');
|
|
||||||
console.log('🎯 测试完成');
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
Reference in New Issue
Block a user