- docs/acceptance/qa-tracker.md:跨周期缺陷单一真源台账(§7=第五轮)。 - 周期 1/2 + iPhone SE/axe 验收证据目录、ACCEPTANCE_REVIEW 快照入库。 - 同步 README/CONTEXT/CLAUDE/DESIGN/testing/deployment/lessons-learned 口径; next.config/Dockerfile/nginx/Jenkinsfile/docker-compose/sentry/prisma 对齐 standalone 产物装配与部署形态。
22 lines
1011 B
TypeScript
22 lines
1011 B
TypeScript
import { test } from '@playwright/test';
|
|
|
|
// 只打印、不判定:把「fixture browserName 值」与「真实引擎(userAgent)」两件事分开测,
|
|
// 因为跳过条件读的是前者,而能力(Touchscreen API)取决于后者。
|
|
test('probe browserName identity', async ({ browserName, page }, testInfo) => {
|
|
const ua = await page.evaluate(() => navigator.userAgent);
|
|
const touchPoints = await page.evaluate(() => 'ontouchstart' in window ? (navigator.maxTouchPoints ?? 0) : -1);
|
|
console.log(
|
|
JSON.stringify({
|
|
project: testInfo.project.name,
|
|
fixtureBrowserName: browserName,
|
|
useBrowserName: (testInfo.project.use as { browserName?: string }).browserName ?? null,
|
|
skipConditionIsTrue: browserName !== 'chromium',
|
|
ua: ua.slice(0, 90),
|
|
engine: /AppleWebKit\/.*Version\//.test(ua) && !/Chrome\//.test(ua) ? 'webkit'
|
|
: /Firefox\//.test(ua) ? 'firefox'
|
|
: /Chrome\//.test(ua) ? 'chromium' : 'unknown',
|
|
touchPoints,
|
|
}),
|
|
);
|
|
});
|