Перейти к основному содержимому

Для веб-приложений

Интеграция ваших тестов WebdriverIO с Percy

Перед интеграцией, вы можете изучить учебное пособие Percy по созданию примера для WebdriverIO. Интегрируйте ваши автоматизированные тесты WebdriverIO с BrowserStack Percy, вот обзор шагов интеграции:

Шаг 1: Создайте проект Percy

Зарегистрируйтесь в Percy. В Percy создайте проект типа Web и назовите его. После создания проекта Percy генерирует токен. Запишите его. Вам нужно будет использовать его для установки переменной среды на следующем шаге.

Для подробной информации о создании проекта см. Создание проекта Percy.

Шаг 2: Установите токен проекта как переменную среды

Запустите данную команду, чтобы установить PERCY_TOKEN как переменную среды:

export PERCY_TOKEN="<your token here>"   // macOS or Linux
$Env:PERCY_TOKEN="<your token here>" // Windows PowerShell
set PERCY_TOKEN="<your token here>" // Windows CMD

Шаг 3: Установите зависимости Percy

Установите компоненты, необходимые для создания среды интеграции для вашего набора тестов.

Для установки зависимостей выполните следующую команду:

npm install --save-dev @percy/cli @percy/webdriverio

Шаг 4: Обновите ваш тестовый скрипт

Импортируйте библиотеку Percy, чтобы использовать метод и атрибуты, необходимые для создания скриншотов. В следующем примере используется функция percySnapshot() в асинхронном режиме:

import percySnapshot from '@percy/webdriverio';
describe('webdriver.io page', () => {
it('should have the right title', async () => {
await browser.url('https://webdriver.io');
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js');
await percySnapshot('webdriver.io page');
});
});

При использовании WebdriverIO в автономном режиме, предоставьте объект браузера как первый аргумент функции percySnapshot:

import { remote } from 'webdriverio'

import percySnapshot from '@percy/webdriverio';

const browser = await remote({
logLevel: 'trace',
capabilities: {
browserName: 'chrome'
}
});

await browser.url('https://duckduckgo.com');
const inputElem = await browser.$('#search_form_input_homepage');
await inputElem.setValue('WebdriverIO');
const submitBtn = await browser.$('#search_button_homepage');
await submitBtn.click();
// the browser object is required in standalone mode
percySnapshot(browser, 'WebdriverIO at DuckDuckGo');
await browser.deleteSession();

Аргументы метода снимка:

percySnapshot(name[, options])

Автономный режим

percySnapshot(browser, name[, options])
  • browser (обязательно) - Объект браузера WebdriverIO
  • name (обязательно) - Имя снимка; должно быть уникальным для каждого снимка
  • options - Смотрите настройки конфигурации для каждого снимка

Чтобы узнать больше, см. Percy snapshot.

Шаг 5: Запустите Percy

Запустите ваши тесты с помощью команды percy exec, как показано ниже:

Если вы не можете использовать команду percy:exec или предпочитаете запускать тесты с помощью параметров запуска IDE, вы можете использовать команды percy:exec:start и percy:exec:stop. Чтобы узнать больше, посетите Run Percy.

percy exec -- wdio wdio.conf.js
[percy] Percy has started!
[percy] Created build #1: https://percy.io/[your-project]
[percy] Running "wdio wdio.conf.js"
...
[...] webdriver.io page
[percy] Snapshot taken "webdriver.io page"
[...] ✓ should have the right title
...
[percy] Stopping percy...
[percy] Finalized build #1: https://percy.io/[your-project]
[percy] Done!

Посетите следующие страницы для получения дополнительной информации:

РесурсОписание
Официальная документацияДокументация Percy по WebdriverIO
Пример сборки - РуководствоРуководство Percy по WebdriverIO
Официальное видеоВизуальное тестирование с Percy
БлогПредставляем Visual Reviews 2.0

Welcome! How can I help?

WebdriverIO AI Copilot