Сервіс LambdaTest
wdio-lambdatest-service є пакетом третьої сторони, для отримання додаткової інформації дивіться GitHub | npm
Сервіс WebdriverIO, який керує тунелем та метаданими задач для користувачів LambdaTest.
Встановлення
npm i wdio-lambdatest-service --save-dev
Інструкції щодо встановлення WebdriverIO
можна знайти тут.
Конфігурація
WebdriverIO має вбудовану підтримку LambdaTest. Вам просто потрібно встановити user
та key
у вашому файлі wdio.conf.js
. Щоб увімкнути функцію для автоматизації додатків, встановіть product: 'appAutomation'
у вашому файлі wdio.conf.js
. Цей плагін сервісу підтримує LambdaTest Tunnel. Також встановіть tunnel: true
, щоб активувати цю функцію.
// wdio.conf.js
exports.config = {
// ...
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
logFile : './logDir/api.log',
product : 'appAutomation',
services: [
['lambdatest', {
tunnel: true
}]
],
// ...
};
Щоб отримати зауваження про помилки тесту на панелі автоматизації
Щоб отримати зауваження про помилки тесту на панелі автоматизації, просто додайте ltErrorRemark: true
у ваш wdio.conf.js
.
Щоб завантажити додаток з локального середовища або URL
Завантажуйте додатки android
або ios
з локального середовища або розміщеного URL-адреси додатка, додавши цю необхідну конфігурацію у вашому wdio.conf.js
. Щоб використовувати завантажений додаток для тестування у тому ж запуску, встановіть enableCapability = true
, це встановить значення URL-адреси додатка в можливостях.
// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //provide your desired app name
app_path : "/path/to/your/app/file", //provide the local app location
// or
app_url : "https://example.test_android.apk", //provide the url where your app is horsted or stored
custom_id : "12345", //provide your desired custom id
enableCapability : true
}
}
]
]
Опції
Для авторизації в сервісі LambdaTest ваша конфігурація повинна містити опції user
та key
.
tunnel
Встановіть це значення в true, щоб увімкнути маршрутизацію з'єднань з хмари LambdaTest через ваш комп'ютер. Вам також потрібно встановити tunnel
в true в можливостях браузера.
Тип: Boolean
За замовчуванням: false
lambdatestOpts
Вказані опції будуть передані в LambdaTest Tunnel.
Тип: Object
За замовчуванням: {}
Нижче наведено повний список всіх доступних опцій:
tunnelName
Визначає ім'я користувацького тунелю LambdaTest.
Приклад:
{"tunnelName": "my_custom_tunnel"}
port
Порт для активації LambdaTest Tunnel.
Приклад:
{"port": 33000}
user
Ім'я користувача LambdaTest.
Приклад:
{"user": "your_username"}
key
Ключ доступу LambdaTest.
Приклад:
{"key": "your_access_key"}
verbose
Чи повинен кожен запит проксі записуватися в stdout.
Приклад:
{"verbose": true}
logFile
Розташування файлу журналу LambdaTest Tunnel.
Приклад:
{"logFile": "/path/to/log/file"}
config
Шлях до конфігураційного файлу. Приклад:
{"config": "/path/to/config/file"}
dir
Вказує локальний каталог, який буде обслуговуватися файловим сервером на порту Tunnel.
Приклад:
{"dir": "/path/to/local/directory"}
proxyHost
Вказує ім'я хоста проксі-порту Tunnel.
Приклад:
{"proxyHost": "proxy.example.com"}
proxyUser
Вказує ім'я користувача проксі-порту Tunnel.
Приклад:
{"proxyUser": "your_proxy_username"}
proxyPass
Вказує пароль проксі-порту Tunnel.
Приклад:
{"proxyPass": "your_proxy_password"}
proxyPort
Вказує номер порту, на якому активується проксі Tunnel.
Приклад:
{"proxyPort": 8080}
egressOnly
Використовує налаштування проксі тільки для вихідних запитів.
Приклад:
{"egressOnly": true}
ingressOnly
Маршрутизує тільки вхідний трафік через вказаний проксі.
Приклад:
{"ingressOnly": true}
pacfile
Для використання PAC (Proxy Auto-Configuration) у локальному тестуванні, вкажіть шлях до PAC-файлу.
Приклад:
{"pacfile": "/path/to/pacfile"}
loadBalanced
Активує Балансування навантаження для LambdaTest Tunnel.
Приклад:
{"loadBalanced": true}
mode
Вказує, в якому режимі повинен працювати тунель "ssh" або "ws". (за замовчуванням "ssh").
Приклад:
{"mode": "ssh"}
sshConnType
Вказує тип ssh-з'єднання (over_22, over_443, over_ws). Щоб використовувати –sshConnType, спочатку вкажіть прапор ––mode ssh.
Приклад:
{"sshConnType": "over_22"}
maxSSHConnections
Збільшує кількість SSH-з'єднань від Tunnel Client до Tunnel Server. Максимально допустиме значення - 30.
Приклад:
{"maxSSHConnections": 2}
sharedTunnel
Спільне використання тунелю між членами команди.
Приклад:
{"sharedTunnel": true}
env
Середовище, на якому буде запущено LambdaTest Tunnel.
Приклад:
{"env": "production"}
infoAPIPort
Відкриває Tunnel Info API на вказаному порту.
Приклад:
{"infoAPIPort": 8080}
callbackURL
URL зворотного виклику для статусу тунелю.
Приклад:
{"callbackURL": "https://example.com/callback"}
allowHosts
Список хостів, розділених комами, для маршрутизації через тунель. Все інше буде маршрутизуватися через Інтернет.
Приклад:
{"allowHosts": "example.com,anotherexample.com"}
bypassHosts
Список хостів, розділених комами, для обходу тунелю. Вони будуть маршрутизовані через Інтернет.
Приклад:
{"bypassHosts": "example.com,anotherexample.com"}
clientCert
Шлях до файлу клієнтського сертифіката mTLS.
Приклад:
{"clientCert": "/path/to/client_certificate"}
clientKey
Шлях до файлу клієнтського ключа mTLS.
Приклад:
{"clientKey": "/path/to/client_key"}
mTLSHosts
Список хостів mTLS, розділених комами.
Приклад:
{"mTLSHosts": "example.com,anotherexample.com"}
dns
Список DNS-серверів, розділених комами.
Приклад:
{"dns": "8.8.8.8,8.8.4.4"}
mitm
Увімкнути режим MITM (Man-in-the-middle) для LambdaTest Tunnel.
Приклад:
{"mitm": true}
ntlm
Для використання аутентифікації Microsoft NTLM (Windows NT LAN Manager) для комунікації або транспортних цілей.
Приклад:
{"ntlm": true}
pidfile
Шлях до pidfile, куди буде записано ідентифікатор процесу.
Приклад:
{"pidfile": "/path/to/pidfile"}
usePrivateIp
Встановлює віддалену адресу на внутрішню IP-адресу клієнтської машини.
Приклад:
{"usePrivateIp": true}
Ви можете дізнатися більше про ці опції тут.
preferScenarioName
Тільки для Cucumber. Встановлює ім'я сесії в ім'я Сценарію, якщо запущено лише один Сценарій. Корисно при паралельному запуску з wdio-cucumber-parallel-execution.
Тип: Boolean
За замовчуванням: false
sessionNameFormat
Налаштовує формат імені сесії.
Тип: Function
За замовчуванням (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
За замовчуванням (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle
sessionNameOmitTestTitle
Тільки для Mocha. Не додає заголовок тесту до імені сесії.
Тип: Boolean
За замовчуванням: false
sessionNamePrependTopLevelSuiteTitle
Тільки для Mocha. Додає заголовок верхнього рівня набору перед іменем сесії.
Тип: Boolean
За замовчуванням: false
setSessionName
Автоматично встановлює ім'я сесії.
Тип: Boolean
За замовчуванням: true
setSessionStatus
Автоматично встановлює статус сесії (пройдено/не пройдено).
Тип: Boolean
За замовчуванням: true
ignoreTestCountInName
Ігнорує кількість повторних спроб тесту в імені
Тип: Boolean
За замовчуванням: false
useScenarioName
Щоб отримати імена тестів як імена сценаріїв для тестів Cucumber, просто додайте useScenarioName: true
у ваш wdio.conf.js
.
Кроки для компіляції та публікації
- клонувати цей репозиторій git.
- виконати "npm install"
- виконати "npm run build"
- Кроки для публікації: виконати "npm login"
- виконати "npm publish --access public"
Для отримання додаткової інформації про WebdriverIO див. домашню сторінку.