使用 npm 安装 Applitools SDK:
npm install @applitools/eyes-selenium
Selenium WebDriver 示例
npm install selenium-webdriver @applitools/eyes-selenium
const { Builder, By } = require('selenium-webdriver');
const { Eyes, Target } = require('@applitools/eyes-selenium');
(async function example() {
let driver = new Builder().forBrowser('chrome').build();
let eyes = new Eyes();
eyes.setApiKey('YOUR_API_KEY');
try {
await eyes.open(driver, 'Example App', 'Example Test');
await driver.get('https://example.com');
await eyes.check('Main Page', Target.window());
await eyes.close();
} finally {
await driver.quit();
await eyes.abortIfNotClosed();
}
})();
node your-test-file.js
eyes.open(driver, appName, testName):初始化视觉测试。
driver
:WebDriver 实例。appName
:应用程序名称。testName
:测试名称。await eyes.open(driver, 'Example App', 'Example Test');
eyes.check(name, target):捕获截图并进行视觉比较。
name
:检查点名称。target
:目标窗口或区域。await eyes.check('Main Page', Target.window());
eyes.close():结束视觉测试并提交结果。
await eyes.close();
eyes.abortIfNotClosed():如果测试未正常结束,则终止测试。
await eyes.abortIfNotClosed();
eyes.setApiKey(apiKey):设置 Applitools API 密钥。
eyes.setApiKey('YOUR_API_KEY');
跨浏览器和设备测试
使用 Applitools Ultrafast Grid 可以在多个浏览器和设备配置上并行运行视觉测试:
const { Eyes, VisualGridRunner, BrowserType, DeviceName } = require('@applitools/eyes-selenium');
const runner = new VisualGridRunner(10);
const eyes = new Eyes(runner);
eyes.setApiKey('YOUR_API_KEY');
eyes.setConfiguration({
appName: 'Example App',
testName: 'Example Test',
browser: [
{ width: 800, height: 600, name: BrowserType.CHROME },
{ width: 700, height: 500, name: BrowserType.FIREFOX },
{ deviceName: DeviceName.iPhone_X }
]
});
await eyes.open(driver);
await eyes.check('Main Page', Target.window());
await eyes.closeAsync();
await runner.getAllTestResults();
与 CI/CD 工具集成
以下是一个简单的 GitHub Actions 配置示例,用于集成 Applitools 进行视觉测试:
name: Visual Testing
on: [push, pull_request]
jobs:
visual-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Install dependencies
run: npm install
- name: Run visual tests
run: node your-test-file.js
env:
APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}