SmartUI
TestMu AI (ранее LambdaTest) SmartUI предоставляет визуальное регрессионное тестирование с искусственным интеллектом для ваших тестов WebdriverIO. Он делает снимки экрана, сравнивает их с базовыми изображениями и выделяет визуальные различия с помощью интеллектуальных алгоритмов сравнения.
Настройка
Создание проекта SmartUI
Зарегистрируйтесь в TestMu AI (ранее LambdaTest) и перейдите в Проекты SmartUI для создания нового проекта. Выберите Web в качестве платформы и настройте имя проекта, утверждающих и теги.
Настройка учетных данных
Получите ваши LT_USERNAME и LT_ACCESS_KEY из панели управления TestMu AI (ранее LambdaTest) и установите их как переменные окружения:
export LT_USERNAME="<your username>"
export LT_ACCESS_KEY="<your access key>"
Установка SDK SmartUI
npm install @lambdatest/wdio-driver
Настройка WebdriverIO
Обновите ваш wdio.conf.js:
exports.config = {
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
capabilities: [{
browserName: 'chrome',
browserVersion: 'latest',
'LT:Options': {
platform: 'Windows 10',
build: 'SmartUI Build',
name: 'SmartUI Test',
smartUI.project: '<Your Project Name>',
smartUI.build: '<Your Build Name>',
smartUI.baseline: false
}
}]
}
Использование
Используйте browser.execute('smartui.takeScreenshot') для создания скриншотов:
describe('WebdriverIO SmartUI Test', () => {
it('should capture screenshot for visual testing', async () => {
await browser.url('https://webdriver.io');
await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Homepage Screenshot'
});
await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Homepage with Options',
ignoreDOM: {
id: ['dynamic-element-id'],
class: ['ad-banner']
}
});
});
});
Запуск тестов
npx wdio wdio.conf.js
Просмотр результатов в Панели управления SmartUI.
Расширенные опции
Игнорирование элементов
await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Ignore Dynamic Elements',
ignoreDOM: {
id: ['element-id'],
class: ['dynamic-class'],
xpath: ['//div[@class="ad"]']
}
});
Выбор определенных областей
await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Compare Specific Area',
selectDOM: {
id: ['main-content']
}
});
Ресурсы
| Ресурс | Описание |
|---|---|
| Официальная документация | Документация SmartUI |
| Панель управления SmartUI | Доступ к вашим проектам и сб оркам SmartUI |
| Расширенные настройки | Настройка чувствительности сравнения |
| Опции сборки | Расширенная настройка сборки |