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

Сервис Sauce

Сервис WebdriverIO, который обеспечивает лучшую интеграцию с Sauce Labs. Этот сервис может использоваться для:

  • облачной платформы виртуальных машин Sauce Labs (Desktop Web/Emulator/Simulator)
  • облачной платформы реальных устройств Sauce Labs (iOS и Android)

Он может обновлять метаданные задания ('name'*, 'passed', 'tags', 'public', 'build', 'custom-data') и запускать Sauce Connect при необходимости.

Что еще этот сервис сделает для вас:

  • По умолчанию Sauce Service обновит 'name' задания при его запуске. Это даст вам возможность обновить имя в любой момент времени.
  • Вы можете определить параметр setJobName и настроить имя задания в соответствии с вашими возможностями, параметрами и названием набора тестов
  • Sauce Service также отправит стек ошибок неудачного теста на вкладку команд Sauce Labs
  • Он позволит автоматически настроить и запустить Sauce Connect
  • И он установит контекстные точки в вашем списке команд, чтобы идентифицировать, какие команды были выполнены в каком тесте

Installation

Самый простой способ - сохранить @wdio/sauce-service как devDependency в вашем package.json:

npm install @wdio/sauce-service --save-dev

Инструкции по установке WebdriverIO можно найти здесь.

Configuration

Чтобы использовать сервис для Virtual Desktop/Emulator/Simulator Machine и Real Device cloud, вам нужно установить user и key в вашем файле wdio.conf.js. Он автоматически будет использовать Sauce Labs для запуска ваших интеграционных тестов. Если вы запускаете тесты на Sauce Labs, вы можете указать регион, в котором хотите запускать тесты, через свойство region. Доступные сокращенные обозначения для регионов - us (по умолчанию) и eu. Эти регионы используются для облака виртуальных машин Sauce Labs и облака реальных устройств Sauce Labs. Если вы не укажете регион, по умолчанию будет использоваться us.

Если вы хотите, чтобы WebdriverIO автоматически запускал туннель Sauce Connect, вам нужно установить sauceConnect: true. Если вы хотите изменить центр обработки данных на ЕС, добавьте region:'eu', так как центр обработки данных в США установлен по умолчанию.

// wdio.conf.js
export const config = {
// ...
user: process.env.SAUCE_USERNAME,
key: process.env.SAUCE_ACCESS_KEY,
region: 'us', // или 'eu'
services: [
['sauce', {
sauceConnect: true,
sauceConnectOpts: {
// ...
}
}]
],
// ...
};

Если вы хотите использовать существующий туннель Sauce Connect, вам нужно предоставить только tunnelName. Если вы используете общий туннель, и вы не являетесь пользователем, создавшим туннель, вы должны указать пользователя Sauce Labs, который создал туннель, чтобы использовать его для вашего теста. Включите tunnelOwner в возможности следующим образом:

export const config = {
// ...
{
browserName: 'chrome',
platformName: 'Windows 10',
browserVersion: 'latest',
// Sauce options can be found here https://docs.saucelabs.com/dev/test-configuration-options/
'sauce:options': {
tunnelName: 'YourTunnelName',

// Example options
build: 'your-build-name',
screenResolution: '1600x1200',
// ...
},
},
// ...
};

Sauce Service Options

Для авторизации сервиса Sauce Labs ваша конфигурация должна содержать опции user и key.

maxErrorStackLength

Этот сервис автоматически отправляет стек ошибок в Sauce Labs при сбое теста. По умолчанию он отправляет только первые 5 строк, но при необходимости это можно изменить. Имейте в виду, что большее количество строк приведет к большему количеству вызовов WebDriver, что может замедлить выполнение.

Тип: number
По умолчанию: 5

sauceConnect

Если true, запускает Sauce Connect и открывает безопасное соединение между виртуальной машиной Sauce Labs, запускающей ваши тесты браузера.

Тип: Boolean
По умолчанию: false

sauceConnectOpts

Применение опций Sauce Connect (например, для изменения номера порта или настроек logFile). См. этот список для получения дополнительной информации.

ПРИМЕЧАНИЕ: При указании опций префикс -- следует опустить. Также можно использовать camelCase (например, shared-tunnel или sharedTunnel).

Тип: Object
По умолчанию: { }

uploadLogs

Если true, эта опция загружает все файлы журналов WebdriverIO на платформу Sauce Labs для дальнейшего анализа. Убедитесь, что у вас установлен outputDir в вашей конфигурации wdio для записи журналов в файлы, в противном случае данные будут передаваться в stdout и не смогут быть загружены.

Тип: Boolean
По умолчанию: true

setJobName

Позволяет пользователям динамически устанавливать имя задания на основе параметров рабочего процесса, таких как конфигурация WebdriverIO, используемые возможности и оригинальное название набора тестов.

Тип: Function
По умолчанию: (config, capabilities, suiteTitle) => suiteTitle


Переопределение сгенерированных метаданных имени

Сервис автоматически генерирует имя для каждого теста из названия набора тестов, имени браузера и другой информации.

Вы можете переопределить это, указав значение для возможности name, но это будет иметь побочный эффект в виде присвоения всем тестам одинакового имени.


Для получения дополнительной информации о WebdriverIO посетите домашнюю страницу.

Welcome! How can I help?

WebdriverIO AI Copilot