使用说明
@安格斯克/剧作家视觉测试
基于Playwright的可视化回归测试工具,支持UI截图比较和自动测试。
安装
npm install @anguske/playwright-visual-test
# or
yarn add @anguske/playwright-visual-test
# or
pnpm add @anguske/playwright-visual-test
特性
- 支持多视口大小测试
- 可配置的比较阈值
- 支持忽略动态内容区域
- 自动生成比较报告
- 与MCP协议集成
API文档
runTest(选项)
主要测试功能,接受以下参数:
url:目标页面URLviewport:视口大小配置{ width: number, height: number }waitForSelector?:可选,等待特定元素出现ignoreSelectors?:可选,要忽略的选择器数组threshold?:可选,像素比较阈值(0-1)
许可证
麻省理工学院
MCP Playwright可视化测试工具配置指南
在mcp.json中,您可以按如下方式配置Playwright可视化测试工具:
{
"mcp-playwright": {
"command": "npx",
"args": [
"-y",
"@anguske/mcp-playwright-visual-test"
],
"env": {
// Auto login configuration
"AUTO_LOGIN_USERNAME": "your-username",
"AUTO_LOGIN_PASSWORD": "your-password",
"AUTO_LOGIN_USERNAME_SELECTOR": "#userNameSignIn",
"AUTO_LOGIN_PASSWORD_SELECTOR": "#passwordSignIn",
"AUTO_LOGIN_SUBMIT_SELECTOR": "input[type=\"submit\"]",
"AUTO_LOGIN_SUCCESS_SELECTOR": "", // Optional, element selector after successful login
"AUTO_LOGIN_URL_PATTERN": "login|signin|auth", // Login page URL match pattern
// Visual test configuration
"TEST_SELECTOR": "", // Optional, selector for element to screenshot
"TEST_WAIT_FOR_SELECTOR": "", // Optional, wait for specific element
"TEST_WAIT_TIMEOUT": 10000, // Optional, wait timeout in milliseconds
"TEST_THRESHOLD": 20, // Optional, pixel comparison threshold (0-100)
"TEST_IGNORE_SELECTORS": ".dynamic-content,.ads", // Optional, selectors to ignore, comma separated
"TEST_VIEWPORT_WIDTH": 1440, // Optional, viewport width, default 1280
"TEST_VIEWPORT_HEIGHT": 800, // Optional, viewport height, default 720
// Project configuration
"PROJECT_ROOT": "D:/myProject/quickstart-resources/weather-server-typescript" // Project root path
}
}
}
配置详情
自动登录配置
AUTO_LOGIN_USERNAME:登录用户名AUTO_LOGIN_PASSWORD:登录密码AUTO_LOGIN_USERNAME_SELECTOR:用户名输入字段选择器AUTO_LOGIN_PASSWORD_SELECTOR:密码输入字段选择器AUTO_LOGIN_SUBMIT_SELECTOR:登录按钮选择器AUTO_LOGIN_SUCCESS_SELECTOR:成功登录后的元素选择器(可选)AUTO_LOGIN_URL_PATTERN:用于自动检测登录页面重定向的登录页面URL匹配模式
视觉测试配置
TEST_SELECTOR:要截图的元素选择器,如果未设置,则捕获整个页面TEST_WAIT_FOR_SELECTOR:在截图之前等待特定元素TEST_WAIT_TIMEOUT:等待元素的超时时间(毫秒)TEST_THRESHOLD:图像比较的像素差阈值(0-100),默认值为100TEST_IGNORE_SELECTORS:比较过程中要忽略的选择器列表,逗号分隔TEST_VIEWPORT_WIDTH:浏览器视口宽度,默认值1280TEST_VIEWPORT_HEIGHT:浏览器视口高度,默认值720
项目配置
PROJECT_ROOT:用于存储屏幕截图和文件的项目根目录的绝对路径
备注
- 所有配置项都是可选的,但建议配置基本登录信息和视口大小
- 屏幕截图将保存在
screenshots项目根目录中的文件夹 - 比较结果将生成三个文件:
current.png:当前测试截图baseline.png:基线屏幕截图diff.png:差异比较图像
- 首次运行时,当前屏幕截图将自动设置为基线图像
