Sauce Service
Сервіс 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
- І він встановлює контекстні точки у вашому списку команд, щоб визначити, які команди були виконані в якому тесті
Встановлення
Найпростіший спосіб - тримати @wdio/sauce-service як devDependency у вашому package.json, через:
npm install @wdio/sauce-service --save-dev
Інструкції щодо встановлення WebdriverIO можна знайти т ут.
Налаштування
Щоб використовувати сервіс для Віртуальних Десктопних/Емуляторних/Симуляторних машин та хмари реальних пристроїв, вам потрібно встановити 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 до можливостей таким чином:
- Tunnel Name
- Tunnel Owner
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',
// ...
},
},
// ...
};
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: 'TunnelName',
tunnelOwner: '<username of owner>,
// Example options
build: 'your-build-name',
screenResolution: '1600x1200',
// ...
},
},
// ...
};
Опції Sauce Service
Для авторизації сервісу Sauce Labs ваша к онфігурація повинна містити опції user та key.
maxErrorStackLength
Цей сервіс автоматично надсилає стек помилок до Sauce Labs, коли тест не вдається. За замовчуванням, він буде надсилати лише перші 5 рядків, але за потреби це можна змінити. Майте на увазі, що більше рядків призведе до більшої кількості викликів WebDriver, що може сповільнити виконання.
Тип: number
За замовчуванням: 5
sauceConnect
Якщо true, запускає Sauce Connect і відкриває захищене з'єднання між віртуальною машиною Sauce Labs, яка запускає ваші тести браузера.
Тип: Boolean
За замовчуванням: false